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

Raft linearizable read optimization #14986

Merged

Conversation

@metanet
Copy link
Contributor

metanet commented May 7, 2019

With this optimization, queries (read-only operations) are executed
with linearizability but they are not appended to the Raft log. By this
way, we prevent the Raft log to grow and snapshots to be taken because
of read-only operations.

Even the CP Subsystem works only in memory for now, this optimization
results in ~25% improvement in throughput when the read/write ratio is 80/20.
We will see a much bigger difference when we have persistence.

@metanet metanet added this to the 4.0 milestone May 7, 2019
@metanet metanet requested a review from mdogan May 7, 2019
@mdogan mdogan added the Team: Core label May 7, 2019
metanet added 2 commits May 6, 2019
With this optimization, queries (read-only operations) are executed
with linearizability but they are not appended to the Raft log. By this
way, we prevent the Raft log to grow and snapshots to be taken because
of read-only operations.
Use the Raft query invocation mechanism for read-only methods of the CP
concurrency primitives. This is for utilizing the new linearizable read
optimization.
@metanet metanet force-pushed the metanet:raft-linearizable-read-optimization branch from 4327f1f to f47ea47 May 8, 2019
@metanet metanet force-pushed the metanet:raft-linearizable-read-optimization branch from f47ea47 to ebd9124 May 8, 2019
@mdogan
mdogan approved these changes May 8, 2019
Copy link
Member

mdogan left a comment

Good work...

@metanet metanet merged commit c83e174 into hazelcast:master May 9, 2019
1 check passed
1 check passed
default Test PASSed.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.