[kudu-CR](branch-0.10.x) Change to non-SNAPSHOT version on 0.10.x branch

2016-08-15 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: Change to non-SNAPSHOT version on 0.10.x branch
..


Change to non-SNAPSHOT version on 0.10.x branch

Change-Id: I3f8f60893a426388c7c257ae165f9f7e34142d5a
Reviewed-on: http://gerrit.cloudera.org:8080/4001
Reviewed-by: Mike Percy 
Tested-by: Todd Lipcon 
---
M java/interface-annotations/pom.xml
M java/kudu-client-tools/pom.xml
M java/kudu-client/pom.xml
M java/kudu-csd/pom.xml
M java/kudu-flume-sink/pom.xml
M java/kudu-mapreduce/pom.xml
M java/kudu-spark/pom.xml
M java/pom.xml
M version.txt
9 files changed, 9 insertions(+), 9 deletions(-)

Approvals:
  Mike Percy: Looks good to me, approved
  Todd Lipcon: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I3f8f60893a426388c7c257ae165f9f7e34142d5a
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: branch-0.10.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Bump version to 1.0.0-SNAPSHOT

2016-08-15 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: Bump version to 1.0.0-SNAPSHOT
..


Bump version to 1.0.0-SNAPSHOT

Change-Id: I555d01b7704f4bd71559207520b68f64d58cd66c
Reviewed-on: http://gerrit.cloudera.org:8080/4000
Reviewed-by: Mike Percy 
Tested-by: Kudu Jenkins
---
M java/interface-annotations/pom.xml
M java/kudu-client-tools/pom.xml
M java/kudu-client/pom.xml
M java/kudu-csd/pom.xml
M java/kudu-flume-sink/pom.xml
M java/kudu-mapreduce/pom.xml
M java/kudu-spark/pom.xml
M java/pom.xml
M version.txt
9 files changed, 10 insertions(+), 10 deletions(-)

Approvals:
  Mike Percy: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I555d01b7704f4bd71559207520b68f64d58cd66c
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR](branch-0.10.x) Change to non-SNAPSHOT version on 0.10.x branch

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

Change subject: Change to non-SNAPSHOT version on 0.10.x branch
..


Patch Set 1: Verified+1

Same dist-test/isolate flakiness seen earlier

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I3f8f60893a426388c7c257ae165f9f7e34142d5a
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-0.10.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR](branch-0.10.x) Change to non-SNAPSHOT version on 0.10.x branch

2016-08-15 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: Change to non-SNAPSHOT version on 0.10.x branch
..


Patch Set 1: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I3f8f60893a426388c7c257ae165f9f7e34142d5a
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-0.10.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-HasComments: No


[kudu-CR] Bump version to 1.0.0-SNAPSHOT

2016-08-15 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: Bump version to 1.0.0-SNAPSHOT
..


Patch Set 1: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I555d01b7704f4bd71559207520b68f64d58cd66c
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-HasComments: No


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

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

Change subject: KUDU-236 (part 1). Implement tablet history GC
..


Patch Set 16:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3076/16/src/kudu/tablet/compaction.cc
File src/kudu/tablet/compaction.cc:

Line 958: is_garbage_collected = true;
> Look below at the comment and the DCHECK several lines below. It says it's 
It's not possible down below, because _after_ the flush starts, you can't get a 
_new_ reinsert. But you can have existing deltas in the 'REDO' list which are 
DELETE/REINSERT in the case of an MRS which has had alternating delete/insert 
_prior_ to the flush starting.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 16
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR](branch-0.10.x) Change to non-SNAPSHOT version on 0.10.x branch

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

Change subject: Change to non-SNAPSHOT version on 0.10.x branch
..


Patch Set 1:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I3f8f60893a426388c7c257ae165f9f7e34142d5a
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-0.10.x
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR](branch-0.10.x) Change to non-SNAPSHOT version on 0.10.x branch

2016-08-15 Thread Todd Lipcon (Code Review)
Todd Lipcon has uploaded a new change for review.

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

Change subject: Change to non-SNAPSHOT version on 0.10.x branch
..

Change to non-SNAPSHOT version on 0.10.x branch

Change-Id: I3f8f60893a426388c7c257ae165f9f7e34142d5a
---
M java/interface-annotations/pom.xml
M java/kudu-client-tools/pom.xml
M java/kudu-client/pom.xml
M java/kudu-csd/pom.xml
M java/kudu-flume-sink/pom.xml
M java/kudu-mapreduce/pom.xml
M java/kudu-spark/pom.xml
M java/pom.xml
M version.txt
9 files changed, 9 insertions(+), 9 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3f8f60893a426388c7c257ae165f9f7e34142d5a
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: branch-0.10.x
Gerrit-Owner: Todd Lipcon 


[kudu-CR] Bump version to 1.0.0-SNAPSHOT

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

Change subject: Bump version to 1.0.0-SNAPSHOT
..


Patch Set 1:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I555d01b7704f4bd71559207520b68f64d58cd66c
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] Bump version to 1.0.0-SNAPSHOT

2016-08-15 Thread Todd Lipcon (Code Review)
Hello Adar Dembo,

I'd like you to do a code review.  Please visit

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

to review the following change.

Change subject: Bump version to 1.0.0-SNAPSHOT
..

Bump version to 1.0.0-SNAPSHOT

Change-Id: I555d01b7704f4bd71559207520b68f64d58cd66c
---
M java/interface-annotations/pom.xml
M java/kudu-client-tools/pom.xml
M java/kudu-client/pom.xml
M java/kudu-csd/pom.xml
M java/kudu-flume-sink/pom.xml
M java/kudu-mapreduce/pom.xml
M java/kudu-spark/pom.xml
M java/pom.xml
M version.txt
9 files changed, 10 insertions(+), 10 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I555d01b7704f4bd71559207520b68f64d58cd66c
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

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

Change subject: KUDU-236 (part 1). Implement tablet history GC
..


Patch Set 17:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 17
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

2016-08-15 Thread Mike Percy (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: KUDU-236 (part 1). Implement tablet history GC
..

KUDU-236 (part 1). Implement tablet history GC

This patch defines the concept of an "ancient history mark" (AHM) and a
background job that removes history from disk that represents changes
occurring prior to the ancient history mark.

There is also a mechanism to reject requests for scans if they attempt
to open a snapshot scan at a timestamp prior to the AHM.

Included tests:

* Test for Redo GC via major delta compaction
* Test for history GC via tablet flush
* Test for Undo GC via merge compaction
* Test for entire-row GC via merge compaction
* Test for ghost rows in multiple RS reinsert case
* Test for reupdating missed deltas
* Test for partial rowset history GC using alternating rows
* Test for major delta compaction against a subset of columns
* Test for opening a scanner at TS < AHM and rejecting that scanner at
  the RPC level

Tests coming in a follow-up commit:

* Randomized test

Missing features coming in follow-up commits:

* Background task that schedules and performs undo GC
* GC history on delta flush

Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
---
M src/kudu/common/timestamp.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/tablet_history_gc-itest.cc
M src/kudu/server/clock.h
M src/kudu/server/hybrid_clock.cc
M src/kudu/server/hybrid_clock.h
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/compaction-test.cc
M src/kudu/tablet/compaction.cc
M src/kudu/tablet/compaction.h
M src/kudu/tablet/delta_compaction.cc
M src/kudu/tablet/delta_compaction.h
M src/kudu/tablet/diskrowset.cc
M src/kudu/tablet/diskrowset.h
M src/kudu/tablet/mutation.h
M src/kudu/tablet/rowset_metadata.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet-test-base.h
M src/kudu/tablet/tablet-test-util.h
M src/kudu/tablet/tablet-test.cc
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
A src/kudu/tablet/tablet_history_gc-test.cc
M src/kudu/tserver/tablet_service.cc
24 files changed, 946 insertions(+), 153 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/76/3076/17
-- 
To view, visit http://gerrit.cloudera.org:8080/3076
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 17
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

2016-08-15 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: KUDU-236 (part 1). Implement tablet history GC
..


Patch Set 16:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/3076/16/src/kudu/tablet/compaction-test.cc
File src/kudu/tablet/compaction-test.cc:

Line 215: 
> some spurious whitespace added
will fix


PS16, Line 387: r
> unused
Done


http://gerrit.cloudera.org:8080/#/c/3076/16/src/kudu/tablet/compaction.cc
File src/kudu/tablet/compaction.cc:

Line 958: is_garbage_collected = true;
> I don't think this is quite right, because you might hit a REINSERT delta h
Look below at the comment and the DCHECK several lines below. It says it's not 
possible.


Line 1038:   if (is_garbage_collected) {
> think this is better written: if (!is_garbage_collected) output_row_offset+
Will do.


http://gerrit.cloudera.org:8080/#/c/3076/16/src/kudu/tablet/tablet_history_gc-test.cc
File src/kudu/tablet/tablet_history_gc-test.cc:

Line 418:   // Delete every even row.
> per elsewhere, I think this test would catch another bug if you do some of 
see my comment on the other file


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

Gerrit-MessageType: comment
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 16
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

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

Change subject: KUDU-236 (part 1). Implement tablet history GC
..


Patch Set 16:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/3076/16/src/kudu/tablet/compaction-test.cc
File src/kudu/tablet/compaction-test.cc:

Line 215: 
some spurious whitespace added


PS16, Line 387: r
unused


http://gerrit.cloudera.org:8080/#/c/3076/16/src/kudu/tablet/compaction.cc
File src/kudu/tablet/compaction.cc:

Line 958: is_garbage_collected = true;
I don't think this is quite right, because you might hit a REINSERT delta here 
in the case of flushing an MRS.

EG if the MRS has a base row, plus a DELETE plus a REINSERT, and the DELETE is 
at a GCable timestamp, we still didn't actually GC the whole row. I think we 
need to keep running through the deltas until we see whether the _last_ one is 
a GCable DELETE

(would be good to add a test for this case too)


Line 1038:   if (is_garbage_collected) {
think this is better written: if (!is_garbage_collected) output_row_offset++;


http://gerrit.cloudera.org:8080/#/c/3076/16/src/kudu/tablet/tablet_history_gc-test.cc
File src/kudu/tablet/tablet_history_gc-test.cc:

Line 418:   // Delete every even row.
per elsewhere, I think this test would catch another bug if you do some of the 
deletes (and reinsert) while they're still in MRS.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 16
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

2016-08-15 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Add time/watermark based garbage collection to ResultTracker

This adds time and watermark based garbage collection to the
ResultTracker.  Regarding time GC, there are two ttl's, a client ttl and
a response ttl.

After the response ttl has elapsed, we garbage collect responses
but the ResultTracker remembers that it doesn't know them, so if
the client retries a request older than that it gets a meaningful
error back, stating that the request is stale.

After the client ttl period without hearing back from a client,
we GC the client state entirely, meaning all requests from that
client will be treated as new.

Regarding watermark GC the algorithm is simple, we trust the client to
tell us what's its lowest incomplete sequence number and we GC
everything below that.

This adds a simple test that makes sure this basically works, and adds a
multithreaded test that runs GC at the same time as writes.

NOTE: this does not wire the time-based garbage collection process into
the server itself -- it's currently only triggered by the included
tests.

Original patch by David.
Some changes by Todd.

Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Reviewed-on: http://gerrit.cloudera.org:8080/3628
Reviewed-by: Adar Dembo 
Tested-by: Todd Lipcon 
---
M src/kudu/integration-tests/exactly_once_writes-itest.cc
M src/kudu/rpc/CMakeLists.txt
A src/kudu/rpc/exactly_once_rpc-test.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/retriable_rpc.h
D src/kudu/rpc/rpc-stress-test.cc
M src/kudu/rpc/rpc_header.proto
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/tablet_bootstrap.cc
M src/kudu/tablet/transactions/transaction_driver.cc
11 files changed, 797 insertions(+), 428 deletions(-)

Approvals:
  Adar Dembo: Looks good to me, approved
  Todd Lipcon: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 19
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Start a background thread to run ResultTracker GC

2016-08-15 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: Start a background thread to run ResultTracker GC
..


Start a background thread to run ResultTracker GC

Change-Id: Ia34ce95e78920596eb8b9db53643845f637c8e6c
Reviewed-on: http://gerrit.cloudera.org:8080/3961
Reviewed-by: Adar Dembo 
Tested-by: Kudu Jenkins
---
M src/kudu/rpc/exactly_once_rpc-test.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/server/server_base.cc
5 files changed, 54 insertions(+), 25 deletions(-)

Approvals:
  Adar Dembo: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia34ce95e78920596eb8b9db53643845f637c8e6c
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 18: Verified+1

the test failure was some weird dist-test flakiness that I'm looking into 
separately. Overriding since this got a bunch of prior jenkins +1s with only 
surface-level changes since then

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 18
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] tool: rewrite parser logic

2016-08-15 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: tool: rewrite parser logic
..


tool: rewrite parser logic

While leaf and non-leaf actions share some common properties, there is much
they don't share. Rather than shoehorn both into the same Action paradigm, I
think it makes more sense to consider them separately.

This patch splits Action into either Mode (non-leaf node) or Action (leaf
node). The common properties are now found in the Label struct.
Additionally, each kind of node is now structured as a class with proper
encapsulation, builders, and other goodies. Overall this simplifies the
command line parsing logic, hides more internal details, and reduces the
boilerplate needed to add a mode or an action.

There's no change to the tool's interface with the outside world.

Change-Id: I794fc527525a57283f0165e262283adf14160def
Reviewed-on: http://gerrit.cloudera.org:8080/3996
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon 
---
M src/kudu/tools/tool_action.cc
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_fs.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_main.cc
5 files changed, 333 insertions(+), 200 deletions(-)

Approvals:
  Todd Lipcon: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 17:

(1 comment)

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

Line 348:   completion_record->last_updated = MonoTime::Now();
> Yes, but what of the inverse: if MustHandleRpc==false for all ongoing RPCs,
yea, but the record was still "touched" in a sense, so it's still good to bump 
its expiration time I think. Maybe "last_touched" would be a better name


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 17
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] tool: rewrite parser logic

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

Change subject: tool: rewrite parser logic
..


Patch Set 3: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 18: Code-Review+2

(1 comment)

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

Line 348:   int64_t seq_no = request_id.seq_no();
> not convinced of this one -- if we moved it inside the loop, it might get u
Yes, but what of the inverse: if MustHandleRpc==false for all ongoing RPCs, 
we're changing last_updated for a CR that didn't actually change.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 18
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] tool: rewrite parser logic

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: tool: rewrite parser logic
..


Patch Set 3:

> looks good but the patch it's based on seems to have exploded.

Yeah, I rebased to switch the order around. And I thought _that_ patch was the 
non-controversial one. Guess it needs more work.

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] tool: rewrite parser logic

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

Change subject: tool: rewrite parser logic
..


Patch Set 3:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] tool: rewrite parser logic

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

Change subject: tool: rewrite parser logic
..


Patch Set 2: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] tool: rewrite parser logic

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

Change subject: tool: rewrite parser logic
..


Patch Set 2:

looks good but the patch it's based on seems to have exploded.

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] integration tests: end-to-end master permanent failure test

2016-08-15 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: integration_tests: end-to-end master permanent failure test
..


integration_tests: end-to-end master permanent failure test

This commit defines a workflow for handling master permanent failures, and
includes an integration test to execute it. In production, the workflow will
be run manually by an admin, or via a script.

As part of this change, I added support for optional parameters to the new
CLI tool. It was straight-forward to reuse gflags for this.

Still to come: CLI help for positional (i.e. required) parameters.

Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
Reviewed-on: http://gerrit.cloudera.org:8080/3969
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon 
---
M src/kudu/client/client-test-util.cc
M src/kudu/integration-tests/master_failover-itest.cc
M src/kudu/integration-tests/master_migration-itest.cc
M src/kudu/tools/tool_action.cc
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_fs.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_main.cc
8 files changed, 218 insertions(+), 31 deletions(-)

Approvals:
  Todd Lipcon: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] integration tests: end-to-end master permanent failure test

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

Change subject: integration_tests: end-to-end master permanent failure test
..


Patch Set 4: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 18:

kicked off dist-test runs with 1000 of each of the integration tests here:
http://dist-test.cloudera.org/job?job_id=todd.1471323037.16714
http://dist-test.cloudera.org/job?job_id=todd.1471323329.17166

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 18
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

2016-08-15 Thread Todd Lipcon (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..

Add time/watermark based garbage collection to ResultTracker

This adds time and watermark based garbage collection to the
ResultTracker.  Regarding time GC, there are two ttl's, a client ttl and
a response ttl.

After the response ttl has elapsed, we garbage collect responses
but the ResultTracker remembers that it doesn't know them, so if
the client retries a request older than that it gets a meaningful
error back, stating that the request is stale.

After the client ttl period without hearing back from a client,
we GC the client state entirely, meaning all requests from that
client will be treated as new.

Regarding watermark GC the algorithm is simple, we trust the client to
tell us what's its lowest incomplete sequence number and we GC
everything below that.

This adds a simple test that makes sure this basically works, and adds a
multithreaded test that runs GC at the same time as writes.

NOTE: this does not wire the time-based garbage collection process into
the server itself -- it's currently only triggered by the included
tests.

Original patch by David.
Some changes by Todd.

Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
---
M src/kudu/integration-tests/exactly_once_writes-itest.cc
M src/kudu/rpc/CMakeLists.txt
A src/kudu/rpc/exactly_once_rpc-test.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/retriable_rpc.h
D src/kudu/rpc/rpc-stress-test.cc
M src/kudu/rpc/rpc_header.proto
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/tablet_bootstrap.cc
M src/kudu/tablet/transactions/transaction_driver.cc
11 files changed, 797 insertions(+), 428 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/28/3628/18
-- 
To view, visit http://gerrit.cloudera.org:8080/3628
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 18
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 18:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 18
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 17:

(6 comments)

http://gerrit.cloudera.org:8080/#/c/3628/17/src/kudu/rpc/CMakeLists.txt
File src/kudu/rpc/CMakeLists.txt:

Line 121: ADD_KUDU_TEST(exactly_once_rpc-test)
> Can you resort the tests?
Done


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

PS17, Line 152: completion_record->state = RpcState::IN_PROGRESS;
  : completion_record->driver_attempt_no = 
request_id.attempt_no();
> Can we add these to the CR constructor?
Done


Line 232:   completion_record->last_updated = MonoTime::Now();
> Technically we haven't mutated the CR, so why update its timestamp?
yea, not sure, will remove.


Line 348:   completion_record->last_updated = MonoTime::Now();
> Likewise, shouldn't we push this down into where we actually update the CR?
not convinced of this one -- if we moved it inside the loop, it might get 
updated multiple times, and no sense in wasting the extra clock calls.


http://gerrit.cloudera.org:8080/#/c/3628/17/src/kudu/tablet/tablet_bootstrap.cc
File src/kudu/tablet/tablet_bootstrap.cc:

PS17, Line 1247: // We only replay committed requests so the result of 
tracking this request can be:
   : // NEW - This is a previously untracked request, or we 
changed the driver -> store the result
   : // COMPLETED - We've bootstrapped this tablet twice, and 
previously stored the result -> do
   : // nothing.
> Update this comment.
Done


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

PS17, Line 227:   VLOG(1) << state()->result_tracker() << " Follower Rpc 
was not NEW or IN_PROGRESS: "
  :   << rpc_state << " OpId: " << 
state()->op_id().ShortDebugString()
  :   << " RequestId: " << 
state()->request_id().ShortDebugString();
> Update this too? Should have been "not NEW or COMPLETED", I think.
done. also changed to VLOG(2) since this is quite internal


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 17
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 17:

Yea, gerrit's poor at dealing with renames. git show -M does a better job. For 
your convenience, here's the git show -M for the test:
https://gist.github.com/toddlipcon/c150de547f7a6b8462eeaeb568efdae9

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 17
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-456 Implement AUTO FLUSH BACKGROUND flush mode

2016-08-15 Thread Alexey Serbin (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: KUDU-456 Implement AUTO_FLUSH_BACKGROUND flush mode
..

KUDU-456 Implement AUTO_FLUSH_BACKGROUND flush mode

Implemented AUTO_FLUSH_BACKGROUND for the Kudu C++ client library.
KuduSession objects use RPC messenger's thread pool to schedule
background flush tasks.  In AUTO_FLUSH_BACKGROUND mode,
the KuduSession::Apply() method blocks if total amount of data
for operations not pushed to server reaches the buffer size limit.
The limit on the buffer size can be set by the
KuduSession::SetMutationBufferSpace() method or via the
--client_buffer_bytes_limit command-line flag.

The background flusher checks whether at least one of the following two
conditions is satisfied to determine whether it's time to flush
the accumulated write operations:
  * over-the-waterline criterion: check whether the total size of the
freshly submitted (i.e. not-scheduled-for-flush) write operations
is over the threshold.  The threshold can be set as a percentage
of the total buffer size using the
--client_buffer_flush_waterline_pct command-line flag.
  * maximum wait time criterion: check whether the previous flush
happened more than the maximum wait time ago.  The maximum wait time
can be specified in milliseconds using the
--client_buffer_flush_timeout_ms command-line flag.

This change also addresses the following JIRA issue:
  KUDU-1376 KuduSession::SetMutationBufferSpace is not defined

Change-Id: I34905c30b3aad96f53cf7a1822b1cde6d25f33a8
---
M python/kudu/tests/test_client.py
M src/kudu/client/batcher.cc
M src/kudu/client/batcher.h
M src/kudu/client/client-internal.h
M src/kudu/client/client-test.cc
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/session-internal.cc
M src/kudu/client/session-internal.h
M src/kudu/client/write_op.cc
M src/kudu/client/write_op.h
M src/kudu/util/monotime.cc
M src/kudu/util/monotime.h
13 files changed, 1,209 insertions(+), 154 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I34905c30b3aad96f53cf7a1822b1cde6d25f33a8
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins


[kudu-CR] KUDU-456 Implement AUTO FLUSH BACKGROUND flush mode

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

Change subject: KUDU-456 Implement AUTO_FLUSH_BACKGROUND flush mode
..


Patch Set 8:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I34905c30b3aad96f53cf7a1822b1cde6d25f33a8
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] [util/monotime] added handy operators for MonoTime

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

Change subject: [util/monotime] added handy operators for MonoTime
..


Patch Set 1:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia8a336bc79461adebfb2d5c136d71f90efcd36db
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] [util/monotime] added handy operators for MonoTime

2016-08-15 Thread Alexey Serbin (Code Review)
Alexey Serbin has uploaded a new change for review.

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

Change subject: [util/monotime] added handy operators for MonoTime
..

[util/monotime] added handy operators for MonoTime

Change-Id: Ia8a336bc79461adebfb2d5c136d71f90efcd36db
---
M src/kudu/util/monotime-test.cc
M src/kudu/util/monotime.cc
M src/kudu/util/monotime.h
3 files changed, 312 insertions(+), 2 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia8a336bc79461adebfb2d5c136d71f90efcd36db
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Alexey Serbin 


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

2016-08-15 Thread Mike Percy (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: KUDU-236 (part 1). Implement tablet history GC
..

KUDU-236 (part 1). Implement tablet history GC

This patch defines the concept of an "ancient history mark" (AHM) and a
background job that removes history from disk that represents changes
occurring prior to the ancient history mark.

There is also a mechanism to reject requests for scans if they attempt
to open a snapshot scan at a timestamp prior to the AHM.

Included tests:

* Test for Redo GC via major delta compaction
* Test for history GC via tablet flush
* Test for Undo GC via merge compaction
* Test for entire-row GC via merge compaction
* Test for ghost rows in multiple RS reinsert case
* Test for reupdating missed deltas
* Test for partial rowset history GC using alternating rows
* Test for major delta compaction against a subset of columns
* Test for opening a scanner at TS < AHM and rejecting that scanner at
  the RPC level

Tests coming in a follow-up commit:

* Randomized test

Missing features coming in follow-up commits:

* Background task that schedules and performs undo GC
* GC history on delta flush

Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
---
M src/kudu/common/timestamp.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/tablet_history_gc-itest.cc
M src/kudu/server/clock.h
M src/kudu/server/hybrid_clock.cc
M src/kudu/server/hybrid_clock.h
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/compaction-test.cc
M src/kudu/tablet/compaction.cc
M src/kudu/tablet/compaction.h
M src/kudu/tablet/delta_compaction.cc
M src/kudu/tablet/delta_compaction.h
M src/kudu/tablet/diskrowset.cc
M src/kudu/tablet/diskrowset.h
M src/kudu/tablet/mutation.h
M src/kudu/tablet/rowset_metadata.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet-test-base.h
M src/kudu/tablet/tablet-test-util.h
M src/kudu/tablet/tablet-test.cc
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
A src/kudu/tablet/tablet_history_gc-test.cc
M src/kudu/tserver/tablet_service.cc
24 files changed, 952 insertions(+), 153 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/76/3076/16
-- 
To view, visit http://gerrit.cloudera.org:8080/3076
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 16
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

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

Change subject: KUDU-236 (part 1). Implement tablet history GC
..


Patch Set 16:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 16
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

2016-08-15 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: KUDU-236 (part 1). Implement tablet history GC
..


Patch Set 15:

> > > Could you also add a GCing thread to mt-tablet-test? It's a
 > good
 > > > way to test interactions between concurrent tablet operations.
 > >
 > > There's no new dedicated GC task yet. The GCing happens as part
 > of
 > > flush and compaction. That new MM task is coming later.
 > 
 > mt-tablet-test doesn't invoke MM tasks though; it just calls public
 > Tablet methods. I only skimmed this patch but I think it adds
 > everything needed to extend the test.

The way we would do it is simply set the tablet_history_max_age to some low 
value like 1 or 2 in the test, I guess. Everything else would be automatic, 
assuming it's already using HybridTime. That's something I can do.

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 15
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Support downgrade to version that has LocalConsensus

2016-08-15 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: Support downgrade to version that has LocalConsensus
..


Patch Set 2:

> Can you please give this a manual test as part of voting on 0.10 RC?

Sure, no problem.

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I6d324b4f3ce5906bfc9a4df49dd60ca0cb919820
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 17:

(6 comments)

It's pretty tough to review exactly_once_rpc-test.cc since gerrit is showing it 
as all new. Any chance you can break out the rename of the test into a separate 
patch? Alternatively, you can describe what's actually changed in the test and 
I can focus on that.

http://gerrit.cloudera.org:8080/#/c/3628/17/src/kudu/rpc/CMakeLists.txt
File src/kudu/rpc/CMakeLists.txt:

Line 121: ADD_KUDU_TEST(exactly_once_rpc-test)
Can you resort the tests?


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

PS17, Line 152: completion_record->state = RpcState::IN_PROGRESS;
  : completion_record->driver_attempt_no = 
request_id.attempt_no();
Can we add these to the CR constructor?


Line 232:   completion_record->last_updated = MonoTime::Now();
Technically we haven't mutated the CR, so why update its timestamp?


Line 348:   completion_record->last_updated = MonoTime::Now();
Likewise, shouldn't we push this down into where we actually update the CR? I 
think that's L365, though I'm not sure.


http://gerrit.cloudera.org:8080/#/c/3628/17/src/kudu/tablet/tablet_bootstrap.cc
File src/kudu/tablet/tablet_bootstrap.cc:

PS17, Line 1247: // We only replay committed requests so the result of 
tracking this request can be:
   : // NEW - This is a previously untracked request, or we 
changed the driver -> store the result
   : // COMPLETED - We've bootstrapped this tablet twice, and 
previously stored the result -> do
   : // nothing.
Update this comment.


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

PS17, Line 227:   VLOG(1) << state()->result_tracker() << " Follower Rpc 
was not NEW or IN_PROGRESS: "
  :   << rpc_state << " OpId: " << 
state()->op_id().ShortDebugString()
  :   << " RequestId: " << 
state()->request_id().ShortDebugString();
Update this too? Should have been "not NEW or COMPLETED", I think.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 17
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] tool: rewrite parser logic

2016-08-15 Thread Adar Dembo (Code Review)
Hello Todd Lipcon, Kudu Jenkins,

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

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

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

Change subject: tool: rewrite parser logic
..

tool: rewrite parser logic

While leaf and non-leaf actions share some common properties, there is much
they don't share. Rather than shoehorn both into the same Action paradigm, I
think it makes more sense to consider them separately.

This patch splits Action into either Mode (non-leaf node) or Action (leaf
node). The common properties are now found in the Label struct.
Additionally, each kind of node is now structured as a class with proper
encapsulation, builders, and other goodies. Overall this simplifies the
command line parsing logic, hides more internal details, and reduces the
boilerplate needed to add a mode or an action.

There's no change to the tool's interface with the outside world.

Change-Id: I794fc527525a57283f0165e262283adf14160def
---
M src/kudu/tools/tool_action.cc
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_fs.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_main.cc
5 files changed, 333 insertions(+), 200 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] catalog manager: avoid more races between Init() and GetTabletPeer()

2016-08-15 Thread Adar Dembo (Code Review)
Hello Todd Lipcon,

I'd like you to do a code review.  Please visit

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

to review the following change.

Change subject: catalog_manager: avoid more races between Init() and 
GetTabletPeer()
..

catalog_manager: avoid more races between Init() and GetTabletPeer()

Commit 2525ad0 took a stab at this, but apparently it wasn't enough due to
the tablet_id() call. So here's another attempt, where sys_catalog_ is only
set when it is fully formed (i.e. when it has a functional TabletPeer).

Below I've included test output when the race hits.

master_replication-itest: 
/home/jenkins-slave/workspace/kudu-3/src/kudu/gutil/ref_counted.h:273: T 
*scoped_refptr::operator->() const [T = 
kudu::tablet::TabletPeer]: Assertion `ptr_ != __null' failed.
*** Aborted at 1471309445 (unix time) try "date -d @1471309445" if you are 
using GNU date ***
PC: @ 0x7f330225dcc9 gsignal
*** SIGABRT (@0x3e86e90) received by PID 28304 (TID 0x7f32f06eb700) from 
PID 28304; stack trace: ***
@   0x42e687 __tsan::CallUserSignalHandler() at 
/home/jenkins-slave/workspace/kudu-3/thirdparty/llvm-3.8.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1962
@   0x42f4d3 rtl_sigaction() at 
/home/jenkins-slave/workspace/kudu-3/thirdparty/llvm-3.8.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:2039
@ 0x7f33090a4340 (unknown) at ??:0
@ 0x7f330225dcc9 gsignal at ??:0
@ 0x7f33022610d8 abort at ??:0
@ 0x7f3302256b86 (unknown) at ??:0
@ 0x7f3302256c32 __assert_fail at ??:0
@ 0x7f330ca13130 scoped_refptr<>::operator->() at ??:0
@ 0x7f330ca1a952 kudu::master::SysCatalogTable::tablet_id() at ??:0
@ 0x7f330ca0b136 kudu::master::CatalogManager::GetTabletPeer() at ??:0
@ 0x7f330c69214d kudu::tserver::(anonymous 
namespace)::LookupTabletPeerOrRespond<>() at ??:0
@ 0x7f330c691bab 
kudu::tserver::ConsensusServiceImpl::RequestConsensusVote() at ??:0
@ 0x7f3307c9fca5 
kudu::consensus::ConsensusServiceIf::ConsensusServiceIf()::$_1::operator()() at 
??:0
@ 0x7f3307c9fabf std::_Function_handler<>::_M_invoke() at ??:0
@ 0x7f3306bd7219 std::function<>::operator()() at ??:0
@ 0x7f3306bd6c8e kudu::rpc::GeneratedServiceIf::Handle() at ??:0
@ 0x7f3306bd8b3e kudu::rpc::ServicePool::RunThread() at ??:0
@ 0x7f3306bdaa27 boost::_mfi::mf0<>::operator()() at ??:0
@ 0x7f3306bda98b boost::_bi::list1<>::operator()<>() at ??:0
@ 0x7f3306bda934 boost::_bi::bind_t<>::operator()() at ??:0
@ 0x7f3306bda75a 
boost::detail::function::void_function_obj_invoker0<>::invoke() at ??:0
@ 0x7f3306b758b2 boost::function0<>::operator()() at ??:0
@ 0x7f3304962630 kudu::Thread::SuperviseThread() at ??:0

Change-Id: I43fdc6499cb84d2053bed08b689fe5a08a6761d6
---
M src/kudu/master/catalog_manager.cc
1 file changed, 9 insertions(+), 7 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I43fdc6499cb84d2053bed08b689fe5a08a6761d6
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] integration tests: end-to-end master permanent failure test

2016-08-15 Thread Adar Dembo (Code Review)
Hello Todd Lipcon, Kudu Jenkins,

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

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

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

Change subject: integration_tests: end-to-end master permanent failure test
..

integration_tests: end-to-end master permanent failure test

This commit defines a workflow for handling master permanent failures, and
includes an integration test to execute it. In production, the workflow will
be run manually by an admin, or via a script.

As part of this change, I added support for optional parameters to the new
CLI tool. It was straight-forward to reuse gflags for this.

Still to come: CLI help for positional (i.e. required) parameters.

Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
---
M src/kudu/client/client-test-util.cc
M src/kudu/integration-tests/master_failover-itest.cc
M src/kudu/integration-tests/master_migration-itest.cc
M src/kudu/tools/tool_action.cc
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_fs.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_main.cc
8 files changed, 218 insertions(+), 31 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] tool: rewrite parser logic

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

Change subject: tool: rewrite parser logic
..


Patch Set 2:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] tool: rewrite parser logic

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: tool: rewrite parser logic
..


Patch Set 1:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/3996/1/src/kudu/tools/tool_action.h
File src/kudu/tools/tool_action.h:

PS1, Line 66: // Invokes an action, passing in the complete action chain and 
all remaining
: // command line arguments. The arguments are passed by value so 
that the
: // function can modify them if need be.
> what's this comment attached to?
Oops, meant to remove that.


PS1, Line 94:  // After Build() is called, submodes_ and actions_ are empty.
> hrm, isn't it better to just say 'May be only called once'?
OK.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] catalog manager: avoid more races between Init() and GetTabletPeer()

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

Change subject: catalog_manager: avoid more races between Init() and 
GetTabletPeer()
..


Patch Set 1:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I43fdc6499cb84d2053bed08b689fe5a08a6761d6
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] integration tests: end-to-end master permanent failure test

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

Change subject: integration_tests: end-to-end master permanent failure test
..


Patch Set 4:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-1474: single to multi-master deployment migration

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has submitted this change and it was merged.

Change subject: KUDU-1474: single to multi-master deployment migration
..


KUDU-1474: single to multi-master deployment migration

This patch introduces the machinery needed to migrate from a single-node
master deployment to multi-master:
1. Inclusion of the tablet copy service in the master. This was easy; the
   master module already depends on 'tserver', so registering the service is
   just a few lines of code.
2. The new "kudu" command line tool, whose operations are used in migration.
   It'll also serve as the basis for KUDU-619.
3. An end-to-end integration test to showcase the migration.

A couple notes about the new tool. I began with a gflags-based approach, but
found it unwieldy after a while, because it's tough to provide a good help
experience, and the lack of positional argument support makes for long
command lines.

I briefly looked at boost but didn't want to reintroduce a library dependency,
so I ended up writing my own (simple) parser. It maps command line arguments to
"actions" and allows for arbitrary levels of nesting, so you can do things like
"kudu tablet copy blah" as well as "kudu fs dump". At each level, if
insufficient arguments are provided, an informative help message is printed
though there's room for improvement here.

Change-Id: I89c741381ced3731736228cd07fe85106ae72541
Reviewed-on: http://gerrit.cloudera.org:8080/3880
Reviewed-by: Todd Lipcon 
Tested-by: Kudu Jenkins
---
M build-support/dist_test.py
M src/kudu/gutil/strings/join.h
M src/kudu/integration-tests/CMakeLists.txt
M src/kudu/integration-tests/external_mini_cluster.cc
M src/kudu/integration-tests/external_mini_cluster.h
A src/kudu/integration-tests/master_migration-itest.cc
M src/kudu/master/master.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/sys_catalog.h
M src/kudu/tools/CMakeLists.txt
A src/kudu/tools/tool_action.cc
A src/kudu/tools/tool_action.h
A src/kudu/tools/tool_action_fs.cc
A src/kudu/tools/tool_action_tablet.cc
A src/kudu/tools/tool_main.cc
15 files changed, 926 insertions(+), 11 deletions(-)

Approvals:
  Todd Lipcon: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I89c741381ced3731736228cd07fe85106ae72541
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] fs: allow format with user-specified uuid

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has submitted this change and it was merged.

Change subject: fs: allow format with user-specified uuid
..


fs: allow format with user-specified uuid

The CLI tool is going to use this for the "handling permanent failure"
workflow.

Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Reviewed-on: http://gerrit.cloudera.org:8080/3968
Reviewed-by: Todd Lipcon 
Tested-by: Adar Dembo 
---
M src/kudu/fs/fs_manager-test.cc
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/fs_manager.h
M src/kudu/util/CMakeLists.txt
A src/kudu/util/oid_generator-test.cc
M src/kudu/util/oid_generator.cc
M src/kudu/util/oid_generator.h
7 files changed, 139 insertions(+), 14 deletions(-)

Approvals:
  Adar Dembo: Verified
  Todd Lipcon: Looks good to me, approved



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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] fs: allow format with user-specified uuid

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: fs: allow format with user-specified uuid
..


Patch Set 5: Verified+1

The test failure was unrelated, and I've got a patch ready to go for it.

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

2016-08-15 Thread Mike Percy (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: KUDU-236 (part 1). Implement tablet history GC
..

KUDU-236 (part 1). Implement tablet history GC

This patch defines the concept of an "ancient history mark" (AHM) and a
background job that removes history from disk that represents changes
occurring prior to the ancient history mark.

There is also a mechanism to reject requests for scans if they attempt
to open a snapshot scan at a timestamp prior to the AHM.

Included tests:

* Test for Redo GC via major delta compaction
* Test for history GC via tablet flush
* Test for Undo GC via merge compaction
* Test for entire-row GC via merge compaction
* Test for ghost rows in multiple RS reinsert case
* Test for reupdating missed deltas
* Test for partial rowset history GC using alternating rows
* Test for major delta compaction against a subset of columns
* Test for opening a scanner at TS < AHM and rejecting that scanner at
  the RPC level

Tests coming in a follow-up commit:

* Randomized test

Missing features coming in follow-up commits:

* Background task that schedules and performs undo GC
* GC history on delta flush

Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
---
M src/kudu/common/timestamp.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/tablet_history_gc-itest.cc
M src/kudu/server/clock.h
M src/kudu/server/hybrid_clock.cc
M src/kudu/server/hybrid_clock.h
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/compaction-test.cc
M src/kudu/tablet/compaction.cc
M src/kudu/tablet/compaction.h
M src/kudu/tablet/delta_compaction.cc
M src/kudu/tablet/delta_compaction.h
M src/kudu/tablet/diskrowset.cc
M src/kudu/tablet/diskrowset.h
M src/kudu/tablet/mutation.h
M src/kudu/tablet/rowset_metadata.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet-test-base.h
M src/kudu/tablet/tablet-test-util.h
M src/kudu/tablet/tablet-test.cc
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
A src/kudu/tablet/tablet_history_gc-test.cc
M src/kudu/tserver/tablet_service.cc
24 files changed, 951 insertions(+), 152 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/76/3076/15
-- 
To view, visit http://gerrit.cloudera.org:8080/3076
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 15
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

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

Change subject: KUDU-236 (part 1). Implement tablet history GC
..


Patch Set 15:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 15
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-236 (part 1). Implement tablet history GC

2016-08-15 Thread Mike Percy (Code Review)
Mike Percy has posted comments on this change.

Change subject: KUDU-236 (part 1). Implement tablet history GC
..


Patch Set 14:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3076/14/src/kudu/tablet/compaction.cc
File src/kudu/tablet/compaction.cc:

Line 791: vector* gced_input_rows) {
> I'm not really convinced of this vector here -- it's a bit expensive memory
Ah, good point. Thanks for the help on this code path. Done.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: If9833a863f118eb82be80ea56204d0d9141611c2
Gerrit-PatchSet: 14
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] tool: rewrite parser logic

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

Change subject: tool: rewrite parser logic
..


Patch Set 1:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/3996/1/src/kudu/tools/tool_action.h
File src/kudu/tools/tool_action.h:

PS1, Line 66: // Invokes an action, passing in the complete action chain and 
all remaining
: // command line arguments. The arguments are passed by value so 
that the
: // function can modify them if need be.
what's this comment attached to?


PS1, Line 94:  // After Build() is called, submodes_ and actions_ are empty.
hrm, isn't it better to just say 'May be only called once'?


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] integration tests: end-to-end master permanent failure test

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

Change subject: integration_tests: end-to-end master permanent failure test
..


Patch Set 3: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-1474: single to multi-master deployment migration

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

Change subject: KUDU-1474: single to multi-master deployment migration
..


Patch Set 7: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I89c741381ced3731736228cd07fe85106ae72541
Gerrit-PatchSet: 7
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] fs: allow format with user-specified uuid

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

Change subject: fs: allow format with user-specified uuid
..


Patch Set 5: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] fs: allow format with user-specified uuid

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: fs: allow format with user-specified uuid
..


Patch Set 4:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3968/4/src/kudu/util/oid_generator-test.cc
File src/kudu/util/oid_generator-test.cc:

PS4, Line 43: cd
> might want to throw in some capitals.
Done


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] tool: rewrite parser logic

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

Change subject: tool: rewrite parser logic
..


Patch Set 1:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No


[kudu-CR] integration tests: end-to-end master permanent failure test

2016-08-15 Thread Adar Dembo (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: integration_tests: end-to-end master permanent failure test
..

integration_tests: end-to-end master permanent failure test

This commit defines a workflow for handling master permanent failures, and
includes an integration test to execute it. In production, the workflow will
be run manually by an admin, or via a script.

As part of this change, I added support for optional parameters to the new
CLI tool. It was straight-forward to reuse gflags for this.

Still to come: CLI help for positional (i.e. required) parameters.

Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
---
M src/kudu/client/client-test-util.cc
M src/kudu/integration-tests/master_failover-itest.cc
M src/kudu/integration-tests/master_migration-itest.cc
M src/kudu/tools/tool_action.cc
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_fs.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_main.cc
8 files changed, 218 insertions(+), 31 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] integration tests: end-to-end master permanent failure test

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

Change subject: integration_tests: end-to-end master permanent failure test
..


Patch Set 3:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-1474: single to multi-master deployment migration

2016-08-15 Thread Adar Dembo (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: KUDU-1474: single to multi-master deployment migration
..

KUDU-1474: single to multi-master deployment migration

This patch introduces the machinery needed to migrate from a single-node
master deployment to multi-master:
1. Inclusion of the tablet copy service in the master. This was easy; the
   master module already depends on 'tserver', so registering the service is
   just a few lines of code.
2. The new "kudu" command line tool, whose operations are used in migration.
   It'll also serve as the basis for KUDU-619.
3. An end-to-end integration test to showcase the migration.

A couple notes about the new tool. I began with a gflags-based approach, but
found it unwieldy after a while, because it's tough to provide a good help
experience, and the lack of positional argument support makes for long
command lines.

I briefly looked at boost but didn't want to reintroduce a library dependency,
so I ended up writing my own (simple) parser. It maps command line arguments to
"actions" and allows for arbitrary levels of nesting, so you can do things like
"kudu tablet copy blah" as well as "kudu fs dump". At each level, if
insufficient arguments are provided, an informative help message is printed
though there's room for improvement here.

Change-Id: I89c741381ced3731736228cd07fe85106ae72541
---
M build-support/dist_test.py
M src/kudu/gutil/strings/join.h
M src/kudu/integration-tests/CMakeLists.txt
M src/kudu/integration-tests/external_mini_cluster.cc
M src/kudu/integration-tests/external_mini_cluster.h
A src/kudu/integration-tests/master_migration-itest.cc
M src/kudu/master/master.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/sys_catalog.h
M src/kudu/tools/CMakeLists.txt
A src/kudu/tools/tool_action.cc
A src/kudu/tools/tool_action.h
A src/kudu/tools/tool_action_fs.cc
A src/kudu/tools/tool_action_tablet.cc
A src/kudu/tools/tool_main.cc
15 files changed, 926 insertions(+), 11 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I89c741381ced3731736228cd07fe85106ae72541
Gerrit-PatchSet: 7
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] tool: rewrite parser logic

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has uploaded a new change for review.

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

Change subject: tool: rewrite parser logic
..

tool: rewrite parser logic

While leaf and non-leaf actions share some common properties, there is much
they don't share. Rather than shoehorn both into the same Action paradigm, I
think it makes more sense to consider them separately.

This patch splits Action into either Mode (non-leaf node) or Action (leaf
node). The common properties are now found in the Label struct.
Additionally, each kind of node is now structured as a class with proper
encapsulation, builders, and other goodies. Overall this simplifies the
command line parsing logic, hides more internal details, and reduces the
boilerplate needed to add a mode or an action.

There's no change to the tool's interface with the outside world.

Change-Id: I794fc527525a57283f0165e262283adf14160def
---
M src/kudu/tools/tool_action.cc
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_fs.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_main.cc
5 files changed, 340 insertions(+), 203 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I794fc527525a57283f0165e262283adf14160def
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 


[kudu-CR] KUDU-1474: single to multi-master deployment migration

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

Change subject: KUDU-1474: single to multi-master deployment migration
..


Patch Set 7:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I89c741381ced3731736228cd07fe85106ae72541
Gerrit-PatchSet: 7
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] KUDU-1474: single to multi-master deployment migration

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: KUDU-1474: single to multi-master deployment migration
..


Patch Set 6:

(6 comments)

http://gerrit.cloudera.org:8080/#/c/3880/6/src/kudu/gutil/strings/join.h
File src/kudu/gutil/strings/join.h:

Line 204: string JoinStrings(const CONTAINER& components,
> some comment doc here would be good. Perhaps a different name as well, like
Done


http://gerrit.cloudera.org:8080/#/c/3880/6/src/kudu/tools/tool_action.cc
File src/kudu/tools/tool_action.cc:

Line 45:   msg += "Action can be one of the following:\n";
> this function only seems useful/sensical if 'sub_actions' is non-empty, but
Yeah, L63 is dead code; there's no invocation of BuildNonLeafActionHelpString() 
with an empty chain. Removed it.


http://gerrit.cloudera.org:8080/#/c/3880/6/src/kudu/tools/tool_action.h
File src/kudu/tools/tool_action.h:

Line 98: Status CheckNoMoreArgs(const std::vector& chain, CONTAINER 
args) {
> I think this can take the CONTAINER by const ref.
Done


http://gerrit.cloudera.org:8080/#/c/3880/6/src/kudu/tools/tool_action_tablet.cc
File src/kudu/tools/tool_action_tablet.cc:

Line 124:   RETURN_NOT_OK(env_util::CopyFile(env, cmeta_filename, 
backup_filename, opts));
> worth a LOG(INFO) about 'backing up current config to '
Done


http://gerrit.cloudera.org:8080/#/c/3880/6/src/kudu/tools/tool_main.cc
File src/kudu/tools/tool_main.cc:

Line 69: vector sub_actions = cur->sub_actions;
> is this mutated? or can it be const auto&?
Done


Line 130:   FLAGS_helpfull ||
> it seems like it would be useful to still allow --helpfull or something to 
Alright. I'm not sure how useful the real help is, but I won't block it.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I89c741381ced3731736228cd07fe85106ae72541
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] fs: allow format with user-specified uuid

2016-08-15 Thread Adar Dembo (Code Review)
Hello Todd Lipcon, Kudu Jenkins,

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

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

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

Change subject: fs: allow format with user-specified uuid
..

fs: allow format with user-specified uuid

The CLI tool is going to use this for the "handling permanent failure"
workflow.

Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
---
M src/kudu/fs/fs_manager-test.cc
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/fs_manager.h
M src/kudu/util/CMakeLists.txt
A src/kudu/util/oid_generator-test.cc
M src/kudu/util/oid_generator.cc
M src/kudu/util/oid_generator.h
7 files changed, 139 insertions(+), 14 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] fs: allow format with user-specified uuid

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

Change subject: fs: allow format with user-specified uuid
..


Patch Set 5:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] fs: allow format with user-specified uuid

2016-08-15 Thread Dan Burkert (Code Review)
Dan Burkert has posted comments on this change.

Change subject: fs: allow format with user-specified uuid
..


Patch Set 4:

(1 comment)

LGTM except for nit

http://gerrit.cloudera.org:8080/#/c/3968/4/src/kudu/util/oid_generator-test.cc
File src/kudu/util/oid_generator-test.cc:

PS4, Line 43: cd
might want to throw in some capitals.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] integration tests: end-to-end master permanent failure test

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

Change subject: integration_tests: end-to-end master permanent failure test
..


Patch Set 2:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3969/2/src/kudu/tools/tool_action.cc
File src/kudu/tools/tool_action.cc:

Line 57:   for (const auto& gflag : action.gflags) {
> Pretty neat.
Looks glorious


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] Start a background thread to run ResultTracker GC

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: Start a background thread to run ResultTracker GC
..


Patch Set 5: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia34ce95e78920596eb8b9db53643845f637c8e6c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Another pass on 0.10.0 release notes

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

Change subject: Another pass on 0.10.0 release notes
..


Patch Set 3:

k, i just committed, we can do one more patch, but want to get an RC out soon.

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I4414bdebb15d976c025dfce5a3f2bda5768bd5a9
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Another pass on 0.10.0 release notes

2016-08-15 Thread Todd Lipcon (Code Review)
Todd Lipcon has submitted this change and it was merged.

Change subject: Another pass on 0.10.0 release notes
..


Another pass on 0.10.0 release notes

Change-Id: I4414bdebb15d976c025dfce5a3f2bda5768bd5a9
Reviewed-on: http://gerrit.cloudera.org:8080/3979
Tested-by: Kudu Jenkins
Reviewed-by: Adar Dembo 
---
M docs/release_notes.adoc
1 file changed, 49 insertions(+), 10 deletions(-)

Approvals:
  Adar Dembo: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I4414bdebb15d976c025dfce5a3f2bda5768bd5a9
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] integration tests: end-to-end master permanent failure test

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: integration_tests: end-to-end master permanent failure test
..


Patch Set 2:

(3 comments)

http://gerrit.cloudera.org:8080/#/c/3969/2/src/kudu/tools/tool_action.cc
File src/kudu/tools/tool_action.cc:

Line 57:   for (const auto& gflag : action.gflags) {
> what about using google::DescribeOneFlag for this? It handles nice line-wra
Pretty neat.

I did retain the majority of this code, though, to provide a nicer usage 
string. What do you think of this?

  adar@adar-ThinkPad-T540p:~/Source/kudu/build/debug$ bin/kudu fs print_uuid 
--help
  Usage: bin/kudu fs print_uuid [-fs_wal_dir=] [-fs_data_dirs=]
  Print the UUID of a Kudu filesystem
  -fs_wal_dir (Directory with write-ahead logs. If this is not specified, 
the
program will not start. May be the same as fs_data_dirs) type: string
default: ""
  -fs_data_dirs (Comma-separated list of directories with data blocks. If
this is not specified, fs_wal_dir will be used as the sole data block
directory.) type: string default: ""


http://gerrit.cloudera.org:8080/#/c/3969/2/src/kudu/tools/tool_action_tablet.cc
File src/kudu/tools/tool_action_tablet.cc:

Line 203:   tablet_print_peer_uuids.name = "print_uuids";
> Isn't this more accurately 'replica uuids', since I think it contains all r
Changed to "print_replica_uuids".


Line 204:   tablet_print_peer_uuids.description = "Print the uuids from a 
tablet's Raft configuration";
> UUIDs of the peers
Done


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ibfab2561e066f00fe56eb4f5d6d6ccbbb2dcbed5
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 17:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 17
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Start a background thread to run ResultTracker GC

2016-08-15 Thread Todd Lipcon (Code Review)
Hello Adar Dembo, Kudu Jenkins,

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

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

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

Change subject: Start a background thread to run ResultTracker GC
..

Start a background thread to run ResultTracker GC

Change-Id: Ia34ce95e78920596eb8b9db53643845f637c8e6c
---
M src/kudu/rpc/exactly_once_rpc-test.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/server/server_base.cc
5 files changed, 54 insertions(+), 25 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia34ce95e78920596eb8b9db53643845f637c8e6c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

2016-08-15 Thread Todd Lipcon (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..

Add time/watermark based garbage collection to ResultTracker

This adds time and watermark based garbage collection to the
ResultTracker.  Regarding time GC, there are two ttl's, a client ttl and
a response ttl.

After the response ttl has elapsed, we garbage collect responses
but the ResultTracker remembers that it doesn't know them, so if
the client retries a request older than that it gets a meaningful
error back, stating that the request is stale.

After the client ttl period without hearing back from a client,
we GC the client state entirely, meaning all requests from that
client will be treated as new.

Regarding watermark GC the algorithm is simple, we trust the client to
tell us what's its lowest incomplete sequence number and we GC
everything below that.

This adds a simple test that makes sure this basically works, and adds a
multithreaded test that runs GC at the same time as writes.

NOTE: this does not wire the time-based garbage collection process into
the server itself -- it's currently only triggered by the included
tests.

Original patch by David.
Some changes by Todd.

Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
---
M src/kudu/integration-tests/exactly_once_writes-itest.cc
M src/kudu/rpc/CMakeLists.txt
A src/kudu/rpc/exactly_once_rpc-test.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/retriable_rpc.h
D src/kudu/rpc/rpc-stress-test.cc
M src/kudu/rpc/rpc_header.proto
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/tablet_bootstrap.cc
M src/kudu/tablet/transactions/transaction_driver.cc
11 files changed, 786 insertions(+), 423 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/28/3628/17
-- 
To view, visit http://gerrit.cloudera.org:8080/3628
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 17
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] fs: allow format with user-specified uuid

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

Change subject: fs: allow format with user-specified uuid
..


Patch Set 4: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Start a background thread to run ResultTracker GC

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

Change subject: Start a background thread to run ResultTracker GC
..


Patch Set 5:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia34ce95e78920596eb8b9db53643845f637c8e6c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 15:

(8 comments)

http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/integration-tests/exactly_once_writes-itest.cc
File src/kudu/integration-tests/exactly_once_writes-itest.cc:

PS15, Line 84: cncurrently
> concurrently + period
Done


PS15, Line 86:  
> word missing
Done


PS15, Line 95: For
> Extra word?  Something is off in this sentence.
does a comma after 'batches' make it read better?


http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/rpc/exactly_once_rpc-test.cc
File src/kudu/rpc/exactly_once_rpc-test.cc:

Line 40:   unique_ptr request_id(new RequestIdPB());
> So I know this is a little late to the game, but RpcController holding it's
yea, it's a little strange. want to file a follow-up JIRA? It's baked 
throughout a bunch of places here.


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

Line 225:   // Runs garbage collection on the results this result tracker is 
caching.
> I would change this to 'Runs time-based garbage collection...' to distingui
Done


PS15, Line 307: MustGcRecordFunc func
> Ideally this would be a template param instead of a std::function so that i
Done


http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/rpc/rpc_header.proto
File src/kudu/rpc/rpc_header.proto:

Line 126:   required int64 first_incomplete_seq_no = 3;
> All of these fields should be optional, we shouldn't be introducing any mor
why? given this struct itself is optional, isn't it safe for its first 
introduction to have required fields?

In this case though I guess I agree that semantically it's fine for it to be 
missing (it just means no GC). I'm guessing David made it required so that we 
dont have cases with misbehaving clients which don't set it and thus end up 
causing the server to exhaust a lot of memory?


http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/tablet/tablet_bootstrap.cc
File src/kudu/tablet/tablet_bootstrap.cc:

Line 1253:   || state == ResultTracker::RpcState::COMPLETED
> || on previous lines
Done


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 15
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] fs: allow format with user-specified uuid

2016-08-15 Thread Adar Dembo (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: fs: allow format with user-specified uuid
..

fs: allow format with user-specified uuid

The CLI tool is going to use this for the "handling permanent failure"
workflow.

Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
---
M src/kudu/fs/fs_manager-test.cc
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/fs_manager.h
M src/kudu/util/CMakeLists.txt
A src/kudu/util/oid_generator-test.cc
M src/kudu/util/oid_generator.cc
M src/kudu/util/oid_generator.h
7 files changed, 136 insertions(+), 14 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] fs: allow format with user-specified uuid

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

Change subject: fs: allow format with user-specified uuid
..


Patch Set 4:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] fs: allow format with user-specified uuid

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: fs: allow format with user-specified uuid
..


Patch Set 2:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3968/2/src/kudu/fs/fs_manager.cc
File src/kudu/fs/fs_manager.cc:

Line 326: metadata->set_uuid(uuid.get());
> As we discussed on Slack, I'm -1 on this if it breaks the UUID invariant on
You get a validation and you get a validation! Everyone gets a validation!


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] fs: allow format with user-specified uuid

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

Change subject: fs: allow format with user-specified uuid
..


Patch Set 3:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] fs: allow format with user-specified uuid

2016-08-15 Thread Adar Dembo (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: fs: allow format with user-specified uuid
..

fs: allow format with user-specified uuid

The CLI tool is going to use this for the "handling permanent failure"
workflow.

Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
---
M src/kudu/fs/fs_manager-test.cc
M src/kudu/fs/fs_manager.cc
M src/kudu/fs/fs_manager.h
M src/kudu/util/CMakeLists.txt
A src/kudu/util/oid_generator-test.cc
M src/kudu/util/oid_generator.cc
M src/kudu/util/oid_generator.h
7 files changed, 136 insertions(+), 14 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ib4189d6150a263b7dde304dd19a449d3c0ab6c8c
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Start a background thread to run ResultTracker GC

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: Start a background thread to run ResultTracker GC
..


Patch Set 4: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia34ce95e78920596eb8b9db53643845f637c8e6c
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Another pass on 0.10.0 release notes

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change.

Change subject: Another pass on 0.10.0 release notes
..


Patch Set 2: Code-Review+2

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3979/2/docs/release_notes.adoc
File docs/release_notes.adoc:

Line 141: // TODO(dan) can we link to the docs once they're committed?
Looks like this is the only remaining TODO.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I4414bdebb15d976c025dfce5a3f2bda5768bd5a9
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] KUDU-526: use on-disk cmeta when loading existing master state

2016-08-15 Thread Adar Dembo (Code Review)
Adar Dembo has submitted this change and it was merged.

Change subject: KUDU-526: use on-disk cmeta when loading existing master state
..


KUDU-526: use on-disk cmeta when loading existing master state

The cmeta is populated when creating all new master state; we can trust it
when that master is restarted.

Note: this is a precondition for the migration from single-node to
multi-node master deployments.

Change-Id: I5b4c6d8b6adf696973445a6f9d1314ba9de27e70
Reviewed-on: http://gerrit.cloudera.org:8080/3786
Reviewed-by: Todd Lipcon 
Tested-by: Kudu Jenkins
---
M src/kudu/integration-tests/master_failover-itest.cc
M src/kudu/integration-tests/master_replication-itest.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/sys_catalog.h
4 files changed, 94 insertions(+), 30 deletions(-)

Approvals:
  Todd Lipcon: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I5b4c6d8b6adf696973445a6f9d1314ba9de27e70
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

2016-08-15 Thread Dan Burkert (Code Review)
Dan Burkert has posted comments on this change.

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 15:

(8 comments)

http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/integration-tests/exactly_once_writes-itest.cc
File src/kudu/integration-tests/exactly_once_writes-itest.cc:

PS15, Line 84: cncurrently
concurrently + period


PS15, Line 86:  
word missing


PS15, Line 95: For
Extra word?  Something is off in this sentence.


http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/rpc/exactly_once_rpc-test.cc
File src/kudu/rpc/exactly_once_rpc-test.cc:

Line 40:   unique_ptr request_id(new RequestIdPB());
So I know this is a little late to the game, but RpcController holding it's 
request id by unique_ptr is pretty odd.  I can't figure out if it's because 
it's a heavyweight object, or because it's optional.  Looks to me like it 
should be ~40 bytes + whatever object overhead.


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

Line 225:   // Runs garbage collection on the results this result tracker is 
caching.
I would change this to 'Runs time-based garbage collection...' to distinguish 
it from the other GC type.


PS15, Line 307: MustGcRecordFunc func
Ideally this would be a template param instead of a std::function so that it 
can get inlined (I imagine this is perf. sensitive since it's done under a 
spinlock).


http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/rpc/rpc_header.proto
File src/kudu/rpc/rpc_header.proto:

Line 126:   required int64 first_incomplete_seq_no = 3;
> RequestIDPB was only added during this release cycle, so no issue with olde
All of these fields should be optional, we shouldn't be introducing any more 
required proto fields.


http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/tablet/tablet_bootstrap.cc
File src/kudu/tablet/tablet_bootstrap.cc:

Line 1253:   || state == ResultTracker::RpcState::COMPLETED
|| on previous lines


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 15
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] KUDU-456 Implement AUTO FLUSH BACKGROUND flush mode

2016-08-15 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change.

Change subject: KUDU-456 Implement AUTO_FLUSH_BACKGROUND flush mode
..


Patch Set 6:

(7 comments)

Thank you for the review!

I posted a new version (patchset 7) because the LINT build failed for patchset 
6, so I wanted to fix that.

http://gerrit.cloudera.org:8080/#/c/3952/6/src/kudu/client/client.cc
File src/kudu/client/client.cc:

Line 400:   return shared_ptr();
> I've traced this through, and I can't find any place that this can actually
OK, that sounds reasonable.  Do I understand correctly that you suggest to 
remove this check at all?


http://gerrit.cloudera.org:8080/#/c/3952/6/src/kudu/client/client.h
File src/kudu/client/client.h:

PS6, Line 1029: be
> s/be/become
Done


http://gerrit.cloudera.org:8080/#/c/3952/6/src/kudu/client/session-internal.cc
File src/kudu/client/session-internal.cc:

Line 30: DEFINE_int32(client_buffer_bytes_limit, 7 * 1024 * 1024,
> I think gflags don't apply to the client, so these will not really be confi
Why not?  If we exposed them in the documentation, a user could link a binary 
with the library having those flags exposed.

But I agree: making those accessible via the client API would be easier to use, 
otherwise those are left hidden.  However, I don't like idea of mutators for 
there -- I would better set them in the constructor and keep then unchanged.  
Probably, those might be properties of some sort of configuration object.

How do you like the following: I'll mark those as hidden flags, which we will 
use only for testing purposes.  Later on, we can expose controls for those up 
to the client API level.  Does this make sense?


Line 59: KuduSession::Data::BackgroundFlusher::BackgroundFlusher(
> formatting (no wrap on initial argument, and 4 spaces for initializer list)
OK, will fix.


PS6, Line 91: waterline
> We typically use 'watermark' instead of 'waterline' (at least in the Java i
That's fun, because originally I had put 'watermark' and then figured that that 
was not the best term for that:

  https://en.wikipedia.org/wiki/Watermark_(disambiguation)

OK, I'll replace it with watermark.


Line 98:   messenger->ScheduleOnReactor(
> This looks like it's flushing the current buffer if it's over the waterline
Yes, the Java implementation is different -- it does not have batchers and 
other stuff.  Also, here the waterline is about amount of freshly added 
operations, not total size of the pending operations.


http://gerrit.cloudera.org:8080/#/c/3952/6/src/kudu/util/monotime.h
File src/kudu/util/monotime.h:

Line 133:   friend MonoTime operator -(const MonoTime& t, const MonoDelta& 
delta);
> Maybe split the changes to MonoTime into its own review.
I added them here because the tests I added rely on those.

All right, having that as a separate change will be better from codereview's 
point.  Will separate into a stand-alone change.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I34905c30b3aad96f53cf7a1822b1cde6d25f33a8
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: Yes


[kudu-CR] Start a background thread to run ResultTracker GC

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

Change subject: Start a background thread to run ResultTracker GC
..


Patch Set 4:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia34ce95e78920596eb8b9db53643845f637c8e6c
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 16:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 16
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: No


[kudu-CR] Start a background thread to run ResultTracker GC

2016-08-15 Thread Todd Lipcon (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: Start a background thread to run ResultTracker GC
..

Start a background thread to run ResultTracker GC

Change-Id: Ia34ce95e78920596eb8b9db53643845f637c8e6c
---
M src/kudu/rpc/exactly_once_rpc-test.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/server/server_base.cc
5 files changed, 54 insertions(+), 25 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia34ce95e78920596eb8b9db53643845f637c8e6c
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

2016-08-15 Thread Todd Lipcon (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..

Add time/watermark based garbage collection to ResultTracker

This adds time and watermark based garbage collection to the
ResultTracker.  Regarding time GC, there are two ttl's, a client ttl and
a response ttl.

After the response ttl has elapsed, we garbage collect responses
but the ResultTracker remembers that it doesn't know them, so if
the client retries a request older than that it gets a meaningful
error back, stating that the request is stale.

After the client ttl period without hearing back from a client,
we GC the client state entirely, meaning all requests from that
client will be treated as new.

Regarding watermark GC the algorithm is simple, we trust the client to
tell us what's its lowest incomplete sequence number and we GC
everything below that.

This adds a simple test that makes sure this basically works, and adds a
multithreaded test that runs GC at the same time as writes.

NOTE: this does not wire the time-based garbage collection process into
the server itself -- it's currently only triggered by the included
tests.

Original patch by David.
Some changes by Todd.

Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
---
M src/kudu/integration-tests/exactly_once_writes-itest.cc
M src/kudu/rpc/CMakeLists.txt
A src/kudu/rpc/exactly_once_rpc-test.cc
M src/kudu/rpc/result_tracker.cc
M src/kudu/rpc/result_tracker.h
M src/kudu/rpc/retriable_rpc.h
D src/kudu/rpc/rpc-stress-test.cc
M src/kudu/rpc/rpc_header.proto
M src/kudu/rpc/service_if.cc
M src/kudu/tablet/tablet_bootstrap.cc
M src/kudu/tablet/transactions/transaction_driver.cc
11 files changed, 784 insertions(+), 423 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/28/3628/16
-- 
To view, visit http://gerrit.cloudera.org:8080/3628
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 16
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 15:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/rpc/service_if.cc
File src/kudu/rpc/service_if.cc:

Line 104:   RpcContext* ctx = new RpcContext(call,
> ah, good catch... I wonder why leak sanitizer builds are not catching this.
oh.. it's some slightly weird design going on here -- ResultTracker itself will 
have responded to the RPC in these cases, and thus deleted the context itself. 
I added a comment to that effect since it does _look_ like a leak.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 15
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] Add time/watermark based garbage collection to ResultTracker

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

Change subject: Add time/watermark based garbage collection to ResultTracker
..


Patch Set 15:

(7 comments)

http://gerrit.cloudera.org:8080/#/c/3628/15//COMMIT_MSG
Commit Message:

Line 9: This adds time and watermark based garbage collection to the 
ResultTracker.
> Nit: the line is too long.
Done


Line 26: multithreaded threaded test that runs GC at the same time as writes.
> Nit: an extra 'threaded'
Done


http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/rpc/exactly_once_rpc-test.cc
File src/kudu/rpc/exactly_once_rpc-test.cc:

Line 502:   FLAGS_remember_responses_ttl_ms = 100;
> Is it OK that the modified flags are not returned back to their default val
we already wrap all of our tests in google::FlagSaver since the KuduTest base 
class has a FlagSaver member. I think some older tests that predate that 
addition have their own FlagSavers - could probably remove them now.


Line 540: // This test creates a thread continuously makes requests to the 
server, some lasting longer
> Nit: 'continuously makes' ---> 'continuously making'
Done


Line 548:   FLAGS_remember_responses_ttl_ms = 10;
> Ditto: consider adding google::FlagSaver to restore default values for the 
same


http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/rpc/rpc_header.proto
File src/kudu/rpc/rpc_header.proto:

Line 126:   required int64 first_incomplete_seq_no = 3;
> Any concerns on backward compatibility here?  If yes, does it make sense to
RequestIDPB was only added during this release cycle, so no issue with older 
versions. The whole RequestIDPB itself is optional in the RPC header


http://gerrit.cloudera.org:8080/#/c/3628/15/src/kudu/rpc/service_if.cc
File src/kudu/rpc/service_if.cc:

Line 104:   RpcContext* ctx = new RpcContext(call,
> Wouldn't it be a memory leak if the state was one of COMPLETED, IN_PROGRESS
ah, good catch... I wonder why leak sanitizer builds are not catching this. 
Will investigate.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I2c8e7b7191ca14842a31b64813ed498bdf626fa8
Gerrit-PatchSet: 15
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: David Ribeiro Alves 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon 
Gerrit-HasComments: Yes


[kudu-CR] Improvements and corrections to Impala CREATE TABLE examples

2016-08-15 Thread Misty Stanley-Jones (Code Review)
Misty Stanley-Jones has submitted this change and it was merged.

Change subject: Improvements and corrections to Impala CREATE TABLE examples
..


Improvements and corrections to Impala CREATE TABLE examples

Change-Id: I093972a7b806787a8c72634851796eebb5e1ae4c
Reviewed-on: http://gerrit.cloudera.org:8080/3376
Reviewed-by: Dan Burkert 
Tested-by: Kudu Jenkins
---
M docs/kudu_impala_integration.adoc
1 file changed, 36 insertions(+), 30 deletions(-)

Approvals:
  Dan Burkert: Looks good to me, approved
  Kudu Jenkins: Verified



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

Gerrit-MessageType: merged
Gerrit-Change-Id: I093972a7b806787a8c72634851796eebb5e1ae4c
Gerrit-PatchSet: 5
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Misty Stanley-Jones 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Misty Stanley-Jones 


[kudu-CR] KUDU-1517 Implement doc feedback from Sue M

2016-08-15 Thread Misty Stanley-Jones (Code Review)
Misty Stanley-Jones has posted comments on this change.

Change subject: KUDU-1517 Implement doc feedback from Sue M
..


Patch Set 1:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/3638/1/docs/index.adoc
File docs/index.adoc:

PS1, Line 85:  
> , (Oxford comma :-)
Done


http://gerrit.cloudera.org:8080/#/c/3638/1/docs/release_notes.adoc
File docs/release_notes.adoc:

Line 31: == Introduction
> nit: I think this should be a 3rd-level heading
Done


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I8a7647b3e5d4d36e82e06ce02a45a8811e4efed3
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Misty Stanley-Jones 
Gerrit-Reviewer: Anonymous Coward #149
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Matthew Jacobs 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-HasComments: Yes


[kudu-CR] KUDU-1517 Implement doc feedback from Sue M

2016-08-15 Thread Misty Stanley-Jones (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: KUDU-1517 Implement doc feedback from Sue M
..

KUDU-1517 Implement doc feedback from Sue M

Change-Id: I8a7647b3e5d4d36e82e06ce02a45a8811e4efed3
---
M docs/index.adoc
M docs/release_notes.adoc
2 files changed, 55 insertions(+), 61 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8a7647b3e5d4d36e82e06ce02a45a8811e4efed3
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Misty Stanley-Jones 
Gerrit-Reviewer: Anonymous Coward #149
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Matthew Jacobs 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Misty Stanley-Jones 


[kudu-CR] KUDU-1517 Implement doc feedback from Sue M

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

Change subject: KUDU-1517 Implement doc feedback from Sue M
..


Patch Set 3:

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

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I8a7647b3e5d4d36e82e06ce02a45a8811e4efed3
Gerrit-PatchSet: 3
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Misty Stanley-Jones 
Gerrit-Reviewer: Anonymous Coward #149
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Matthew Jacobs 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Misty Stanley-Jones 
Gerrit-HasComments: No


  1   2   >