kvrocks
kvrocks copied to clipboard
add semi sync function for kvrocks
Added a basic infrastructure code to kvrocks in order to support semi sync function.
Config change: semi-sync-enable (yes/no) : open/close the semi sync function. semi-sync-wait-for-slave-count (Integer): set how many slaves should response an action at least.
The PR only includes how to handle multi ack on local. In this situation, a write transaction will return when put replication data into write buffer. We can extend the function to wait until slaves send ack back actually in future.
cool~ @bitleak/kvrocks-core-team
Many thanks for @popunit contributing the amazing PR, I think we shouldn't emit any events when the semi-sync was disabled, since too many events may affect the performance.
src/semisync_master.cc && src/semisync_master.h is needed in CMakeLists.txt target_sources
@popunit truly thanks for your PR, but so big PR, it is hard to review, could you mind write your design and implementation details?
@popunit truly thanks for your PR, but so big PR, it is hard to review, could you mind write your design and implementation details?
sorry, my fault to close just now. i reopen again. @ShooterIT ok, i have one but without details, i need to take some time to complete.
@popunit truly thanks for your PR, but so big PR, it is hard to review, could you mind write your design and implementation details?
sorry, my fault to close just now. i reopen again. @ShooterIT ok, i have one but without details, i need to take some time to complete.
TRocks Semi-Sync.pdf @ShooterIT i wrote a version but it's not detailed enough. you guys can review it first. i'm gonna fix code follow suggestion later
update pr
Closed as stale.
Sorry that we don't catch up on this patch timely. @popunit you're welcome to propose the changes again based on the nightly unstable branch.