-
Notifications
You must be signed in to change notification settings - Fork 63
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
Inconsistent reads support #99
Comments
There's currently no way to configure that. When you disable What you're asking is a way to read from arbitrary nodes, which means there is practically NO guarantee about the data you read. For example, this could be a follower node that has just joined and did not get ANY data yet. Can you describe your use case, and why do you think that would be useful? |
Absolutely right. In my use case i mostly want write actions to be consistent, but its not important for read actions. Probably it is not very common use case. |
this is supported via debug commands. i.e. in our integration tests we do
i.e. redisraft/tests/integration/sandbox.py Lines 266 to 272 in 4d49063
I'm not sure if one would really want to do this in real life, but the support is already there for them to do it. |
391120db2 Refactor (RedisLabs#99) fc5030581 Add raft_get_state_str() to get state as string (RedisLabs#100) 38d64cae2 Make raft_recv_entry()'s response parameter optional (RedisLabs#98) git-subtree-dir: deps/raft git-subtree-split: 391120db265597e2b286f2a0596444c211c8c84b
bc37037bd Add raft_config() function for configuration (RedisLabs#102) c4e2dab18 Delete unused return value of raft_update_commit_idx() (RedisLabs#103) 391120db2 Refactor (RedisLabs#99) fc5030581 Add raft_get_state_str() to get state as string (RedisLabs#100) 38d64cae2 Make raft_recv_entry()'s response parameter optional (RedisLabs#98) git-subtree-dir: deps/raft git-subtree-split: bc37037bd8331351dd8468c6ac6f97bb29369d5a
JIRA ticket: https://redislabs.atlassian.net/browse/RR-318 |
TL;DR This is a request to support inconsistent reads, i.e. reads that can be served from any node rather than just the leader (in a quorum or non-quorum manner).
This is a risky feature but may have some value in certain use cases.
Right now i see i can use "follower-proxy" configuration to make redisraft proxy any commands to leader. Also i see that it is possible to disable quorum-reads. Even if i turn off quorum-reads, it mandatory to send all requests to leader node. How can i configure, or maybe edit sources to make it possible to read from every nore, even if it is lack of consistency.
The text was updated successfully, but these errors were encountered: