Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add: Redis CCR feature #76

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Conversation

harshini-rangaswamy
Copy link
Contributor

@harshini-rangaswamy harshini-rangaswamy commented Feb 20, 2024

Describe your changes

Content for the Redis cross-cluster replication (CCR) feature as part of the Pro Platform.
DOC-853

Checklist

  • The first paragraph of the page is on one line.
  • The other lines have a line break at 90 characters.
  • I checked the output.
  • I applied the style guide.
  • My links start with /docs/.

@harshini-rangaswamy harshini-rangaswamy marked this pull request as ready for review February 20, 2024 17:14
Copy link

cloudflare-workers-and-pages bot commented Feb 20, 2024

Deploying aiven-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 391c499
Status: ✅  Deploy successful!
Preview URL: https://a93a2b3c.aiven-docs.pages.dev
Branch Preview URL: https://harshini-redis-ccr.aiven-docs.pages.dev

View logs

@harshini-rangaswamy harshini-rangaswamy added the review/SME An SME must review the PR. label Feb 20, 2024
@harshini-rangaswamy harshini-rangaswamy self-assigned this Feb 20, 2024
Copy link
Contributor

@bogdanp05 bogdanp05 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should only be merged once we actually enable Redis CCR for pro-platform users, right? Which we haven't done yet.

normal conditions.

**Handling failures:** In case of any failure of the primary service, Aiven provides
automatic failover functionality, which promotes the replica service to become
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's not automatic afaik. I never implemented this feature and I don't know if it was a pre-existing feature of the integration type.
Manual promotion of the replica service does work, though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the failover process is manual, could you provide more details and steps on how users can promote a replica to primary during a primary cluster failure?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

they need to delete the service integration either via REST calls or with the aiven client (which does the same calls under the hood).

## Limitations

- This feature requires `[Pro Platform](/docs/platform/concepts/pro-platform)`.
- Aiven for Redis CCR follows an active-passive model, which means that only the data
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's actually not possible to write data in the replica service at all while the integration is active.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm, when you say “it’s not possible to write data in the replica service during active integration”, are you suggesting that in Aiven for Redis CCR’s active-passive model, all new data is added to the primary service first and then replicated to the replica service? Could you please confirm or provide more details if necessary?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about rewording it to this:

Aiven for Redis CCR uses an active-passive model where data can be written only to the primary service and then replicated to the replica service.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. And the rewrite looks good.

ingested in the primary service gets replicated.
- Aiven for Redis services only support replication within their own service type.
Cross-service replication to or from Aiven for Dragonfly services is not supported.
- Enabling up CCR for Aiven for Redis is only possible via API/CLI, with console support
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Console support is a one day job. I actually implemented it myself just for demo purposes. I assumed when we launch this, we would also have console support, or?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the feature support is available on the Aiven console at the time of release, I can include it in the documentation. However, as per the information provided by @hoang-vo, the console updates were expected to be released in the next quarter or so.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh ok, we can confirm with Hoang once he's back.

following API call:

```shell
curl -X POST https://api.aiven.io/v1/project/PROJECT_NAME/service \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

commands looks good but didn't run them myself now. I assume you did and they work?

Copy link
Contributor Author

@harshini-rangaswamy harshini-rangaswamy Feb 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't either; I based it on the examples in other services (cassandra, for example).


## Manage failover

If the primary service fails, Aiven automatically promotes the replica service to the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same point as above about automatic failover. To manually promote the replica to master, you'd have to delete the integration.

@harshini-rangaswamy harshini-rangaswamy added the review/awaitingRelease All reviews are completed. label Feb 23, 2024
@harshini-rangaswamy
Copy link
Contributor Author

this should only be merged once we actually enable Redis CCR for pro-platform users, right? Which we haven't done yet.

this should only be merged once we actually enable Redis CCR for pro-platform users, right? Which we haven't done yet.

Yes, this is part of the pro platform, which is now called Aiven Enterprise. Keep the docs ready so when the feature is merged, we can publish the docs alongside.

@harshini-rangaswamy harshini-rangaswamy requested a review from a team as a code owner June 4, 2024 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review/awaitingRelease All reviews are completed. review/SME An SME must review the PR. service/caching
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants