Hello Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/5055

to look at the new patch set (#3).

Change subject: KUDU-768 (part 1) - Move timestamp assignement out of Tablet
......................................................................

KUDU-768 (part 1) - Move timestamp assignement out of Tablet

Currently tablets are responsible for timestamp assignement. For safe
time to be correct consensus leaders need to be able to tell other
replicas what the safe time is and for that this to be correct
timestamp assignment needs to happen on Consensus::Replicate().
This because we need to avoid the race where the leader will read the
clock thinking that was the safe time but there was actually already
an operation in-flight with a lower timestamp that just haden't been
submitted to Consensus::Replicate().

This patch is a first step in that direction. It doesn't move timestamp
assignment into consensus yet, but it moves it from Tablet into the
TransactionDriver, which performs it just before Consensus::Replicate().

The main behavior change is that (outside of tests) all mvcc
transactions now have a pre-assigned timestamp, whereas before only the
follower was had that behavior. By making this change this patch proves
that this stragey is feasible.

This doesn't actually gut MvccManager to remove the multiple modes of
starting a ScopedTransaction as some tests still require that. Follow
patches will remove that test dependency.

Change-Id: I3ba7212f9211f585d4bef00e5ccfc24d5eece224
---
M src/kudu/tablet/local_tablet_writer.h
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_peer.cc
M src/kudu/tablet/transactions/transaction_driver.cc
M src/kudu/tablet/transactions/transaction_driver.h
M src/kudu/tablet/transactions/transaction_tracker-test.cc
7 files changed, 49 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/55/5055/3
-- 
To view, visit http://gerrit.cloudera.org:8080/5055
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I3ba7212f9211f585d4bef00e5ccfc24d5eece224
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves <dral...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot

Reply via email to