Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/5240 to look at the new patch set (#9). Change subject: WIP: Support safe time advancement on replicas in the absense of writes ...................................................................... WIP: Support safe time advancement on replicas in the absense of writes Mostly getting some jenkins mileage but the design should be close to the final one. This is a WIP that needs to be broken down further but that summarily adds the following: - Add a TimeManager class: This class is responsible for tracking safe time advancement on leaders and replicas. - Removes the clock from MvccManager - Since safe time is now managed by the TimeManager there is no need for Mvcc to have one internally. - Changes how we wait for "all committed" in MvccManager. Previously we would wait for a clean snapshot. Now we instead wait for all transactions before the timestamp to be committed even if the clean timestamp doesn't advance. This is because without leader leases the safe time can go back, but moving the clean time back would break a lot of things internally. - Plugs the TimeManager in consensus/queue and calls its methods appropriately. Change-Id: I8532fdb069c8bee7f3e08ffe74cab0273885cc8e --- M src/kudu/consensus/CMakeLists.txt M src/kudu/consensus/consensus.h M src/kudu/consensus/consensus.proto M src/kudu/consensus/consensus_peers-test.cc M src/kudu/consensus/consensus_queue-test.cc M src/kudu/consensus/consensus_queue.cc M src/kudu/consensus/consensus_queue.h M src/kudu/consensus/raft_consensus.cc M src/kudu/consensus/raft_consensus.h M src/kudu/consensus/raft_consensus_quorum-test.cc A src/kudu/consensus/time_manager-test.cc A src/kudu/consensus/time_manager.cc A src/kudu/consensus/time_manager.h M src/kudu/integration-tests/raft_consensus-itest.cc M src/kudu/tablet/compaction-test.cc M src/kudu/tablet/deltamemstore-test.cc M src/kudu/tablet/diskrowset-test-base.h M src/kudu/tablet/major_delta_compaction-test.cc M src/kudu/tablet/memrowset-test.cc M src/kudu/tablet/mvcc-test.cc M src/kudu/tablet/mvcc.cc M src/kudu/tablet/mvcc.h M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet_peer.cc M src/kudu/tablet/tablet_peer.h M src/kudu/tablet/transactions/alter_schema_transaction.cc M src/kudu/tablet/transactions/transaction_driver.cc M src/kudu/tablet/transactions/write_transaction.cc M src/kudu/tablet/transactions/write_transaction.h M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tablet_service.h 31 files changed, 626 insertions(+), 214 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/40/5240/9 -- To view, visit http://gerrit.cloudera.org:8080/5240 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I8532fdb069c8bee7f3e08ffe74cab0273885cc8e Gerrit-PatchSet: 9 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org>