-
Notifications
You must be signed in to change notification settings - Fork 996
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 key prefix as an option to Redis cluster #975
Conversation
Since we may change prefix during project lifetime (with new release, for example), falling mechanism is needed to use both new & old prefixes. |
5c65bd8
to
dd04ec5
Compare
dd04ec5
to
c69e353
Compare
/test test-end-to-end |
/retest test-end-to-end |
/retest |
c69e353
to
e0508d0
Compare
/retest |
Field.newBuilder().setValue(intValue(1)).build(), | ||
Field.newBuilder().setValue(intValue(1)).build())) | ||
.build()); | ||
when(serializer.serialize(redisKeys.get(0))).thenReturn(serializedKey1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need to mock serializer? why not to use actual implementation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have replaced the mock serializer with actual implementation.
e0508d0
to
05a2306
Compare
/test test-end-to-end-batch |
/test test-end-to-end |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: khorshuheng, pyalex The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/lgtm |
What this PR does / why we need it:
There are scenarios where multiple Feast deployment are sharing the same Redis cluster, but key collision between the different deployment should be avoided. Since Redis cluster doesn't support database, attaching prefix to keys is a good workaround to achive namespacing.
To facilitate migration of redis keys from one prefix to another, fallback mechanism has also been introduced. If enabled, when a key is not found in the database, a fallback prefix can be used instead. However, this will results in more calls to Redis, and additional latency.
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?: