[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 12: -Verified

Build Started http://104.196.14.100/job/kudu-gerrit/2141/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 12
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 12:

Build Started http://104.196.14.100/job/kudu-gerrit/2136/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 12
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 11:

Build Started http://104.196.14.100/job/kudu-gerrit/2126/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 11
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread David Ribeiro Alves (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
M src/kudu/tserver/tablet_service.cc
A src/kudu/util/barrier.h
8 files changed, 374 insertions(+), 80 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/19/3519/11
-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 11
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 10:

Build Started http://104.196.14.100/job/kudu-gerrit/2119/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 10
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread David Ribeiro Alves (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
M src/kudu/tserver/tablet_service.cc
A src/kudu/util/barrier.h
8 files changed, 354 insertions(+), 76 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/19/3519/10
-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 10
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread David Ribeiro Alves (Code Review)
David Ribeiro Alves has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 9:

(10 comments)

http://gerrit.cloudera.org:8080/#/c/3519/9/src/kudu/consensus/consensus_peers.cc
File src/kudu/consensus/consensus_peers.cc:

PS9, Line 57: DEFINE_double
remove


PS9, Line 237: MAYBE_FAULT
remove


http://gerrit.cloudera.org:8080/#/c/3519/9/src/kudu/integration-tests/raft_consensus-itest.cc
File src/kudu/integration-tests/raft_consensus-itest.cc:

PS9, Line 1067: TEST_F
add crashes and bootstraps to this test


http://gerrit.cloudera.org:8080/#/c/3519/9/src/kudu/rpc/result_tracker.cc
File src/kudu/rpc/result_tracker.cc:

PS9, Line 108: ChangeDriver
doc this better


PS9, Line 116: ClientState
add a find completion record or null


Line 128:   completion_record->ongoing_rpcs.push_back({nullptr,
add a comment explaining this.


http://gerrit.cloudera.org:8080/#/c/3519/9/src/kudu/rpc/result_tracker.h
File src/kudu/rpc/result_tracker.h:

PS9, Line 63: The
add info about the invariants


PS9, Line 65: If
add info about handlers and drivers, etc


http://gerrit.cloudera.org:8080/#/c/3519/9/src/kudu/tablet/transactions/transaction_driver.cc
File src/kudu/tablet/transactions/transaction_driver.cc:

PS9, Line 213: while
doc this better


http://gerrit.cloudera.org:8080/#/c/3519/9/src/kudu/tserver/tablet_service.cc
File src/kudu/tserver/tablet_service.cc:

PS9, Line 294: //
remove


-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread David Ribeiro Alves (Code Review)
David Ribeiro Alves has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 9:

TSAN is failing not because of failing tests but because of a race due to the 
changes to raft_consensus-itest. Will look into it tomorrow.

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 9:

Build Started http://104.196.14.100/job/kudu-gerrit/2117/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread David Ribeiro Alves (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
M src/kudu/tserver/tablet_service.cc
A src/kudu/util/barrier.h
8 files changed, 353 insertions(+), 76 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/19/3519/9
-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 9
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 8: -Verified

Build Started http://104.196.14.100/job/kudu-gerrit/2116/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread David Ribeiro Alves (Code Review)
David Ribeiro Alves has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 8:

hum, seems like a flake, RaftConsensusITest.TestReplaceChangeConfigOperation 
will retrigger anyway

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread David Ribeiro Alves (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
M src/kudu/tserver/tablet_service.cc
A src/kudu/util/barrier.h
8 files changed, 351 insertions(+), 76 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/19/3519/8
-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 8:

Build Started http://104.196.14.100/job/kudu-gerrit/2115/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread David Ribeiro Alves (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
M src/kudu/tserver/tablet_service.cc
A src/kudu/util/barrier.h
8 files changed, 351 insertions(+), 76 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/19/3519/7
-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 7
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] WIP: Integration test for replay cache

2016-06-30 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 7:

Build Started http://104.196.14.100/job/kudu-gerrit/2114/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 7
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-29 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 6:

Build Started http://104.196.14.100/job/kudu-gerrit/2112/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-29 Thread David Ribeiro Alves (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
M src/kudu/tserver/tablet_service.cc
7 files changed, 271 insertions(+), 76 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/19/3519/6
-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] WIP: Integration test for replay cache

2016-06-29 Thread David Ribeiro Alves (Code Review)
David Ribeiro Alves has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 5:

thanks for taking a look. I can certainly spend some time elaborating on the 
invariants. Regarding the one you mention yes, that is correct, there's a check 
to make sure that's true.

weird that it doesn't trigger elections for you. my logs are full of elections, 
for instance I just did one run that got to term 500

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-29 Thread Todd Lipcon (Code Review)
Todd Lipcon has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 5:

Been looking at the new test and the code for the last couple hours.

A couple concerns I have from running the test:
- at least on my system, it doesn't trigger any leader elections. Perhaps we 
need a thread which is randomly cycling through the tservers and stopping them? 
Or explicitly call StartElection to force term bumps and re-elections?
- I ran it through coverage, and perhaps due to the above, there are some lines 
in ResultTracker that aren't covered. For example, in 
RecordCompletionAndRespond:

24820:  225:if (MustHandleRpc(handler_attempt_no, completion_record, 
ongoing_rpc)) {
12410:  226:  if (ongoing_rpc.context != nullptr) {
11873:  227:if (PREDICT_FALSE(ongoing_rpc.response != response)) {
 3746:  228:  
ongoing_rpc.response->CopyFrom(*completion_record->response);
 1873:  229:}
11873:  230:LogAndTraceAndRespondSuccess(ongoing_rpc.context, 
*ongoing_rpc.response);
11873:  231:  }
24820:  232:  orpc_iter = 
completion_record->ongoing_rpcs.erase(orpc_iter);
12410:  233:} else {
#:  234:  ++orpc_iter;
-:  235:}
-:  236:  }
3:  237:}


( indicates a non-covered line). Not sure yet whether this line is actually 
impossible to hit, or just not hit due to a test deficiency.

Will keep reading through this trying to fully understand what's going on. To 
aid that, one suggestion is to do another pass over the ResultTracker API and 
explain some more of the invariants. For example: if one thread uses 
ChangeDriver, what requirements does that impose on the previous driver? (I 
think it means that the previous driver must not call RecordSuccess, and it's 
up to the caller to ensure that the previous driver can't succeed if a new 
driver steals it?)

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-29 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 5:

Build Started http://104.196.14.100/job/kudu-gerrit/2111/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-29 Thread David Ribeiro Alves (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
M src/kudu/tserver/tablet_service.cc
7 files changed, 271 insertions(+), 76 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/19/3519/5
-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins


[kudu-CR] WIP: Integration test for replay cache

2016-06-29 Thread David Ribeiro Alves (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
M src/kudu/tserver/tablet_service.cc
7 files changed, 270 insertions(+), 77 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/19/3519/4
-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins


[kudu-CR] WIP: Integration test for replay cache

2016-06-29 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 4:

Build Started http://104.196.14.100/job/kudu-gerrit/2110/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-29 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 3:

Build Started http://104.196.14.100/job/kudu-gerrit/2107/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-29 Thread David Ribeiro Alves (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
M src/kudu/tserver/tablet_service.cc
7 files changed, 267 insertions(+), 77 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins


[kudu-CR] WIP: Integration test for replay cache

2016-06-28 Thread David Ribeiro Alves (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
6 files changed, 215 insertions(+), 43 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/19/3519/2
-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins


[kudu-CR] WIP: Integration test for replay cache

2016-06-28 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 2:

Build Started http://104.196.14.100/job/kudu-gerrit/2086/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-28 Thread Kudu Jenkins (Code Review)
Kudu Jenkins has posted comments on this change.

Change subject: WIP: Integration test for replay cache
..


Patch Set 1:

Build Started http://104.196.14.100/job/kudu-gerrit/2082/

-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] WIP: Integration test for replay cache

2016-06-28 Thread David Ribeiro Alves (Code Review)
David Ribeiro Alves has uploaded a new change for review.

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

Change subject: WIP: Integration test for replay cache
..

WIP: Integration test for replay cache

This adds a new integration test for replay cache that writes to all
replicas of a tablet at the same time. This uses the fact that all replicas
must eventually agree, and once the result is stored in replay cache,
followers can also reply to rpc's, to store all the responses obtained from
all the replicas, for the same rpcs. This then proceeds to make sure the
responses are the same.

WIP because it needs cleanup and pulling of some suff to other patches.

Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/transactions/transaction_driver.cc
6 files changed, 212 insertions(+), 43 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/19/3519/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3519
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I35722eb1c83f97e886cfe9d6b03ed95bcd62429f
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves