[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread helifu (Code Review)
helifu has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13456 )

Change subject: [tablet] Support accurate count of rows
..


Patch Set 10:

(2 comments)

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

http://gerrit.cloudera.org:8080/#/c/13456/10/src/kudu/tablet/compaction-test.cc@1206
PS10, Line 1206:   ASSERT_NO_FATAL_FAILURE();
> Since you've wrapped function calls that can ASSERT with NO_FATALS(), you d
Done


http://gerrit.cloudera.org:8080/#/c/13456/10/src/kudu/tablet/diskrowset.cc
File src/kudu/tablet/diskrowset.cc:

http://gerrit.cloudera.org:8080/#/c/13456/10/src/kudu/tablet/diskrowset.cc@205
PS10, Line 205:   if 
(rowset_metadata_->tablet_metadata()->supports_live_row_count() &&
> After reviewing this a couple times, I think it'd be clearer if IncrementLi
Yea, very good advice!



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 10
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu 
Gerrit-Comment-Date: Tue, 04 Jun 2019 05:50:33 +
Gerrit-HasComments: Yes


[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13456 )

Change subject: [tablet] Support accurate count of rows
..


Patch Set 10:

(3 comments)

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

http://gerrit.cloudera.org:8080/#/c/13456/10/src/kudu/tablet/compaction-test.cc@1206
PS10, Line 1206:   ASSERT_NO_FATAL_FAILURE();
Since you've wrapped function calls that can ASSERT with NO_FATALS(), you don't 
need the standalone ASSERT_NO_FATAL_FAILURE() calls.


http://gerrit.cloudera.org:8080/#/c/13456/10/src/kudu/tablet/diskrowset.cc
File src/kudu/tablet/diskrowset.cc:

http://gerrit.cloudera.org:8080/#/c/13456/10/src/kudu/tablet/diskrowset.cc@205
PS10, Line 205:   if 
(rowset_metadata_->tablet_metadata()->supports_live_row_count() &&
After reviewing this a couple times, I think it'd be clearer if 
IncrementLiveRows() were responsible for checking supports_live_row_count(), 
and if it's false, just ignoring the request.

That applies here as well as in DeltaTracker.


http://gerrit.cloudera.org:8080/#/c/13456/9/src/kudu/tserver/tablet_copy-test-base.h
File src/kudu/tserver/tablet_copy-test-base.h:

http://gerrit.cloudera.org:8080/#/c/13456/9/src/kudu/tserver/tablet_copy-test-base.h@113
PS9, Line 113:   virtual void GenerateTestData() {
> I want to inject the modification of the 'supports_live_row_count' through
Ah, missed that addition. Thanks for clarifying.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 10
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu 
Gerrit-Comment-Date: Tue, 04 Jun 2019 05:24:27 +
Gerrit-HasComments: Yes


[kudu-CR] Support SPNEGO for web server

2019-06-03 Thread Todd Lipcon (Code Review)
Hello Thomas Marshall, Tidy Bot, Lars Volker, Alexey Serbin, Kudu Jenkins, Hao 
Hao,

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

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

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

Change subject: Support SPNEGO for web server
..

Support SPNEGO for web server

SPNEGO is a protocol for securing HTTP requests with Kerberos by passing
negotiation through HTTP headers. It's supported by most major browsers
and also by most of the Java-based Hadoop components. Notably, it's also
the typical way in which Apache Knox authenticates itself to Hadoop
components in the "trusted proxy" mode, allowing them to be secured
behind Knox's SSO and other policies.

This patch implements the SPNEGO protocol by driving GSSAPI, and
integrates it into the webserver when configured by a new
--webserver_require_spnego flag.

The new test verifies this end-to-end using curl's SPNEGO authentication
support.

Along the way I had to cross-port a small change to the Base64 functions
in gutil to avoid a UBSAN error. I found the fix in abseil-cpp's copy of
the same file.

Change-Id: I9449ac610aa7d11bbf320d9178a6d73684ff15f7
---
M src/kudu/gutil/strings/escaping.cc
M src/kudu/rpc/client_negotiation.cc
M src/kudu/security/CMakeLists.txt
A src/kudu/security/gssapi.cc
A src/kudu/security/gssapi.h
M src/kudu/security/test/mini_kdc.cc
M src/kudu/security/test/mini_kdc.h
M src/kudu/server/CMakeLists.txt
M src/kudu/server/webserver-test.cc
M src/kudu/server/webserver.cc
M src/kudu/server/webserver_options.cc
M src/kudu/server/webserver_options.h
M src/kudu/util/curl_util.cc
M src/kudu/util/curl_util.h
M src/kudu/util/test_macros.h
M thirdparty/build-definitions.sh
16 files changed, 604 insertions(+), 62 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9449ac610aa7d11bbf320d9178a6d73684ff15f7
Gerrit-Change-Number: 13341
Gerrit-PatchSet: 2
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Lars Volker 
Gerrit-Reviewer: Thomas Marshall 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Todd Lipcon 


[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread helifu (Code Review)
Hello Kudu Jenkins, Adar Dembo,

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

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

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

Change subject: [tablet] Support accurate count of rows
..

[tablet] Support accurate count of rows

  A tablet is consisted of one MRS and a group of DRS. And the
  group of DRS makes up a RowSetTree. Thus, the number of live
  rows in a tablet comes from MRS and RowSetTree. At the same
  time, a new capability is added to the tablet superblock to
  ensure that only newly created tablets enable the capability.

1.At the beginning, new rows will be written (insert/delete/
  reinsert) into MRS and counter1 holds the number of rows;
2.Next, MRS is being flushed to DRS (flush1):
  When MRS is being flushed, it will be attached to the RowSetTree,
  so we can count rows there (still counter1);
  When MRS is flushed to DRS, new RowSetMetadatas will be created
  and every one has persistent counter2;
3.Then, there will be updates to DRS and they will be accumulated
  in DMS. counter3 holds the number of rows;
4.If DMS is flushed (flush2):
  When DMS is being flushed, it will be attached to the Redo list,
  and its counter3 will be swapped to DeltaTracker;
  When DMS is flushed to Redo, the value of counter3 will be added
  to the counter2 of RowSetMetadata;
5.MinorCompact:
  No influence since any insertions or deletions come from memory;
6.MajorCompact:
  No influence, just like step5;
7.Compact:
  Just like step2.

__counter2(persistent)
   /
   |
   __RowSetMetadata   __counter3
  /  /
   flush1 |  |
[MRS] ---> [ DRS ... ] -- Undo + Redo + DMS
  |   ^  |
  \__ |__|
 counter1  flush2

Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
---
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/compaction-test.cc
M src/kudu/tablet/compaction.cc
M src/kudu/tablet/delta_tracker.cc
M src/kudu/tablet/delta_tracker.h
M src/kudu/tablet/deltamemstore-test.cc
M src/kudu/tablet/deltamemstore.cc
M src/kudu/tablet/deltamemstore.h
M src/kudu/tablet/diskrowset-test.cc
M src/kudu/tablet/diskrowset.cc
M src/kudu/tablet/diskrowset.h
M src/kudu/tablet/memrowset-test.cc
M src/kudu/tablet/memrowset.cc
M src/kudu/tablet/memrowset.h
M src/kudu/tablet/metadata.proto
M src/kudu/tablet/mock-rowsets.h
M src/kudu/tablet/rowset.cc
M src/kudu/tablet/rowset.h
M src/kudu/tablet/rowset_metadata.cc
M src/kudu/tablet/rowset_metadata.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
M src/kudu/tablet/tablet_metadata.cc
M src/kudu/tablet/tablet_metadata.h
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tserver/tablet_copy-test-base.h
M src/kudu/tserver/tablet_copy_client-test.cc
M src/kudu/tserver/tablet_copy_client.cc
M src/kudu/tserver/ts_tablet_manager.cc
31 files changed, 393 insertions(+), 33 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 10
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu 


[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread helifu (Code Review)
helifu has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13456 )

Change subject: [tablet] Support accurate count of rows
..


Patch Set 9:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG@33
PS6, Line 33: 7.Compact:
:   Just like step2.
:
: __counter
> Ah, I see your point: because tablet copy operates at the level of data blo
^_^


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/diskrowset.h
File src/kudu/tablet/diskrowset.h:

PS7:
> Also in RollingDiskRowSetWriter.
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.cc
File src/kudu/tablet/tablet_metadata.cc:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.cc@272
PS7, Line 272:const TabletDataState& 
tablet_data_state,
> Ah, right. I forgot to remove this suggestion after reviewing that; sorry.
it doesn't matter :)


http://gerrit.cloudera.org:8080/#/c/13456/9/src/kudu/tserver/tablet_copy-test-base.h
File src/kudu/tserver/tablet_copy-test-base.h:

http://gerrit.cloudera.org:8080/#/c/13456/9/src/kudu/tserver/tablet_copy-test-base.h@113
PS9, Line 113:   virtual void GenerateTestData() {
> Why does this need to be virtual?
I want to inject the modification of the 'supports_live_row_count' through 
polymorphism characteristic. Please look at L147 in 
tserver/tablet_copy_client-test.cc. And I think that's a simplest way to 
support your first comment in 
https://gerrit.cloudera.org/#/c/13456/7/src/kudu/tserver/tablet_copy_client.cc



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 9
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu 
Gerrit-Comment-Date: Tue, 04 Jun 2019 04:57:44 +
Gerrit-HasComments: Yes


[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13456 )

Change subject: [tablet] Support accurate count of rows
..


Patch Set 9:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG@33
PS6, Line 33: 7.Compact:
:   Just like step2.
:
: __counter
> No, I mean a replicated tablet can enable the live row counting feature fro
Ah, I see your point: because tablet copy operates at the level of data blocks 
and WAL segments, it's difficult to reconstruct the live row count.

This only leaves full recompaction as an option, which I don't think is 
realistic. So I guess we'll have to resign ourselves to only having this 
feature in truly new tablets.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/diskrowset.h
File src/kudu/tablet/diskrowset.h:

PS7:
> Done
Also in RollingDiskRowSetWriter.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.cc
File src/kudu/tablet/tablet_metadata.cc:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.cc@272
PS7, Line 272:const TabletDataState& 
tablet_data_state,
> No, please look at the code L361 in tablet_copy_client.cc.
Ah, right. I forgot to remove this suggestion after reviewing that; sorry.


http://gerrit.cloudera.org:8080/#/c/13456/9/src/kudu/tserver/tablet_copy-test-base.h
File src/kudu/tserver/tablet_copy-test-base.h:

http://gerrit.cloudera.org:8080/#/c/13456/9/src/kudu/tserver/tablet_copy-test-base.h@113
PS9, Line 113:   virtual void GenerateTestData() {
Why does this need to be virtual?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 9
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu 
Gerrit-Comment-Date: Tue, 04 Jun 2019 04:09:30 +
Gerrit-HasComments: Yes


[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread helifu (Code Review)
Hello Kudu Jenkins, Adar Dembo,

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

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

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

Change subject: [tablet] Support accurate count of rows
..

[tablet] Support accurate count of rows

  A tablet is consisted of one MRS and a group of DRS. And the
  group of DRS makes up a RowSetTree. Thus, the number of live
  rows in a tablet comes from MRS and RowSetTree. At the same
  time, a new capability is added to the tablet superblock to
  ensure that only newly created tablets enable the capability.

1.At the beginning, new rows will be written (insert/delete/
  reinsert) into MRS and counter1 holds the number of rows;
2.Next, MRS is being flushed to DRS (flush1):
  When MRS is being flushed, it will be attached to the RowSetTree,
  so we can count rows there (still counter1);
  When MRS is flushed to DRS, new RowSetMetadatas will be created
  and every one has persistent counter2;
3.Then, there will be updates to DRS and they will be accumulated
  in DMS. counter3 holds the number of rows;
4.If DMS is flushed (flush2):
  When DMS is being flushed, it will be attached to the Redo list,
  and its counter3 will be swapped to DeltaTracker;
  When DMS is flushed to Redo, the value of counter3 will be added
  to the counter2 of RowSetMetadata;
5.MinorCompact:
  No influence since any insertions or deletions come from memory;
6.MajorCompact:
  No influence, just like step5;
7.Compact:
  Just like step2.

__counter2(persistent)
   /
   |
   __RowSetMetadata   __counter3
  /  /
   flush1 |  |
[MRS] ---> [ DRS ... ] -- Undo + Redo + DMS
  |   ^  |
  \__ |__|
 counter1  flush2

Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
---
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/compaction-test.cc
M src/kudu/tablet/compaction.cc
M src/kudu/tablet/delta_tracker.cc
M src/kudu/tablet/delta_tracker.h
M src/kudu/tablet/deltamemstore-test.cc
M src/kudu/tablet/deltamemstore.cc
M src/kudu/tablet/deltamemstore.h
M src/kudu/tablet/diskrowset-test.cc
M src/kudu/tablet/diskrowset.cc
M src/kudu/tablet/diskrowset.h
M src/kudu/tablet/memrowset-test.cc
M src/kudu/tablet/memrowset.cc
M src/kudu/tablet/memrowset.h
M src/kudu/tablet/metadata.proto
M src/kudu/tablet/mock-rowsets.h
M src/kudu/tablet/rowset.cc
M src/kudu/tablet/rowset.h
M src/kudu/tablet/rowset_metadata.cc
M src/kudu/tablet/rowset_metadata.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
M src/kudu/tablet/tablet_metadata.cc
M src/kudu/tablet/tablet_metadata.h
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tserver/tablet_copy-test-base.h
M src/kudu/tserver/tablet_copy_client-test.cc
M src/kudu/tserver/tablet_copy_client.cc
M src/kudu/tserver/ts_tablet_manager.cc
31 files changed, 392 insertions(+), 33 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 9
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu 


[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread helifu (Code Review)
Hello Kudu Jenkins, Adar Dembo,

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

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

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

Change subject: [tablet] Support accurate count of rows
..

[tablet] Support accurate count of rows

  A tablet is consisted of one MRS and a group of DRS. And the
  group of DRS makes up a RowSetTree. Thus, the number of live
  rows in a tablet comes from MRS and RowSetTree. At the same
  time, a new capability is added to the tablet superblock to
  ensure that only newly created tablets enable the capability.

1.At the beginning, new rows will be written (insert/delete/
  reinsert) into MRS and counter1 holds the number of rows;
2.Next, MRS is being flushed to DRS (flush1):
  When MRS is being flushed, it will be attached to the RowSetTree,
  so we can count rows there (still counter1);
  When MRS is flushed to DRS, new RowSetMetadatas will be created
  and every one has persistent counter2;
3.Then, there will be updates to DRS and they will be accumulated
  in DMS. counter3 holds the number of rows;
4.If DMS is flushed (flush2):
  When DMS is being flushed, it will be attached to the Redo list,
  and its counter3 will be swapped to DeltaTracker;
  When DMS is flushed to Redo, the value of counter3 will be added
  to the counter2 of RowSetMetadata;
5.MinorCompact:
  No influence since any insertions or deletions come from memory;
6.MajorCompact:
  No influence, just like step5;
7.Compact:
  Just like step2.

__counter2(persistent)
   /
   |
   __RowSetMetadata   __counter3
  /  /
   flush1 |  |
[MRS] ---> [ DRS ... ] -- Undo + Redo + DMS
  |   ^  |
  \__ |__|
 counter1  flush2

Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
---
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/compaction-test.cc
M src/kudu/tablet/compaction.cc
M src/kudu/tablet/delta_tracker.cc
M src/kudu/tablet/delta_tracker.h
M src/kudu/tablet/deltamemstore-test.cc
M src/kudu/tablet/deltamemstore.cc
M src/kudu/tablet/deltamemstore.h
M src/kudu/tablet/diskrowset-test.cc
M src/kudu/tablet/diskrowset.cc
M src/kudu/tablet/diskrowset.h
M src/kudu/tablet/memrowset-test.cc
M src/kudu/tablet/memrowset.cc
M src/kudu/tablet/memrowset.h
M src/kudu/tablet/metadata.proto
M src/kudu/tablet/mock-rowsets.h
M src/kudu/tablet/rowset.cc
M src/kudu/tablet/rowset.h
M src/kudu/tablet/rowset_metadata.cc
M src/kudu/tablet/rowset_metadata.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
M src/kudu/tablet/tablet_metadata.cc
M src/kudu/tablet/tablet_metadata.h
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tserver/tablet_copy-test-base.h
M src/kudu/tserver/tablet_copy_client-test.cc
M src/kudu/tserver/tablet_copy_client.cc
M src/kudu/tserver/ts_tablet_manager.cc
31 files changed, 392 insertions(+), 33 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 8
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu 


[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread helifu (Code Review)
helifu has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13456 )

Change subject: [tablet] Support accurate count of rows
..


Patch Set 7:

(16 comments)

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG@33
PS6, Line 33: 7.Compact:
:   Just like step2.
:
: __counter
> You mean rereplicating all the tablets on a tserver? It's not an explicit "
No, I mean a replicated tablet can enable the live row counting feature from an 
ancient tablet? As far as I know the replication is done by copying blocks, 
regardless of the number of live rows. That will affect the code L361 in 
tablet_copy_client.cc.
Ah, I think I got it: "1. If the tablet didn't support live row counting, it 
still doesn't after a copy"  ^_^


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

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/compaction-test.cc@235
PS7, Line 235:   void DeleteRows(RowSet* rowset, int n_rows) {
> This can chain to the new DeleteRows:
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/compaction-test.cc@1209
PS7, Line 1209:   ASSERT_NO_FATAL_FAILURE();
> NO_FATALS() in new code.
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/compaction-test.cc@1251
PS7, Line 1251: > >
> >> (the old syntax is pre-C++11)
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/compaction-test.cc@1252
PS7, Line 1252: push_back
> Use emplace_back for all new code. And std::move the DRS shared pointers.
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/delta_tracker.cc
File src/kudu/tablet/delta_tracker.cc:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/delta_tracker.cc@721
PS7, Line 721: Old
> old
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/diskrowset.h
File src/kudu/tablet/diskrowset.h:

PS7:
> Please update the AppendBlock docs to explain what live_row_count means.
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/metadata.proto
File src/kudu/tablet/metadata.proto:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/metadata.proto@138
PS7, Line 138: real-time
> Did you mean 'live' here? Not sure what 'real-time' is supposed to convey i
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/metadata.proto@139
PS7, Line 139:   // It's only supported for the newly created ones, not for the 
ancient ones.
> I'd add that when false, the 'live_row_count' in every RowSetDataPB is inco
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/metadata.proto@140
PS7, Line 140: support_live_row_count
> Nit: supports_live_row_count.
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/rowset_metadata.cc
File src/kudu/tablet/rowset_metadata.cc:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/rowset_metadata.cc@124
PS7, Line 124:   pb.has_live_row_count())
> I don't think you need this second check; the default value of live_row_cou
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.h
File src/kudu/tablet/tablet_metadata.h:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.h@84
PS7, Line 84:   bool support_live_row_count,
> supports_live_row_count
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.cc
File src/kudu/tablet/tablet_metadata.cc:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.cc@154
PS7, Line 154: true
> To clarify the meaning of true/false in call sites, add an annotation:
Done


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.cc@272
PS7, Line 272:bool support_live_row_count)
> Do you actually need it to be configurable via the constructor? Couldn't we
No, please look at the code L361 in tablet_copy_client.cc.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tserver/tablet_copy_client.cc
File src/kudu/tserver/tablet_copy_client.cc:

PS7:
> Can you add a tablet copy test to check that:
Ok, i will try.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tserver/tablet_copy_client.cc@355
PS7, Line 355: bool is_support_live_row_count = false;
 : if (remote_superblock_->has_support_live_row_count()) {
 :   is_support_live_row_count = 
remote_superblock_->support_live_row_count();
 : }
> You can just do:
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456

[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13456 )

Change subject: [tablet] Support accurate count of rows
..


Patch Set 7:

(16 comments)

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG@33
PS6, Line 33: 7.Compact:
:   Just like step2.
:
: __counter
> > need to be compacted?) so naturally the user will turn to other
You mean rereplicating all the tablets on a tserver? It's not an explicit 
"feature" per se, but you can do it by stopping a tserver and waiting for the 
rereplication timeout (default 5 minutes) to elapse. After that, all of the 
tserver's replicas will begin rereplication elsewhere.


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

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/compaction-test.cc@235
PS7, Line 235:   void DeleteRows(RowSet* rowset, int n_rows) {
This can chain to the new DeleteRows:

  DeleteRows(rowset, n_rows, 0);


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/compaction-test.cc@1209
PS7, Line 1209:   ASSERT_NO_FATAL_FAILURE();
NO_FATALS() in new code.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/compaction-test.cc@1251
PS7, Line 1251: > >
>> (the old syntax is pre-C++11)


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/compaction-test.cc@1252
PS7, Line 1252: push_back
Use emplace_back for all new code. And std::move the DRS shared pointers.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/delta_tracker.cc
File src/kudu/tablet/delta_tracker.cc:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/delta_tracker.cc@721
PS7, Line 721: Old
old


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/diskrowset.h
File src/kudu/tablet/diskrowset.h:

PS7:
Please update the AppendBlock docs to explain what live_row_count means.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/metadata.proto
File src/kudu/tablet/metadata.proto:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/metadata.proto@138
PS7, Line 138: real-time
Did you mean 'live' here? Not sure what 'real-time' is supposed to convey in 
context.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/metadata.proto@139
PS7, Line 139:   // It's only supported for the newly created ones, not for the 
ancient ones.
I'd add that when false, the 'live_row_count' in every RowSetDataPB is 
incorrect and should be ignored.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/metadata.proto@140
PS7, Line 140: support_live_row_count
Nit: supports_live_row_count.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/rowset_metadata.cc
File src/kudu/tablet/rowset_metadata.cc:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/rowset_metadata.cc@124
PS7, Line 124:   pb.has_live_row_count())
I don't think you need this second check; the default value of live_row_count() 
is 0, and support_live_row_count() is all we should need to know whether 
live_row_count() can be trusted.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.h
File src/kudu/tablet/tablet_metadata.h:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.h@84
PS7, Line 84:   bool support_live_row_count,
supports_live_row_count

Elsewhere too.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.cc
File src/kudu/tablet/tablet_metadata.cc:

http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.cc@154
PS7, Line 154: true
To clarify the meaning of true/false in call sites, add an annotation:

  /*supports_live_row_count=*/true

Elsewhere too.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tablet/tablet_metadata.cc@272
PS7, Line 272:bool support_live_row_count)
Do you actually need it to be configurable via the constructor? Couldn't we 
always set it to true in the constructor, then get the correct on-disk value 
when we call LoadFromSuperBlock?


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tserver/tablet_copy_client.cc
File src/kudu/tserver/tablet_copy_client.cc:

PS7:
Can you add a tablet copy test to check that:
1. If the tablet didn't support live row counting, it still doesn't after a copy
2, If it did, the value is the same after the copy.


http://gerrit.cloudera.org:8080/#/c/13456/7/src/kudu/tserver/tablet_copy_client.cc@355
PS7, Line 355: bool is_support_live_row_count = false;
 : if (remote_superblock_->has_support_live_row_count()) {
 :   is_support_live_row_count = 
remote_superblock_->support_live_row_count();
 : }
You can just do:

  is_support_live_row_count = 

[kudu-CR] external mini cluster: bump start process timeout a bit more

2019-06-03 Thread Adar Dembo (Code Review)
Adar Dembo has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/13484 )

Change subject: external_mini_cluster: bump start process timeout a bit more
..

external_mini_cluster: bump start process timeout a bit more

Commit 08b916d4b did help reduce the occurrence of NTP desynchronization in
tests, but not completely. Worse, tests that now do time out do so in a way that
doesn't blame NTP at all. For example:

  Bad status: Timed out: failed to start masters: Unable to start Master
  at index 0: Timed out after 60.000s waiting for process (...) to write
  info file (...)

This also affects test result reporting, which tries to avoid reporting test
runs where NTP failed to synchronize by searching for the "Clock considered
unsynchronized" magic string. Of course, that won't happen if the minicluster,
thinking that its subprocesses timed out, kills them before they fail that way.

Here's a dumb fix: let's increase the start process timeout a bit. That gives
the servers more time with which to reach the NTP desynchronization timeout.

Change-Id: I95de5368298b9c7fd1ea0b7166dd6c3cd24e356b
Reviewed-on: http://gerrit.cloudera.org:8080/13484
Tested-by: Kudu Jenkins
Reviewed-by: Will Berkeley 
---
M src/kudu/mini-cluster/external_mini_cluster.cc
M src/kudu/mini-cluster/external_mini_cluster.h
2 files changed, 2 insertions(+), 2 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Will Berkeley: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I95de5368298b9c7fd1ea0b7166dd6c3cd24e356b
Gerrit-Change-Number: 13484
Gerrit-PatchSet: 2
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] external mini cluster: bump start process timeout a bit more

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13484 )

Change subject: external_mini_cluster: bump start process timeout a bit more
..


Patch Set 1: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I95de5368298b9c7fd1ea0b7166dd6c3cd24e356b
Gerrit-Change-Number: 13484
Gerrit-PatchSet: 1
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 22:25:53 +
Gerrit-HasComments: No


[kudu-CR] [hms] Support repairing entries with invalid IDs

2019-06-03 Thread Grant Henke (Code Review)
Grant Henke has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/13492 )

Change subject: [hms] Support repairing entries with invalid IDs
..

[hms] Support repairing entries with invalid IDs

This patch updates the hms tool to support fixing HMS
tables with missing or invalid kudu.table_id properties.

To support this, the patch changes the HMS plugin to
allow tables with unmatched IDs to be altered when
`kudu.check_id` is false in the environment context.

Change-Id: I437a8b42182dcfa09972f8059ccb6af280925085
Reviewed-on: http://gerrit.cloudera.org:8080/13492
Tested-by: Kudu Jenkins
Reviewed-by: Hao Hao 
---
M 
java/kudu-hive/src/main/java/org/apache/kudu/hive/metastore/KuduMetastorePlugin.java
M 
java/kudu-hive/src/test/java/org/apache/kudu/hive/metastore/TestKuduMetastorePlugin.java
M src/kudu/hms/hms_catalog.cc
M src/kudu/hms/hms_catalog.h
M src/kudu/hms/hms_client.cc
M src/kudu/hms/hms_client.h
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_hms.cc
8 files changed, 84 insertions(+), 18 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Hao Hao: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I437a8b42182dcfa09972f8059ccb6af280925085
Gerrit-Change-Number: 13492
Gerrit-PatchSet: 4
Gerrit-Owner: Grant Henke 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] [hms] Support repairing entries with invalid IDs

2019-06-03 Thread Hao Hao (Code Review)
Hao Hao has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13492 )

Change subject: [hms] Support repairing entries with invalid IDs
..


Patch Set 3: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I437a8b42182dcfa09972f8059ccb6af280925085
Gerrit-Change-Number: 13492
Gerrit-PatchSet: 3
Gerrit-Owner: Grant Henke 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 03 Jun 2019 17:52:40 +
Gerrit-HasComments: No


[kudu-CR] docs: update docs for heap sampling

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13459 )

Change subject: docs: update docs for heap sampling
..


Patch Set 1: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5bdf8b2175f1bc492e98dc2a815bde4ab8fbe626
Gerrit-Change-Number: 13459
Gerrit-PatchSet: 1
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 17:25:01 +
Gerrit-HasComments: No


[kudu-CR] docs: update docs for heap sampling

2019-06-03 Thread Grant Henke (Code Review)
Grant Henke has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13459 )

Change subject: docs: update docs for heap sampling
..


Patch Set 1: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5bdf8b2175f1bc492e98dc2a815bde4ab8fbe626
Gerrit-Change-Number: 13459
Gerrit-PatchSet: 1
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 17:24:38 +
Gerrit-HasComments: No


[kudu-CR] docs: update docs for heap sampling

2019-06-03 Thread Todd Lipcon (Code Review)
Todd Lipcon has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13459 )

Change subject: docs: update docs for heap sampling
..


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13459/1/docs/troubleshooting.adoc
File docs/troubleshooting.adoc:

http://gerrit.cloudera.org:8080/#/c/13459/1/docs/troubleshooting.adoc@a640
PS1, Line 640:
> Should we add a doc on how to disable heap sampling?
I don't think so, unless we hear of some case where it caused problems for 
someone. Otherwise people might start thinking it's a thing that "needs tuning 
for production" and I don't want people to make false optimizations



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5bdf8b2175f1bc492e98dc2a815bde4ab8fbe626
Gerrit-Change-Number: 13459
Gerrit-PatchSet: 1
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 17:23:52 +
Gerrit-HasComments: Yes


[kudu-CR] [java] Fix ordering bug in AsyncKuduSession

2019-06-03 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13496 )

Change subject: [java] Fix ordering bug in AsyncKuduSession
..


Patch Set 2: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I498636aeb0de2673c15b90260e6acf56de1ead06
Gerrit-Change-Number: 13496
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:52:03 +
Gerrit-HasComments: No


[kudu-CR] [java] Micro-improvements to DataGenerator

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/13498 )

Change subject: [java] Micro-improvements to DataGenerator
..

[java] Micro-improvements to DataGenerator

Change-Id: I78eca7c6a4d8e0f52fe646a4157774b9123c8a4a
Reviewed-on: http://gerrit.cloudera.org:8080/13498
Tested-by: Kudu Jenkins
Reviewed-by: Grant Henke 
---
M java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java
1 file changed, 30 insertions(+), 28 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Grant Henke: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I78eca7c6a4d8e0f52fe646a4157774b9123c8a4a
Gerrit-Change-Number: 13498
Gerrit-PatchSet: 3
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [backup] Deflake TestKuduBackup.testRandomBackupAndRestore

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/13499 )

Change subject: [backup] Deflake TestKuduBackup.testRandomBackupAndRestore
..

[backup] Deflake TestKuduBackup.testRandomBackupAndRestore

TestKuduBackup.testRandomBackupAndRestore was flaky because it the
DataGenerator sometimes generated duplicate rows, which caused count
mismatches between the number of rows upserted and the number of rows
scanned from the table (particularly when the random schema had a single
INT8 primary key). This fix works around the problem by eliminating the
validation of backups against the generated rows, reducing the set of
validations to just the validation of the final state of the table
against the restored table.

Change-Id: Ic8500f884b05d09a8679863c380dd89f1675519f
Reviewed-on: http://gerrit.cloudera.org:8080/13499
Tested-by: Kudu Jenkins
Reviewed-by: Grant Henke 
---
M java/kudu-backup/src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala
1 file changed, 9 insertions(+), 5 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Grant Henke: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic8500f884b05d09a8679863c380dd89f1675519f
Gerrit-Change-Number: 13499
Gerrit-PatchSet: 4
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [java] Fix ordering bug in AsyncKuduSession

2019-06-03 Thread Grant Henke (Code Review)
Grant Henke has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13496 )

Change subject: [java] Fix ordering bug in AsyncKuduSession
..


Patch Set 1: Code-Review+2

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13496/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
File 
java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java:

http://gerrit.cloudera.org:8080/#/c/13496/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@306
PS1, Line 306:* Returns a buffer to the inactive queue after flushing.
> The buffer is already flushed at this point. This function resets state pos
Sounds good. We can commit this as is and do that in follow up work.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I498636aeb0de2673c15b90260e6acf56de1ead06
Gerrit-Change-Number: 13496
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:50:29 +
Gerrit-HasComments: Yes


[kudu-CR] [java] Deflake TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/13497 )

Change subject: [java] Deflake 
TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange
..

[java] Deflake TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange

The test uses an AsyncKuduSession in AUTO_FLUSH_BACKGROUND mode to send
20 inserts. 10 of them should fail because they are in a non-covered
range. However, the test did not join on the deferred when it called
AsyncKuduSession#flush. Therefore, there was no guarantee the operations
had been completed. So, every now and then, the ops were still in flight
when the errors were checked, causing the test to fail because it saw no
error where it expected to see errors.

Before this fix, the test failed because of this problem about 1/1000
times. I ran 1000 with the fix and saw no failures, but the rate was so
low maybe I was lucky. Regardless, I'm confident the test is more
correct with this fix.

Change-Id: I40360e9c7979c2edf01b4a70b64f71af4d1a1e11
Reviewed-on: http://gerrit.cloudera.org:8080/13497
Tested-by: Will Berkeley 
Reviewed-by: Grant Henke 
---
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java
1 file changed, 2 insertions(+), 2 deletions(-)

Approvals:
  Will Berkeley: Verified
  Grant Henke: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I40360e9c7979c2edf01b4a70b64f71af4d1a1e11
Gerrit-Change-Number: 13497
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [java] Deflake TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange

2019-06-03 Thread Grant Henke (Code Review)
Grant Henke has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13497 )

Change subject: [java] Deflake 
TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange
..


Patch Set 1: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I40360e9c7979c2edf01b4a70b64f71af4d1a1e11
Gerrit-Change-Number: 13497
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:48:18 +
Gerrit-HasComments: No


[kudu-CR] [java] Fix ordering bug in AsyncKuduSession

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13496 )

Change subject: [java] Fix ordering bug in AsyncKuduSession
..


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13496/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
File 
java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java:

http://gerrit.cloudera.org:8080/#/c/13496/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@306
PS1, Line 306:* Returns a buffer to the inactive queue after flushing.
> nit: Can you update this comment since the order changed? Maybe:
The buffer is already flushed at this point. This function resets state 
post-flush.

I'm thinking about rewriting some of the internals of AsyncKuduSession to make 
buffer management easier to understand.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I498636aeb0de2673c15b90260e6acf56de1ead06
Gerrit-Change-Number: 13496
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:47:42 +
Gerrit-HasComments: Yes


[kudu-CR] [java] Micro-improvements to DataGenerator

2019-06-03 Thread Grant Henke (Code Review)
Grant Henke has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13498 )

Change subject: [java] Micro-improvements to DataGenerator
..


Patch Set 2: Code-Review+2

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13498/2/java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java
File java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java:

http://gerrit.cloudera.org:8080/#/c/13498/2/java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java@85
PS2, Line 85: continue;
> The following two general principles of readable code:
I am fine with the change, was just curious the motivation given it was 
non-functional and minimal impact.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I78eca7c6a4d8e0f52fe646a4157774b9123c8a4a
Gerrit-Change-Number: 13498
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:45:37 +
Gerrit-HasComments: Yes


[kudu-CR] [java] Micro-improvements to DataGenerator

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13498 )

Change subject: [java] Micro-improvements to DataGenerator
..


Patch Set 2:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13498/2/java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java
File java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java:

http://gerrit.cloudera.org:8080/#/c/13498/2/java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java@85
PS2, Line 85: continue;
> Really curious about the motivation for this.
The following two general principles of readable code:
1. Minimize the amount of indentation, because each level of indentation is 
usually another level of control flow to keep in mind.
2. Early return (or break or continue) is good because it allows the reader to 
eliminate cases from consideration in the rest of the function or block.

Also, I didn't actually mean to submit this patch. I just made this change to 
help me understand this code better, and then forgot to undo it when submitting 
the follow-up.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I78eca7c6a4d8e0f52fe646a4157774b9123c8a4a
Gerrit-Change-Number: 13498
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:44:17 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-2791: TTL cache in DNS resolver (part 2)

2019-06-03 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13469 )

Change subject: KUDU-2791: TTL cache in DNS resolver (part 2)
..


Patch Set 6:

> > IIRC, nscd caches some other things, like user/group info etc.
 >
 > I thought that was a downside in some cases.
 >
 > >  Is nscd cumbersome to use?
 >
 > No, but the leaner the install requirements the better.

Making the install leaner is a noble goal, agree.  Then I think it makes sense 
to make sure the non-nscd case is no worse if running Kudu with this patch and 
remove the recommendation about using nscd.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib22e87d28573fdb93ba18cd6d99d8bde7524a4fc
Gerrit-Change-Number: 13469
Gerrit-PatchSet: 6
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:34:51 +
Gerrit-HasComments: No


[kudu-CR] [java] Fix ordering bug in AsyncKuduSession

2019-06-03 Thread Grant Henke (Code Review)
Grant Henke has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13496 )

Change subject: [java] Fix ordering bug in AsyncKuduSession
..


Patch Set 1: Code-Review+1

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13496/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
File 
java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java:

http://gerrit.cloudera.org:8080/#/c/13496/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@306
PS1, Line 306:* Returns a buffer to the inactive queue after flushing.
nit: Can you update this comment since the order changed? Maybe:

Returns a buffer to the inactive queue and flushes the buffer.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I498636aeb0de2673c15b90260e6acf56de1ead06
Gerrit-Change-Number: 13496
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:14:14 +
Gerrit-HasComments: Yes


[kudu-CR] [java] Micro-improvements to DataGenerator

2019-06-03 Thread Grant Henke (Code Review)
Grant Henke has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13498 )

Change subject: [java] Micro-improvements to DataGenerator
..


Patch Set 2:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13498/2/java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java
File java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java:

http://gerrit.cloudera.org:8080/#/c/13498/2/java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java@85
PS2, Line 85: continue;
Really curious about the motivation for this.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I78eca7c6a4d8e0f52fe646a4157774b9123c8a4a
Gerrit-Change-Number: 13498
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:09:07 +
Gerrit-HasComments: Yes


[kudu-CR] [backup] Deflake TestKuduBackup.testRandomBackupAndRestore

2019-06-03 Thread Grant Henke (Code Review)
Grant Henke has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13499 )

Change subject: [backup] Deflake TestKuduBackup.testRandomBackupAndRestore
..


Patch Set 3: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ic8500f884b05d09a8679863c380dd89f1675519f
Gerrit-Change-Number: 13499
Gerrit-PatchSet: 3
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:10:11 +
Gerrit-HasComments: No


[kudu-CR] KUDU-2791: TTL cache in DNS resolver (part 2)

2019-06-03 Thread Grant Henke (Code Review)
Grant Henke has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13469 )

Change subject: KUDU-2791: TTL cache in DNS resolver (part 2)
..


Patch Set 6:

> IIRC, nscd caches some other things, like user/group info etc.

I thought that was a downside in some cases.

>  Is nscd cumbersome to use?

No, but the leaner the install requirements the better.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib22e87d28573fdb93ba18cd6d99d8bde7524a4fc
Gerrit-Change-Number: 13469
Gerrit-PatchSet: 6
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Mon, 03 Jun 2019 16:02:34 +
Gerrit-HasComments: No


[kudu-CR] [backup] Deflake TestKuduBackup.testRandomBackupAndRestore

2019-06-03 Thread Will Berkeley (Code Review)
Hello Mike Percy, Kudu Jenkins, Adar Dembo, Grant Henke,

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

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

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

Change subject: [backup] Deflake TestKuduBackup.testRandomBackupAndRestore
..

[backup] Deflake TestKuduBackup.testRandomBackupAndRestore

TestKuduBackup.testRandomBackupAndRestore was flaky because it the
DataGenerator sometimes generated duplicate rows, which caused count
mismatches between the number of rows upserted and the number of rows
scanned from the table (particularly when the random schema had a single
INT8 primary key). This fix works around the problem by eliminating the
validation of backups against the generated rows, reducing the set of
validations to just the validation of the final state of the table
against the restored table.

Change-Id: Ic8500f884b05d09a8679863c380dd89f1675519f
---
M java/kudu-backup/src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala
1 file changed, 9 insertions(+), 5 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic8500f884b05d09a8679863c380dd89f1675519f
Gerrit-Change-Number: 13499
Gerrit-PatchSet: 3
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 


[kudu-CR] [java] Micro-improvements to DataGenerator

2019-06-03 Thread Will Berkeley (Code Review)
Hello Mike Percy, Kudu Jenkins, Adar Dembo, Grant Henke,

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

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

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

Change subject: [java] Micro-improvements to DataGenerator
..

[java] Micro-improvements to DataGenerator

Change-Id: I78eca7c6a4d8e0f52fe646a4157774b9123c8a4a
---
M java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java
1 file changed, 30 insertions(+), 28 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I78eca7c6a4d8e0f52fe646a4157774b9123c8a4a
Gerrit-Change-Number: 13498
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 


[kudu-CR] [hms] Support repairing entries with invalid IDs

2019-06-03 Thread Grant Henke (Code Review)
Grant Henke has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13492 )

Change subject: [hms] Support repairing entries with invalid IDs
..


Patch Set 2:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13492/2/java/kudu-hive/src/main/java/org/apache/kudu/hive/metastore/KuduMetastorePlugin.java
File 
java/kudu-hive/src/main/java/org/apache/kudu/hive/metastore/KuduMetastorePlugin.java:

http://gerrit.cloudera.org:8080/#/c/13492/2/java/kudu-hive/src/main/java/org/apache/kudu/hive/metastore/KuduMetastorePlugin.java@320
PS2, Line 320: return 
Boolean.parseBoolean(properties.get(KUDU_MASTER_EVENT));
> Not your fault, but can you add 'containsKey' check before this? Thanks!
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I437a8b42182dcfa09972f8059ccb6af280925085
Gerrit-Change-Number: 13492
Gerrit-PatchSet: 2
Gerrit-Owner: Grant Henke 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 03 Jun 2019 14:38:09 +
Gerrit-HasComments: Yes


[kudu-CR] [hms] Support repairing entries with invalid IDs

2019-06-03 Thread Grant Henke (Code Review)
Hello Alexey Serbin, Kudu Jenkins, Andrew Wong, Hao Hao,

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

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

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

Change subject: [hms] Support repairing entries with invalid IDs
..

[hms] Support repairing entries with invalid IDs

This patch updates the hms tool to support fixing HMS
tables with missing or invalid kudu.table_id properties.

To support this, the patch changes the HMS plugin to
allow tables with unmatched IDs to be altered when
`kudu.check_id` is false in the environment context.

Change-Id: I437a8b42182dcfa09972f8059ccb6af280925085
---
M 
java/kudu-hive/src/main/java/org/apache/kudu/hive/metastore/KuduMetastorePlugin.java
M 
java/kudu-hive/src/test/java/org/apache/kudu/hive/metastore/TestKuduMetastorePlugin.java
M src/kudu/hms/hms_catalog.cc
M src/kudu/hms/hms_catalog.h
M src/kudu/hms/hms_client.cc
M src/kudu/hms/hms_client.h
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_hms.cc
8 files changed, 84 insertions(+), 18 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I437a8b42182dcfa09972f8059ccb6af280925085
Gerrit-Change-Number: 13492
Gerrit-PatchSet: 3
Gerrit-Owner: Grant Henke 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread helifu (Code Review)
Hello Kudu Jenkins, Adar Dembo,

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

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

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

Change subject: [tablet] Support accurate count of rows
..

[tablet] Support accurate count of rows

  A tablet is consisted of one MRS and a group of DRS. And the
  group of DRS makes up a RowSetTree. Thus, the number of live
  rows in a tablet comes from MRS and RowSetTree. At the same
  time, a new capability is added to the tablet superblock to
  ensure that only newly created tablets enable the capability.

1.At the beginning, new rows will be written (insert/delete/
  reinsert) into MRS and counter1 holds the number of rows;
2.Next, MRS is being flushed to DRS (flush1):
  When MRS is being flushed, it will be attached to the RowSetTree,
  so we can count rows there (still counter1);
  When MRS is flushed to DRS, new RowSetMetadatas will be created
  and every one has persistent counter2;
3.Then, there will be updates to DRS and they will be accumulated
  in DMS. counter3 holds the number of rows;
4.If DMS is flushed (flush2):
  When DMS is being flushed, it will be attached to the Redo list,
  and its counter3 will be swapped to DeltaTracker;
  When DMS is flushed to Redo, the value of counter3 will be added
  to the counter2 of RowSetMetadata;
5.MinorCompact:
  No influence since any insertions or deletions come from memory;
6.MajorCompact:
  No influence, just like step5;
7.Compact:
  Just like step2.

__counter2(persistent)
   /
   |
   __RowSetMetadata   __counter3
  /  /
   flush1 |  |
[MRS] ---> [ DRS ... ] -- Undo + Redo + DMS
  |   ^  |
  \__ |__|
 counter1  flush2

Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
---
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/compaction-test.cc
M src/kudu/tablet/compaction.cc
M src/kudu/tablet/delta_tracker.cc
M src/kudu/tablet/delta_tracker.h
M src/kudu/tablet/deltamemstore-test.cc
M src/kudu/tablet/deltamemstore.cc
M src/kudu/tablet/deltamemstore.h
M src/kudu/tablet/diskrowset-test.cc
M src/kudu/tablet/diskrowset.cc
M src/kudu/tablet/diskrowset.h
M src/kudu/tablet/memrowset-test.cc
M src/kudu/tablet/memrowset.cc
M src/kudu/tablet/memrowset.h
M src/kudu/tablet/metadata.proto
M src/kudu/tablet/mock-rowsets.h
M src/kudu/tablet/rowset.cc
M src/kudu/tablet/rowset.h
M src/kudu/tablet/rowset_metadata.cc
M src/kudu/tablet/rowset_metadata.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
M src/kudu/tablet/tablet_metadata.cc
M src/kudu/tablet/tablet_metadata.h
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tserver/tablet_copy_client-test.cc
M src/kudu/tserver/tablet_copy_client.cc
M src/kudu/tserver/ts_tablet_manager.cc
30 files changed, 378 insertions(+), 31 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 7
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu 


[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread helifu (Code Review)
helifu has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13456 )

Change subject: [tablet] Support accurate count of rows
..


Patch Set 6:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG@33
PS6, Line 33: 8.For the historical tablets:
:   When a negative number is returned, it means it is a historical
:   tablet. And a historical tablet can return a positive number of
:   live rows after compaction and etc.
> need to be compacted?) so naturally the user will turn to other
 > means, such as rereplicating all the tablets from one tserver at a
 > time.

BTW, it doesn't seem to have that feature yet, does it?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 6
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu 
Gerrit-Comment-Date: Mon, 03 Jun 2019 12:08:22 +
Gerrit-HasComments: Yes


[kudu-CR] [tablet] Support accurate count of rows

2019-06-03 Thread helifu (Code Review)
helifu has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13456 )

Change subject: [tablet] Support accurate count of rows
..


Patch Set 6:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/13456/6//COMMIT_MSG@33
PS6, Line 33: 8.For the historical tablets:
:   When a negative number is returned, it means it is a historical
:   tablet. And a historical tablet can return a positive number of
:   live rows after compaction and etc.
> New fields are cheap, especially booleans (~2 bytes). And it might be nice
Done


http://gerrit.cloudera.org:8080/#/c/13456/6/src/kudu/tablet/delta_tracker.h
File src/kudu/tablet/delta_tracker.h:

http://gerrit.cloudera.org:8080/#/c/13456/6/src/kudu/tablet/delta_tracker.h@269
PS6, Line 269:   // Count the number of deleted rows in this Tracker.
> The comment suggests that it'll count up the rows in the entire tracker, (i
Done


http://gerrit.cloudera.org:8080/#/c/13456/4/src/kudu/tablet/memrowset.h
File src/kudu/tablet/memrowset.h:

http://gerrit.cloudera.org:8080/#/c/13456/4/src/kudu/tablet/memrowset.h@258
PS4, Line 258:   virtual int64_t CountLiveRows() const override {
> Having done this, could you add DCHECKs to the various counting/subtraction
Done


http://gerrit.cloudera.org:8080/#/c/13456/4/src/kudu/tablet/rowset_metadata.h
File src/kudu/tablet/rowset_metadata.h:

http://gerrit.cloudera.org:8080/#/c/13456/4/src/kudu/tablet/rowset_metadata.h@228
PS4, Line 228:   // Note: positive number means live rows and negative number 
means deleted rows.
> Sorry, I didn't mean to suggest that you should rename methods like these "
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2e6378e289bb85024c29e96c2b153fc417ed6412
Gerrit-Change-Number: 13456
Gerrit-PatchSet: 6
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: helifu 
Gerrit-Comment-Date: Mon, 03 Jun 2019 11:59:21 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-2348: Pick a random replica in RemoteTablet.java

2019-06-03 Thread Yifan Zhang (Code Review)
Hello Will Berkeley, Kudu Jenkins, Todd Lipcon,

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

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

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

Change subject: KUDU-2348: Pick a random replica in RemoteTablet.java
..

KUDU-2348: Pick a random replica in RemoteTablet.java

In RemoteTablet.java, 'getClosestServerInfo' always returns
whichever server ends up last in the map iteration order, if
all servers in the cluster is fully remote. This behavior
would cause heavy load on a particular server if there are
few servers in the cluster.

This patch fix the issue by generating a random non-negative
integer(randomInt) in RemoteTablet intializer and choose server
based on randomInt. The randomInt variable is static so the
choice is same across multiple RemoteTablet instances.

Change-Id: I3d70e45d4c9532bb32223c10936b4ff8fd99
---
M java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java
1 file changed, 25 insertions(+), 18 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I3d70e45d4c9532bb32223c10936b4ff8fd99
Gerrit-Change-Number: 12158
Gerrit-PatchSet: 10
Gerrit-Owner: Yifan Zhang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Reviewer: Yifan Zhang 


[kudu-CR] [java] Deflake TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13497 )

Change subject: [java] Deflake 
TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange
..


Patch Set 1: Verified+1

Looks like a (probably benign) race involving log-capturing code and the stack 
trace collector. Certainly unrelated to this patch.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I40360e9c7979c2edf01b4a70b64f71af4d1a1e11
Gerrit-Change-Number: 13497
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 09:41:31 +
Gerrit-HasComments: No


[kudu-CR] [java] Deflake TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has removed a vote on this change.

Change subject: [java] Deflake 
TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange
..


Removed Verified-1 by Kudu Jenkins (120)
--
To view, visit http://gerrit.cloudera.org:8080/13497
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I40360e9c7979c2edf01b4a70b64f71af4d1a1e11
Gerrit-Change-Number: 13497
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [java] Micro-improvements to DataGenerator

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/13498


Change subject: [java] Micro-improvements to DataGenerator
..

[java] Micro-improvements to DataGenerator

Change-Id: I78eca7c6a4d8e0f52fe646a4157774b9123c8a4a
---
M java/kudu-client/src/main/java/org/apache/kudu/util/DataGenerator.java
1 file changed, 30 insertions(+), 28 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I78eca7c6a4d8e0f52fe646a4157774b9123c8a4a
Gerrit-Change-Number: 13498
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 


[kudu-CR] [backup] Deflake TestKuduBackup.testRandomBackupAndRestore

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/13499


Change subject: [backup] Deflake TestKuduBackup.testRandomBackupAndRestore
..

[backup] Deflake TestKuduBackup.testRandomBackupAndRestore

TestKuduBackup.testRandomBackupAndRestore was flaky because it the
DataGenerator sometimes generated duplicate rows, which caused count
mismatches between the number of rows upserted and the number of rows
scanned from the table (particularly when the random schema had a single
INT8 primary key). This fix works around the problem by eliminating the
validation of backups against the generated rows, reducing the set of
validations to just the validation of the final state of the table
against the restored table.

Change-Id: Ic8500f884b05d09a8679863c380dd89f1675519f
---
M java/kudu-backup/src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala
1 file changed, 8 insertions(+), 5 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic8500f884b05d09a8679863c380dd89f1675519f
Gerrit-Change-Number: 13499
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 


[kudu-CR] [java] Deflake TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/13497


Change subject: [java] Deflake 
TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange
..

[java] Deflake TestKuduSession.testInsertAutoFlushBackgroundNonCoveredRange

The test uses an AsyncKuduSession in AUTO_FLUSH_BACKGROUND mode to send
20 inserts. 10 of them should fail because they are in a non-covered
range. However, the test did not join on the deferred when it called
AsyncKuduSession#flush. Therefore, there was no guarantee the operations
had been completed. So, every now and then, the ops were still in flight
when the errors were checked, causing the test to fail because it saw no
error where it expected to see errors.

Before this fix, the test failed because of this problem about 1/1000
times. I ran 1000 with the fix and saw no failures, but the rate was so
low maybe I was lucky. Regardless, I'm confident the test is more
correct with this fix.

Change-Id: I40360e9c7979c2edf01b4a70b64f71af4d1a1e11
---
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java
1 file changed, 2 insertions(+), 2 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I40360e9c7979c2edf01b4a70b64f71af4d1a1e11
Gerrit-Change-Number: 13497
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 


[kudu-CR] [java] Deflake TestKuduScanner.testDiffScan

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/13495 )

Change subject: [java] Deflake TestKuduScanner.testDiffScan
..

[java] Deflake TestKuduScanner.testDiffScan

I noticed a funny failure in TestKuduScanner.testDiffScan:

21:55:41.681 [DEBUG - New I/O worker #13] (AsyncKuduScanner.java:556) Can not 
open scanner
org.apache.kudu.client.NonRecoverableException: snapshot scan start timestamp 
is earlier than the ancient history mark. Consider increasing the value of the 
configuration parameter --tablet_history_max_age_sec. Snapshot timestamp: P: 0 
usec, L: 0 Ancient History Mark: P: 1558907741677535 usec, L: 0 Physical time 
difference: -1558907741.678s

The client logs the request it sent, which indeed has a
'snap_start_timestamp' of 0. This timestamp is supposed to come from
incrementing the propagated timestamp received from the client after
some random inserts and mutations. Fortunately, this test has nice
logging: it logs the operations it did and the timestamp:

21:55:40.874 [INFO - Time-limited test] (TestKuduScanner.java:250) Before: {}
21:55:40.874 [INFO - Time-limited test] (TestKuduScanner.java:255) startHT: 0

'generateMutationOperations' could generate 0 mutations, causing this
test to fail. This requires the random number generator to generate 0 3
times in a row when sampling uniformly from {0, 1, 2, 3, 4}, so the odds
of failure due to this defect in the test were only 1/125. I fixed this
by adjusting the number of initial inserts generated so it is always at
least 1.

I ran the test 1250 times with the fix and saw zero failures. Without
the fix, I saw 9/1250 failures.

Change-Id: Iadb46e5dae71724aa8ff88d04c40ef4eaf1ddd2a
Reviewed-on: http://gerrit.cloudera.org:8080/13495
Tested-by: Will Berkeley 
Reviewed-by: Alexey Serbin 
---
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduScanner.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/RandomUtils.java
2 files changed, 32 insertions(+), 14 deletions(-)

Approvals:
  Will Berkeley: Verified
  Alexey Serbin: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Iadb46e5dae71724aa8ff88d04c40ef4eaf1ddd2a
Gerrit-Change-Number: 13495
Gerrit-PatchSet: 3
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [java] Deflake TestKuduScanner.testDiffScan

2019-06-03 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13495 )

Change subject: [java] Deflake TestKuduScanner.testDiffScan
..


Patch Set 2: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iadb46e5dae71724aa8ff88d04c40ef4eaf1ddd2a
Gerrit-Change-Number: 13495
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 06:54:52 +
Gerrit-HasComments: No


[kudu-CR] [java] Fix ordering bug in AsyncKuduSession

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/13496


Change subject: [java] Fix ordering bug in AsyncKuduSession
..

[java] Fix ordering bug in AsyncKuduSession

AsyncKuduSession.testBatchErrorCauseSessionStuck occasionally failed
because AsyncKuduSession#hasPendingOperations returned true even though
the test joined on the deferred results of its two inserts. I tracked
this down to a small mis-ordering of lines where the AsyncKuduSession
fires a flush notification (from a Netty worker thread) before it
actually swaps the just-flushed buffer back to the inactive list, so
there was a small window of time when the client thread could observe
hasPendingOperations() as true even though there were no pending
operations.

I ran the test 100 times in dist-test with this fix and saw no failures.
I didn't run the test pre-fix through dist-test but the flaky dashboard
indicated it was 2-3% flaky.

Change-Id: I498636aeb0de2673c15b90260e6acf56de1ead06
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
1 file changed, 1 insertion(+), 1 deletion(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I498636aeb0de2673c15b90260e6acf56de1ead06
Gerrit-Change-Number: 13496
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 


[kudu-CR] [java] Deflake TestKuduScanner.testDiffScan

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13495 )

Change subject: [java] Deflake TestKuduScanner.testDiffScan
..


Patch Set 2: Verified+1

When will the flakes end :'(


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iadb46e5dae71724aa8ff88d04c40ef4eaf1ddd2a
Gerrit-Change-Number: 13495
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 03 Jun 2019 06:02:43 +
Gerrit-HasComments: No


[kudu-CR] [java] Deflake TestKuduScanner.testDiffScan

2019-06-03 Thread Will Berkeley (Code Review)
Will Berkeley has removed a vote on this change.

Change subject: [java] Deflake TestKuduScanner.testDiffScan
..


Removed Verified-1 by Kudu Jenkins (120)
--
To view, visit http://gerrit.cloudera.org:8080/13495
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: Iadb46e5dae71724aa8ff88d04c40ef4eaf1ddd2a
Gerrit-Change-Number: 13495
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)