[kudu-CR] [location awareness] Add ts location to TSInfoPB

2018-10-23 Thread Fengling Wang (Code Review)
Hello Will Berkeley, Tidy Bot, Alexey Serbin, Kudu Jenkins, Adar Dembo,

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

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

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

Change subject: [location_awareness] Add ts location to TSInfoPB
..

[location_awareness] Add ts location to TSInfoPB

I added the 'location' field into TSInfoPB so that the tool client
can get the ts location info.

Change-Id: Ic5865cb47698817097a7f62c968c5cfd80e07259
---
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/scripts/first_argument.sh
M src/kudu/integration-tests/table_locations-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/master.proto
5 files changed, 130 insertions(+), 27 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic5865cb47698817097a7f62c968c5cfd80e07259
Gerrit-Change-Number: 11727
Gerrit-PatchSet: 5
Gerrit-Owner: Fengling Wang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Fengling Wang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [location awareness] Add ts location to both client and internal client

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11679 )

Change subject: [location_awareness] Add ts location to both client and 
internal client
..


Patch Set 6:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11679/2//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/11679/2//COMMIT_MSG@7
PS2, Line 7: [location_awareness] Add ts location to both client and internal 
client
> Thanks, Adar and Alexey for the suggestions! One thing I'm not very clear,
Ah, it seems a typo in my last comment was the source of the confusion.

I meant '[client] expose location in KuduTabletServer via private API'.

Maybe, a better wording might be:

'[client] expose location via internal API'

And then add the detailed description.

And yes, since the location is needed for both KuduTabletServer and 
RemoteTabletServer, it's needed for both, I think.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib92cc6806073d32c859ae44ff803abb37cac99ac
Gerrit-Change-Number: 11679
Gerrit-PatchSet: 6
Gerrit-Owner: Fengling Wang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Fengling Wang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Wed, 24 Oct 2018 05:23:14 +
Gerrit-HasComments: Yes


[kudu-CR] [sentry] SentryAuthzProvider

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11659 )

Change subject: [sentry] SentryAuthzProvider
..


Patch Set 3:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/11659/3/src/kudu/sentry/sentry_authz_provider-test.cc
File src/kudu/sentry/sentry_authz_provider-test.cc:

http://gerrit.cloudera.org:8080/#/c/11659/3/src/kudu/sentry/sentry_authz_provider-test.cc@121
PS3, Line 121: SentryAuthzProviderTest
Is it worth adding a few scenarios to verify how the provider works if Sentry 
server is unreachable?


http://gerrit.cloudera.org:8080/#/c/11659/3/src/kudu/sentry/sentry_authz_provider.cc
File src/kudu/sentry/sentry_authz_provider.cc:

http://gerrit.cloudera.org:8080/#/c/11659/3/src/kudu/sentry/sentry_authz_provider.cc@121
PS3, Line 121: Status SentryAuthzProvider::AuthorizeAlterTable(const string& 
table_name,
 : const string& 
user,
 : bool* authorized)
nit: consider either setting '*authorized' to 'false' in the beginning or add 
WARN_UNUSED_RESULT attribute for those methods; that's to avoid mistakes of 
using the result '*authorized' if methods like this return not-OK prematurely.


http://gerrit.cloudera.org:8080/#/c/11659/3/src/kudu/sentry/sentry_authz_provider.cc@222
PS3, Line 222: Status SentryAuthzProvider::ParseAddresses
nit: it would be nice if the order of methods in the .cc file matched the order 
of those in the .h file.


http://gerrit.cloudera.org:8080/#/c/11659/3/src/kudu/sentry/sentry_client-test.cc
File src/kudu/sentry/sentry_client-test.cc:

http://gerrit.cloudera.org:8080/#/c/11659/3/src/kudu/sentry/sentry_client-test.cc@218
PS3, Line 218: request.__set_principalName("test-user");
I'm curious what would be the response if not setting (or clearing/resetting) 
this field?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I254828d640cd905e33dbaf0fe100d660bc9e6772
Gerrit-Change-Number: 11659
Gerrit-PatchSet: 3
Gerrit-Owner: Hao Hao 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Wed, 24 Oct 2018 05:13:20 +
Gerrit-HasComments: Yes


[kudu-CR] [location awareness] Add ts location to TSInfoPB

2018-10-23 Thread Fengling Wang (Code Review)
Hello Will Berkeley, Tidy Bot, Alexey Serbin, Kudu Jenkins, Adar Dembo,

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

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

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

Change subject: [location_awareness] Add ts location to TSInfoPB
..

[location_awareness] Add ts location to TSInfoPB

I added the 'location' field into TSInfoPB so that the tool client
can get the ts location info.

Change-Id: Ic5865cb47698817097a7f62c968c5cfd80e07259
---
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/scripts/first_argument.sh
M src/kudu/integration-tests/table_locations-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/master.proto
5 files changed, 130 insertions(+), 27 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic5865cb47698817097a7f62c968c5cfd80e07259
Gerrit-Change-Number: 11727
Gerrit-PatchSet: 4
Gerrit-Owner: Fengling Wang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Fengling Wang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [location awareness] Add ts location to both client and internal client

2018-10-23 Thread Fengling Wang (Code Review)
Fengling Wang has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11679 )

Change subject: [location_awareness] Add ts location to both client and 
internal client
..


Patch Set 2:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11679/2//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/11679/2//COMMIT_MSG@7
PS2, Line 7: Add ts location to both client and internal client
> Thank you for the clarification, Adar!
Thanks, Adar and Alexey for the suggestions! One thing I'm not very clear, so 
do I expose location via private API for both KuduTabletServer and 
RemoteTabletServer?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib92cc6806073d32c859ae44ff803abb37cac99ac
Gerrit-Change-Number: 11679
Gerrit-PatchSet: 2
Gerrit-Owner: Fengling Wang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Fengling Wang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Wed, 24 Oct 2018 04:36:46 +
Gerrit-HasComments: Yes


[kudu-CR] [location awareness] Add ts location to TSInfoPB

2018-10-23 Thread Fengling Wang (Code Review)
Hello Will Berkeley, Alexey Serbin, Kudu Jenkins, Adar Dembo,

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

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

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

Change subject: [location_awareness] Add ts location to TSInfoPB
..

[location_awareness] Add ts location to TSInfoPB

I added the 'location' field into TSInfoPB so that the tool client
can get the ts location info.

Change-Id: Ic5865cb47698817097a7f62c968c5cfd80e07259
---
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/scripts/first_argument.sh
M src/kudu/integration-tests/table_locations-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/master.proto
5 files changed, 130 insertions(+), 27 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic5865cb47698817097a7f62c968c5cfd80e07259
Gerrit-Change-Number: 11727
Gerrit-PatchSet: 3
Gerrit-Owner: Fengling Wang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Fengling Wang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [location awareness] Add ts location to TSInfoPB

2018-10-23 Thread Fengling Wang (Code Review)
Fengling Wang has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11727 )

Change subject: [location_awareness] Add ts location to TSInfoPB
..


Patch Set 2:

(7 comments)

http://gerrit.cloudera.org:8080/#/c/11727/2/src/kudu/integration-tests/table_locations-itest.cc
File src/kudu/integration-tests/table_locations-itest.cc:

http://gerrit.cloudera.org:8080/#/c/11727/2/src/kudu/integration-tests/table_locations-itest.cc@127
PS2, Line 127: properply
> Nit: properly
Done


http://gerrit.cloudera.org:8080/#/c/11727/2/src/kudu/integration-tests/table_locations-itest.cc@128
PS2, Line 128: class TableLocationsWithTSLocationTest : public KuduTest {
> You should be able to extend the existing test fixture; just add a virtual
Done


http://gerrit.cloudera.org:8080/#/c/11727/2/src/kudu/integration-tests/table_locations-itest.cc@138
PS2, Line 138:
"scripts/first_argument.sh");
> Nit: indentation
Done


http://gerrit.cloudera.org:8080/#/c/11727/2/src/kudu/integration-tests/table_locations-itest.cc@301
PS2, Line 301: req.set_max_returned_locations(3);
> Is there any significance of how many returned locations are there?
Done


http://gerrit.cloudera.org:8080/#/c/11727/2/src/kudu/integration-tests/table_locations-itest.cc@307
PS2, Line 307: EXPECT_EQ("", 
resp.tablet_locations(0).replicas(0).ts_info().location());
> What about checking additional 2 locations?
Done


http://gerrit.cloudera.org:8080/#/c/11727/2/src/kudu/integration-tests/table_locations-itest.cc@315
PS2, Line 315:
 :   { // Check that the master doesn't give back partial results 
while the table is being created.
 : GetTableLocationsRequestPB req;
 : GetTableLocationsResponsePB resp;
 : RpcController controller;
 : req.mutable_table()->set_table_name(table_name);
 :
 : for (int i = 1; ; i++) {
 :   if (i > 10) {
 : FAIL() << "Create table timed out";
 :   }
 :
 :   controller.Reset();
 :   ASSERT_OK(proxy_->GetTableLocations(req, , 
));
 :   SCOPED_TRACE(SecureDebugString(resp));
 :
 :   if (resp.has_error()) {
 : ASSERT_EQ(MasterErrorPB::TABLET_NOT_RUNNING, 
resp.error().code());
 : SleepFor(MonoDelta::FromMilliseconds(i * i * 100));
 :   } else {
 : ASSERT_EQ(1, resp.tablet_locations().size());
 : break;
 :   }
 : }
 :   }
> OK, then please encapsulate it into a common helper method. And maybe combi
Done


http://gerrit.cloudera.org:8080/#/c/11727/2/src/kudu/integration-tests/table_locations-itest.cc@350
PS2, Line 350: ASSERT_EQ("/foo", 
resp.tablet_locations(0).replicas(0).ts_info().location());
> Does it make sense to add an additional assert on expected size of the tabl
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ic5865cb47698817097a7f62c968c5cfd80e07259
Gerrit-Change-Number: 11727
Gerrit-PatchSet: 2
Gerrit-Owner: Fengling Wang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Fengling Wang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Wed, 24 Oct 2018 04:18:26 +
Gerrit-HasComments: Yes


[kudu-CR] [master] update placement logic for RF % 2 == 0

2018-10-23 Thread Alexey Serbin (Code Review)
Hello Will Berkeley, Kudu Jenkins,

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

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

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

Change subject: [master] update placement logic for RF % 2 == 0
..

[master] update placement logic for RF % 2 == 0

Updated the logic of the replica placement in master to properly handle
even replication factors.  Added corresponding unit tests as well.

It's possible to configure Kudu to allow creation of tables with an
even replication factor.  I think it's easier to implement the handling
of those cases instead of handling possible inconsistencies in
the rebalancer and other tools and adding extra paragraphs into release
notes.

Change-Id: I4259f805090dd350f31bf3bf2b6477898214ece4
---
M src/kudu/master/placement_policy-test.cc
M src/kudu/master/placement_policy.cc
M src/kudu/master/placement_policy.h
3 files changed, 137 insertions(+), 5 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4259f805090dd350f31bf3bf2b6477898214ece4
Gerrit-Change-Number: 11763
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [master] update placement logic for RF % 2 == 0

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/11763


Change subject: [master] update placement logic for RF % 2 == 0
..

[master] update placement logic for RF % 2 == 0

Updated replica placement logic to properly handle even replication
factors.  Added corresponding unit tests as well.

It's possible to configure Kudu to allow creation of tables with even
replication factor.  I think it's easier to implement the handling
of those cases instead of adding paragraphs into relase notes and
handling possible inconsistencies in the rebalancer and other tools.

Change-Id: I4259f805090dd350f31bf3bf2b6477898214ece4
---
M src/kudu/master/placement_policy-test.cc
M src/kudu/master/placement_policy.cc
M src/kudu/master/placement_policy.h
3 files changed, 137 insertions(+), 5 deletions(-)



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

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


[kudu-CR] [rebalancer] location-aware rebalancer (part 8/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/11761


Change subject: [rebalancer] location-aware rebalancer (part 8/n)
..

[rebalancer] location-aware rebalancer (part 8/n)

Updated FindBestReplicaToReplace() to handle common and edge cases
of even replication factors.  Added corresponding unit tests as well.

Change-Id: I8f8831d254b2ca0d9a12e0ffbc336a59c3c5c8de
---
M src/kudu/tools/placement_policy_util-test.cc
M src/kudu/tools/placement_policy_util.cc
2 files changed, 203 insertions(+), 3 deletions(-)



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

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


[kudu-CR] KUDU-1678: Race during abort of pending operations during raft shutdown

2018-10-23 Thread Will Berkeley (Code Review)
Will Berkeley has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/11759 )

Change subject: KUDU-1678: Race during abort of pending operations during raft 
shutdown
..

KUDU-1678: Race during abort of pending operations during raft shutdown

When a tablet replica is shutting down, the following race can occur:

0: The replica receives an ALTER_SCHEMA op adding the column 'foo'.
1: The replica receives a WRITE_OP inserting a row with column 'foo'
   present.
2: The replica starts to abort its pending operations because it is
   shutting down. The ALTER_SCHEMA is aborted.
3: Before the WRITE_OP can be aborted, it replicates.
4: The tablet server crashes as a result, with a message like:

F1023 20:49:18.088703  1409 transaction_driver.cc:382] T 
3fe5651e31d8486780d0e480f8748ead P 12e38846d8c648df8a11b9d8da2ad407 S R-NP Ts 
6309182492379934720: Cannot cancel transactions that have already replicated: 
Invalid argument: Client provided column c587 INT32 NOT NULL not present in 
tablet

The tablet server will crash with this same message every time it tries
to bootstrap. Other tablet servers hosting replicas may crash if they
replicated the bad write.

The problem is that transactions need to be aborted in reverse order of
their index, since later transactions may depend on earlier ones.

This bug reproduced about 1% of the time in alter_table-randomized-test
when run in DEBUG mode with 16 stress threads: I saw it 10 times in 1000
runs. With this change, I saw 0 failures in 1000 runs.

Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
Reviewed-on: http://gerrit.cloudera.org:8080/11759
Reviewed-by: Alexey Serbin 
Tested-by: Will Berkeley 
---
M src/kudu/consensus/pending_rounds.cc
M src/kudu/integration-tests/alter_table-randomized-test.cc
2 files changed, 23 insertions(+), 13 deletions(-)

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

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
Gerrit-Change-Number: 11759
Gerrit-PatchSet: 3
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] KUDU-1678: Race during abort of pending operations during raft shutdown

2018-10-23 Thread Will Berkeley (Code Review)
Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11759 )

Change subject: KUDU-1678: Race during abort of pending operations during raft 
shutdown
..


Patch Set 2: Verified+1


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
Gerrit-Change-Number: 11759
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 23:25:18 +
Gerrit-HasComments: No


[kudu-CR] KUDU-1678: Race during abort of pending operations during raft shutdown

2018-10-23 Thread Will Berkeley (Code Review)
Will Berkeley has removed Kudu Jenkins from this change.  ( 
http://gerrit.cloudera.org:8080/11759 )

Change subject: KUDU-1678: Race during abort of pending operations during raft 
shutdown
..


Removed reviewer Kudu Jenkins with the following votes:

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteReviewer
Gerrit-Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
Gerrit-Change-Number: 11759
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] KUDU-1678: Race during abort of pending operations during raft shutdown

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11759 )

Change subject: KUDU-1678: Race during abort of pending operations during raft 
shutdown
..


Patch Set 2: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
Gerrit-Change-Number: 11759
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 22:45:47 +
Gerrit-HasComments: No


[kudu-CR] KUDU-1678: Race during abort of pending operations during raft shutdown

2018-10-23 Thread Will Berkeley (Code Review)
Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11759 )

Change subject: KUDU-1678: Race during abort of pending operations during raft 
shutdown
..


Patch Set 2:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/11759/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/11759/1//COMMIT_MSG@9
PS1, Line 9: When a tablet replica is shutting down, the following race can 
occur:
> I'm kind of surprised that we don't "quiesce" a tablet during shutdown so t
Yeah, that would work too.


http://gerrit.cloudera.org:8080/#/c/11759/1//COMMIT_MSG@17
PS1, Line 17: 4: The tablet server crashes as a result, with a message like:
> Specifically, a different tserver crashes, right? The one hosting the FOLLO
I think it can cause multiple to crash-- which servers end up with the bad 
write in their log.


http://gerrit.cloudera.org:8080/#/c/11759/1/src/kudu/consensus/pending_rounds.cc
File src/kudu/consensus/pending_rounds.cc:

http://gerrit.cloudera.org:8080/#/c/11759/1/src/kudu/consensus/pending_rounds.cc@66
PS1, Line 66: tions in reverse index order. See KUDU-1678.
> nit: why not to use crbegin() and crend() if the elements of the container
Done


http://gerrit.cloudera.org:8080/#/c/11759/1/src/kudu/consensus/pending_rounds.cc@67
PS1, Line 67:  pending_txns
> nit: does txn->second look any better?
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
Gerrit-Change-Number: 11759
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 22:41:55 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-1678: Race during abort of pending operations during raft shutdown

2018-10-23 Thread Will Berkeley (Code Review)
Hello Mike Percy, Alexey Serbin, Kudu Jenkins, Andrew Wong, Adar Dembo,

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

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

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

Change subject: KUDU-1678: Race during abort of pending operations during raft 
shutdown
..

KUDU-1678: Race during abort of pending operations during raft shutdown

When a tablet replica is shutting down, the following race can occur:

0: The replica receives an ALTER_SCHEMA op adding the column 'foo'.
1: The replica receives a WRITE_OP inserting a row with column 'foo'
   present.
2: The replica starts to abort its pending operations because it is
   shutting down. The ALTER_SCHEMA is aborted.
3: Before the WRITE_OP can be aborted, it replicates.
4: The tablet server crashes as a result, with a message like:

F1023 20:49:18.088703  1409 transaction_driver.cc:382] T 
3fe5651e31d8486780d0e480f8748ead P 12e38846d8c648df8a11b9d8da2ad407 S R-NP Ts 
6309182492379934720: Cannot cancel transactions that have already replicated: 
Invalid argument: Client provided column c587 INT32 NOT NULL not present in 
tablet

The tablet server will crash with this same message every time it tries
to bootstrap. Other tablet servers hosting replicas may crash if they
replicated the bad write.

The problem is that transactions need to be aborted in reverse order of
their index, since later transactions may depend on earlier ones.

This bug reproduced about 1% of the time in alter_table-randomized-test
when run in DEBUG mode with 16 stress threads: I saw it 10 times in 1000
runs. With this change, I saw 0 failures in 1000 runs.

Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
---
M src/kudu/consensus/pending_rounds.cc
M src/kudu/integration-tests/alter_table-randomized-test.cc
2 files changed, 23 insertions(+), 13 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
Gerrit-Change-Number: 11759
Gerrit-PatchSet: 2
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 


[kudu-CR] KUDU-1678: Race during abort of pending operations during raft shutdown

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11759 )

Change subject: KUDU-1678: Race during abort of pending operations during raft 
shutdown
..


Patch Set 1: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
Gerrit-Change-Number: 11759
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Comment-Date: Tue, 23 Oct 2018 22:40:34 +
Gerrit-HasComments: No


[kudu-CR] KUDU-1678: Race during abort of pending operations during raft shutdown

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11759 )

Change subject: KUDU-1678: Race during abort of pending operations during raft 
shutdown
..


Patch Set 1:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/11759/1/src/kudu/consensus/pending_rounds.cc
File src/kudu/consensus/pending_rounds.cc:

http://gerrit.cloudera.org:8080/#/c/11759/1/src/kudu/consensus/pending_rounds.cc@66
PS1, Line 66: pending_txns_.rbegin(); txn != pending_txns_.rend()
nit: why not to use crbegin() and crend() if the elements of the container are 
not changed anyway?


http://gerrit.cloudera.org:8080/#/c/11759/1/src/kudu/consensus/pending_rounds.cc@67
PS1, Line 67: (*txn).second
nit: does txn->second look any better?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
Gerrit-Change-Number: 11759
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Comment-Date: Tue, 23 Oct 2018 22:35:38 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-1678: Race during abort of pending operations during raft shutdown

2018-10-23 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11759 )

Change subject: KUDU-1678: Race during abort of pending operations during raft 
shutdown
..


Patch Set 1: Code-Review+2

(2 comments)

http://gerrit.cloudera.org:8080/#/c/11759/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/11759/1//COMMIT_MSG@9
PS1, Line 9: When a tablet replica is shutting down, the following race can 
occur:
I'm kind of surprised that we don't "quiesce" a tablet during shutdown so that 
its pending transactions can't make forward progress as we cancel them.


http://gerrit.cloudera.org:8080/#/c/11759/1//COMMIT_MSG@17
PS1, Line 17: 4: The tablet server crashes as a result, with a message like:
Specifically, a different tserver crashes, right? The one hosting the FOLLOWER 
of this tablet, the recipient of the replication? Although the example in the 
bug report doesn't involve replication; just scheduling of the uncanceled write 
on the local tserver's prepare threadpool.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
Gerrit-Change-Number: 11759
Gerrit-PatchSet: 1
Gerrit-Owner: Will Berkeley 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Comment-Date: Tue, 23 Oct 2018 22:33:25 +
Gerrit-HasComments: Yes


[kudu-CR] WIP KUDU-2542: add initial authorization token impl

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11750 )

Change subject: WIP KUDU-2542: add initial authorization token impl
..


Patch Set 1:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/11750/1/src/kudu/security/token.proto
File src/kudu/security/token.proto:

http://gerrit.cloudera.org:8080/#/c/11750/1/src/kudu/security/token.proto@49
PS1, Line 49: optional bool update_privilege = 5;
We don't support authz on per-column basis for update, right?


http://gerrit.cloudera.org:8080/#/c/11750/1/src/kudu/security/token.proto@64
PS1, Line 64: optional
> I think it is one table per AuthzToken. Add a comment here to clarify that?
That was a generic question regarding current authz token design and whether 
it's about to evolve in the future.

I understand that current implementation assumes a single table privilege per 
token. The question is whether it's anticipated to change in the future, and if 
yes, how we are about to expand this message.

Probably, it's not worth thinking about that now, and if needed, we can always 
update the message and introduce new fields and obsolete old ones when it's 
needed.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Id28747ec38675abdf50dce1e7c176d29213e370f
Gerrit-Change-Number: 11750
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Tue, 23 Oct 2018 22:24:57 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-1678: Race during abort of pending operations during raft shutdown

2018-10-23 Thread Will Berkeley (Code Review)
Will Berkeley has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/11759


Change subject: KUDU-1678: Race during abort of pending operations during raft 
shutdown
..

KUDU-1678: Race during abort of pending operations during raft shutdown

When a tablet replica is shutting down, the following race can occur:

0: The replica receives an ALTER_SCHEMA op adding the column 'foo'.
1: The replica receives a WRITE_OP inserting a row with column 'foo'
   present.
2: The replica starts to abort its pending operations because it is
   shutting down. The ALTER_SCHEMA is aborted.
3: Before the WRITE_OP can be aborted, it replicates.
4: The tablet server crashes as a result, with a message like:

F1023 20:49:18.088703  1409 transaction_driver.cc:382] T 
3fe5651e31d8486780d0e480f8748ead P 12e38846d8c648df8a11b9d8da2ad407 S R-NP Ts 
6309182492379934720: Cannot cancel transactions that have already replicated: 
Invalid argument: Client provided column c587 INT32 NOT NULL not present in 
tablet

The tablet server will crash with this same message every time it tries
to bootstrap.

The problem is that transactions need to be aborted in reverse order of
their index, since later transactions may depend on earlier ones.

This bug reproduced about 1% of the time in alter_table-randomized-test
when run in DEBUG mode with 16 stress threads: I saw it 10 times in 1000
runs. With this change, I saw 0 failures in 1000 runs.

Change-Id: Idde75bd1fe966a1a3d53aa1e5de6a01a48ff1103
---
M src/kudu/consensus/pending_rounds.cc
M src/kudu/integration-tests/alter_table-randomized-test.cc
2 files changed, 22 insertions(+), 13 deletions(-)



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

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


[kudu-CR] WIP KUDU-2543: pass around default authz tokens

2018-10-23 Thread Hao Hao (Code Review)
Hao Hao has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11751 )

Change subject: WIP KUDU-2543: pass around default authz tokens
..


Patch Set 1:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/rpc/rpc_verification_util.h
File src/kudu/rpc/rpc_verification_util.h:

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/rpc/rpc_verification_util.h@40
PS1, Line 40: with a new token
This comment looks very specific to me since there is no 'token' concept 
defined in the scope of this method.


http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/rpc/rpc_verification_util.h@41
PS1, Line 41: ErrorForVerification
nit: name it ParseVerificationResult to be more clear?


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

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/tserver/tablet_service.cc@388
PS1, Line 388: FATAL_INVALID_AUTHORIZATION_TOKEN
> I would expect it to be FATAL_UNAUTHORIZED instead.  Could you add the expl
Does FATAL_UNAUTHORIZED intent to cover both authentication and authorization 
failure?


http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/tserver/tserver.proto
File src/kudu/tserver/tserver.proto:

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/tserver/tserver.proto@307
PS1, Line 307: ScanRequestPB
Add SignedTokenPB for ChecksumRequestPB in tserver.proto as well?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I99555e0ab2d09d4abcbc12b1100658a9a17590f4
Gerrit-Change-Number: 11751
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Tue, 23 Oct 2018 22:12:36 +
Gerrit-HasComments: Yes


[kudu-CR] [location awareness] Add ts location to both client and internal client

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11679 )

Change subject: [location_awareness] Add ts location to both client and 
internal client
..


Patch Set 2:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11679/2//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/11679/2//COMMIT_MSG@7
PS2, Line 7: Add ts location to both client and internal client
> I wasn't aware of the RemoteKsckCluster use case. Given that, I agree that
Thank you for the clarification, Adar!

I agree it's crucial to have the right wording in the commit message regarding 
the change.

Fengling, could you address that?  I think something like

'[client] expose location in RemoteTabletServer via private API'

could be good enough summary (i.e. the first line of the commit message).



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib92cc6806073d32c859ae44ff803abb37cac99ac
Gerrit-Change-Number: 11679
Gerrit-PatchSet: 2
Gerrit-Owner: Fengling Wang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Fengling Wang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 21:34:56 +
Gerrit-HasComments: Yes


[kudu-CR] WIP KUDU-2542: add initial authorization token impl

2018-10-23 Thread Hao Hao (Code Review)
Hao Hao has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11750 )

Change subject: WIP KUDU-2542: add initial authorization token impl
..


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11750/1/src/kudu/security/token.proto
File src/kudu/security/token.proto:

http://gerrit.cloudera.org:8080/#/c/11750/1/src/kudu/security/token.proto@64
PS1, Line 64: optional
> Do we ever need to have privileges for multiple tables in one authz token?
I think it is one table per AuthzToken. Add a comment here to clarify that?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Id28747ec38675abdf50dce1e7c176d29213e370f
Gerrit-Change-Number: 11750
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Tue, 23 Oct 2018 20:55:40 +
Gerrit-HasComments: Yes


[kudu-CR] [location awareness] Add ts location to both client and internal client

2018-10-23 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11679 )

Change subject: [location_awareness] Add ts location to both client and 
internal client
..


Patch Set 6:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11679/2//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/11679/2//COMMIT_MSG@7
PS2, Line 7: [location_awareness] Add ts location to both client and internal 
client
> Probably, that has already been discussed, and if so, I just want to have i
I wasn't aware of the RemoteKsckCluster use case. Given that, I agree that 
exposing location in KuduTabletServer with KUDU_NO_EXPORT makes the most sense.

That said, this commit message should avoid saying that the ts location is 
being added to the public API.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib92cc6806073d32c859ae44ff803abb37cac99ac
Gerrit-Change-Number: 11679
Gerrit-PatchSet: 6
Gerrit-Owner: Fengling Wang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Fengling Wang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 20:35:20 +
Gerrit-HasComments: Yes


[kudu-CR] [rebalancer] location-aware rebalancer (part 3/n)

2018-10-23 Thread Will Berkeley (Code Review)
Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11744 )

Change subject: [rebalancer] location-aware rebalancer (part 3/n)
..


Patch Set 2: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie89f1958238dbc28b44111038d4b82f49f824ca9
Gerrit-Change-Number: 11744
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 20:33:36 +
Gerrit-HasComments: No


[kudu-CR] [rebalancer] location-aware rebalancer (part 2/n)

2018-10-23 Thread Will Berkeley (Code Review)
Will Berkeley has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11743 )

Change subject: [rebalancer] location-aware rebalancer (part 2/n)
..


Patch Set 2: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia1bdd4ee13d0522e49467b8b6e4e3a76ec560b26
Gerrit-Change-Number: 11743
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 20:33:24 +
Gerrit-HasComments: No


[kudu-CR] [location awareness] Add ts location to both client and internal client

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11679 )

Change subject: [location_awareness] Add ts location to both client and 
internal client
..


Patch Set 2:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11679/2//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/11679/2//COMMIT_MSG@7
PS2, Line 7: Add ts location to both client and internal client
> That make sense, but then I don't think you need to expose location() in cl
Probably, that has already been discussed, and if so, I just want to have it in 
the review as well.

It seems the idea was to use it in 
https://gerrit.cloudera.org/#/c/11422/11/src/kudu/tools/ksck_remote.cc@487

Is that acceptable to have it exposed in this patch or we want to have a 
separate patch with exposing the location via kudu::client::KuduTabletServer 
API (not exported, though)?

Or another alternative would be not exposing the location via a public method 
of KuduTabletServer (but in internal-only API); instead, befriend 
RemoteKsckCluster and access the location field in 
src/kudu/tools/ksck_remote.cc via the KuduTabletServer::Data class?

Adar, any preference on the items above?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib92cc6806073d32c859ae44ff803abb37cac99ac
Gerrit-Change-Number: 11679
Gerrit-PatchSet: 2
Gerrit-Owner: Fengling Wang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Fengling Wang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 20:24:10 +
Gerrit-HasComments: Yes


[kudu-CR] [location awareness] Add location info in ksck report

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11422 )

Change subject: [location_awareness] Add location info in ksck report
..


Patch Set 11:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/11422/11/src/kudu/tools/ksck.h
File src/kudu/tools/ksck.h:

http://gerrit.cloudera.org:8080/#/c/11422/11/src/kudu/tools/ksck.h@388
PS11, Line 388: std::string location_
nit: it seems this field is set only in the constructor and is not changing 
during lifetime of the objects, so it makes sense to add 'const' specifier.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ideff2dd4975c99a1135002624de2620fb95c
Gerrit-Change-Number: 11422
Gerrit-PatchSet: 11
Gerrit-Owner: Fengling Wang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Fengling Wang 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 20:24:19 +
Gerrit-HasComments: Yes


[kudu-CR] [rebalancer] location-aware rebalancer (part 7/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11748 )

Change subject: [rebalancer] location-aware rebalancer (part 7/n)
..


Patch Set 2: Verified+1

Unrelated flake in AdminCliTest.TestSimultaneousLeaderTransferAndAbruptStepdown 
(ASAN).


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9ace790aad1c1a4605ef90f6df2104f4a228a5b5
Gerrit-Change-Number: 11748
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 19:36:09 +
Gerrit-HasComments: No


[kudu-CR] [rebalancer] location-aware rebalancer (part 7/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has removed Kudu Jenkins from this change.  ( 
http://gerrit.cloudera.org:8080/11748 )

Change subject: [rebalancer] location-aware rebalancer (part 7/n)
..


Removed reviewer Kudu Jenkins with the following votes:

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteReviewer
Gerrit-Change-Id: I9ace790aad1c1a4605ef90f6df2104f4a228a5b5
Gerrit-Change-Number: 11748
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] catalog manager: adjust maximum tablet count at table creation time

2018-10-23 Thread Adar Dembo (Code Review)
Adar Dembo has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/11716 )

Change subject: catalog_manager: adjust maximum tablet count at table creation 
time
..

catalog_manager: adjust maximum tablet count at table creation time

The maximum tablet check introduced in commit 64983c454 was incomplete in
that it only considered the number of _tablets_ rather than the number of
_replicas_, even though replica creation itself places load on a tserver
during table creation. This patch clarifies the intended behavior and
incorporates the replication factor of the table into the check.

Note: users who override --max_create_tablets_per_ts are in for a rude
surprise as the maximum size of their tables will be effectively cut in
three. Given that the parameter isn't tagged as "stable" though, I think
communicating this change in behavior via release note is sufficient.

Change-Id: I00d91baddb1591476a7be27cba043e6354558208
Reviewed-on: http://gerrit.cloudera.org:8080/11716
Reviewed-by: Dan Burkert 
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin 
---
M docs/known_issues.adoc
M src/kudu/client/client-test.cc
M src/kudu/integration-tests/raft_consensus_stress-itest.cc
M src/kudu/master/catalog_manager.cc
4 files changed, 40 insertions(+), 26 deletions(-)

Approvals:
  Dan Burkert: Looks good to me, but someone else must approve
  Kudu Jenkins: Verified
  Alexey Serbin: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I00d91baddb1591476a7be27cba043e6354558208
Gerrit-Change-Number: 11716
Gerrit-PatchSet: 6
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] catalog manager: adjust maximum tablet count at table creation time

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11716 )

Change subject: catalog_manager: adjust maximum tablet count at table creation 
time
..


Patch Set 5: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I00d91baddb1591476a7be27cba043e6354558208
Gerrit-Change-Number: 11716
Gerrit-PatchSet: 5
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 19:08:35 +
Gerrit-HasComments: No


[kudu-CR] [rebalancer] location-aware rebalancer (part 6/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11747 )

Change subject: [rebalancer] location-aware rebalancer (part 6/n)
..


Patch Set 1:

(5 comments)

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

http://gerrit.cloudera.org:8080/#/c/11747/1/src/kudu/tools/tool_replica_util.h@121
PS1, Line 121: is
> Remove.
Done


http://gerrit.cloudera.org:8080/#/c/11747/1/src/kudu/tools/tool_replica_util.cc
File src/kudu/tools/tool_replica_util.cc:

http://gerrit.cloudera.org:8080/#/c/11747/1/src/kudu/tools/tool_replica_util.cc@415
PS1, Line 415:   if (is_ts_uuid_replace_attr_set) {
 : // Nothing to do: the replica is already marked with the 
REPLACE attribute.
 : return Status::OK();
 :   }
> Why not return from the loop body?
That's a good idea.


http://gerrit.cloudera.org:8080/#/c/11747/1/src/kudu/tools/tool_replica_util.cc@435
PS1, Line 435: if (resp.error().code() == 
tserver::TabletServerErrorPB::CAS_FAILED &&
 : cas_failed) {
 :   *cas_failed = true;
 : }
> I think we should explicitly set cas_failed=false if cas_failed is non-null
Yup, that's a good catch.


http://gerrit.cloudera.org:8080/#/c/11747/1/src/kudu/tools/tool_replica_util.cc@460
PS1, Line 460:   // Check if the replica with UUID 'to_ts_uuid' is in the 
config, and if it has
 :   // been promoted to voter.
It's a stale comment, I removed it.


http://gerrit.cloudera.org:8080/#/c/11747/1/src/kudu/tools/tool_replica_util.cc@494
PS1, Line 494: is_all_voters
> Why do we need to check this?
I thought making current leader step-down before the non-voter is promoted in 
some cases might needlessly delay the promotion of already caught-up replica.  
Also, the former leader is not going to be evicted anyway before the non-voter 
become a voter.  In addition, de-moting the former leader at this point 
slightly increases chances of the former leader to be re-elected in case of 
network issues and RPC queue overflows.

>From the other side, I don't see a lot of benefits demoting current leader 
>early.

I added a comment.  If you think there is something wrong with those arguments, 
I can remove that logic.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I80b560d70c4d7383ee89917a359b4bb2f41bfd31
Gerrit-Change-Number: 11747
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 19:05:32 +
Gerrit-HasComments: Yes


[kudu-CR] [rebalancer] location-aware rebalancer (part 7/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11748 )

Change subject: [rebalancer] location-aware rebalancer (part 7/n)
..


Patch Set 1:

(5 comments)

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

http://gerrit.cloudera.org:8080/#/c/11748/1/src/kudu/tools/rebalancer.h@326
PS1, Line 326: If 'location' is boost::none, rebalance across
 : // locations.
> The idea is that this balances within a location if 'location' is not boost
Woops, that's just a stale comment.  I updated it.


http://gerrit.cloudera.org:8080/#/c/11748/1/src/kudu/tools/rebalancer.cc
File src/kudu/tools/rebalancer.cc:

http://gerrit.cloudera.org:8080/#/c/11748/1/src/kudu/tools/rebalancer.cc@257
PS1, Line 257: 
> in
Done


http://gerrit.cloudera.org:8080/#/c/11748/1/src/kudu/tools/rebalancer.cc@289
PS1, Line 289: // TODO(aserbin): it would be nice to run these rebalancers in 
parallel
> Yeah, I think that's a good idea. But also worth saving for a followup-once
Ack.


http://gerrit.cloudera.org:8080/#/c/11748/1/src/kudu/tools/rebalancer_tool-test.cc
File src/kudu/tools/rebalancer_tool-test.cc:

http://gerrit.cloudera.org:8080/#/c/11748/1/src/kudu/tools/rebalancer_tool-test.cc@1170
PS1, Line 1170: This tests
> These tests are
Done


http://gerrit.cloudera.org:8080/#/c/11748/1/src/kudu/tools/tool_action_cluster.cc
File src/kudu/tools/tool_action_cluster.cc:

http://gerrit.cloudera.org:8080/#/c/11748/1/src/kudu/tools/tool_action_cluster.cc@107
PS1, Line 107: envolves
> involves
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9ace790aad1c1a4605ef90f6df2104f4a228a5b5
Gerrit-Change-Number: 11748
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 19:05:28 +
Gerrit-HasComments: Yes


[kudu-CR] [rebalancer] location-aware rebalancer (part 6/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Hello Will Berkeley, Kudu Jenkins,

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

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

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

Change subject: [rebalancer] location-aware rebalancer (part 6/n)
..

[rebalancer] location-aware rebalancer (part 6/n)

Added SetReplace() and CheckCompleteReplace() auxiliary fuctions.
A follow-up patch will start using those.

Change-Id: I80b560d70c4d7383ee89917a359b4bb2f41bfd31
---
M src/kudu/tools/tool_replica_util.cc
M src/kudu/tools/tool_replica_util.h
2 files changed, 157 insertions(+), 0 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I80b560d70c4d7383ee89917a359b4bb2f41bfd31
Gerrit-Change-Number: 11747
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [rebalancer] location-aware rebalancer (part 7/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Hello Will Berkeley,

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

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

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

Change subject: [rebalancer] location-aware rebalancer (part 7/n)
..

[rebalancer] location-aware rebalancer (part 7/n)

Added PolicyFixer and integrated the cross-location balancing
algorithm.

Added one integration test as well, but it's disabled for a now since
it requires a tablet server's location to be reported in
KsckServerHealthSummary.  If that piece is in place, the test passes.

More integration tests will be added in a follow-up commit.

Change-Id: I9ace790aad1c1a4605ef90f6df2104f4a228a5b5
---
M src/kudu/tools/rebalancer.cc
M src/kudu/tools/rebalancer.h
M src/kudu/tools/rebalancer_tool-test.cc
M src/kudu/tools/tool_action_cluster.cc
4 files changed, 709 insertions(+), 49 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9ace790aad1c1a4605ef90f6df2104f4a228a5b5
Gerrit-Change-Number: 11748
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] WIP: Add mini Sentry to the external mini cluster

2018-10-23 Thread Dan Burkert (Code Review)
Hello Andrew Wong, Hao Hao,

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

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

to review the following change.


Change subject: WIP: Add mini Sentry to the external mini cluster
..

WIP: Add mini Sentry to the external mini cluster

This includes some changes to turn on remote debugging of the Sentry and
HMS processes marked with TODOs; these should be removed before
committing.

Change-Id: I312e7008983c4505ef0db270ee4427c3a236b50b
---
M src/kudu/hms/mini_hms.cc
M src/kudu/hms/mini_hms.h
M src/kudu/mini-cluster/CMakeLists.txt
M src/kudu/mini-cluster/external_mini_cluster-test.cc
M src/kudu/mini-cluster/external_mini_cluster.cc
M src/kudu/mini-cluster/external_mini_cluster.h
M src/kudu/sentry/mini_sentry.cc
M src/kudu/sentry/mini_sentry.h
M src/kudu/sentry/sentry_client-test.cc
M src/kudu/thrift/client.h
M src/kudu/util/test_util.cc
11 files changed, 227 insertions(+), 31 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I312e7008983c4505ef0db270ee4427c3a236b50b
Gerrit-Change-Number: 11756
Gerrit-PatchSet: 1
Gerrit-Owner: Dan Burkert 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Hao Hao 


[kudu-CR] catalog manager: adjust maximum tablet count at table creation time

2018-10-23 Thread Dan Burkert (Code Review)
Dan Burkert has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11716 )

Change subject: catalog_manager: adjust maximum tablet count at table creation 
time
..


Patch Set 5: Code-Review+1


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I00d91baddb1591476a7be27cba043e6354558208
Gerrit-Change-Number: 11716
Gerrit-PatchSet: 5
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 18:41:40 +
Gerrit-HasComments: No


[kudu-CR] catalog manager: adjust maximum tablet count at table creation time

2018-10-23 Thread Adar Dembo (Code Review)
Hello Will Berkeley, Alexey Serbin, Dan Burkert, Jean-Daniel Cryans, Kudu 
Jenkins,

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

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

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

Change subject: catalog_manager: adjust maximum tablet count at table creation 
time
..

catalog_manager: adjust maximum tablet count at table creation time

The maximum tablet check introduced in commit 64983c454 was incomplete in
that it only considered the number of _tablets_ rather than the number of
_replicas_, even though replica creation itself places load on a tserver
during table creation. This patch clarifies the intended behavior and
incorporates the replication factor of the table into the check.

Note: users who override --max_create_tablets_per_ts are in for a rude
surprise as the maximum size of their tables will be effectively cut in
three. Given that the parameter isn't tagged as "stable" though, I think
communicating this change in behavior via release note is sufficient.

Change-Id: I00d91baddb1591476a7be27cba043e6354558208
---
M docs/known_issues.adoc
M src/kudu/client/client-test.cc
M src/kudu/integration-tests/raft_consensus_stress-itest.cc
M src/kudu/master/catalog_manager.cc
4 files changed, 40 insertions(+), 26 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I00d91baddb1591476a7be27cba043e6354558208
Gerrit-Change-Number: 11716
Gerrit-PatchSet: 5
Gerrit-Owner: Adar Dembo 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Jean-Daniel Cryans 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [rebalancer] location-aware rebalancer (part 5/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has removed Kudu Jenkins from this change.  ( 
http://gerrit.cloudera.org:8080/11746 )

Change subject: [rebalancer] location-aware rebalancer (part 5/n)
..


Removed reviewer Kudu Jenkins with the following votes:

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteReviewer
Gerrit-Change-Id: I78446fec8b8f80b7c6112bdd9d53f3dbf506
Gerrit-Change-Number: 11746
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [rebalancer] location-aware rebalancer (part 5/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11746 )

Change subject: [rebalancer] location-aware rebalancer (part 5/n)
..


Patch Set 2: Verified+1

Unrelated flake in AdminCliTest.TestSimultaneousLeaderTransferAndAbruptStepdown 
(ASAN)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I78446fec8b8f80b7c6112bdd9d53f3dbf506
Gerrit-Change-Number: 11746
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 18:26:51 +
Gerrit-HasComments: No


[kudu-CR] [rebalancer] location-aware rebalancer (part 4/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has removed Kudu Jenkins from this change.  ( 
http://gerrit.cloudera.org:8080/11745 )

Change subject: [rebalancer] location-aware rebalancer (part 4/n)
..


Removed reviewer Kudu Jenkins with the following votes:

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteReviewer
Gerrit-Change-Id: Id47183fc853573390b22ec714751adec93e0ea3a
Gerrit-Change-Number: 11745
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [rebalancer] location-aware rebalancer (part 4/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11745 )

Change subject: [rebalancer] location-aware rebalancer (part 4/n)
..


Patch Set 2: Verified+1

Unrelated flake in org.apache.kudu.spark.kudu.DefaultSourceTest


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Id47183fc853573390b22ec714751adec93e0ea3a
Gerrit-Change-Number: 11745
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 18:26:22 +
Gerrit-HasComments: No


[kudu-CR] [rebalancer] location-aware rebalancer (part 3/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11744 )

Change subject: [rebalancer] location-aware rebalancer (part 3/n)
..


Patch Set 2: Verified+1

Unrelated flake in AdminCliTest.TestSimultaneousLeaderTransferAndAbruptStepdown 
(ASAN).


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie89f1958238dbc28b44111038d4b82f49f824ca9
Gerrit-Change-Number: 11744
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 18:25:38 +
Gerrit-HasComments: No


[kudu-CR] [rebalancer] location-aware rebalancer (part 1/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11549 )

Change subject: [rebalancer] location-aware rebalancer (part 1/n)
..


Patch Set 7: Verified+1

Unrelated flake in AdminCliTest.TestSimultaneousLeaderTransferAndAbruptStepdown 
(ASAN)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1cdc3b57a782e6d043b1853600c97fe1f8630347
Gerrit-Change-Number: 11549
Gerrit-PatchSet: 7
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 18:25:02 +
Gerrit-HasComments: No


[kudu-CR] [rebalancer] location-aware rebalancer (part 2/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has removed Kudu Jenkins from this change.  ( 
http://gerrit.cloudera.org:8080/11743 )

Change subject: [rebalancer] location-aware rebalancer (part 2/n)
..


Removed reviewer Kudu Jenkins with the following votes:

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteReviewer
Gerrit-Change-Id: Ia1bdd4ee13d0522e49467b8b6e4e3a76ec560b26
Gerrit-Change-Number: 11743
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [rebalancer] location-aware rebalancer (part 1/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has removed Kudu Jenkins from this change.  ( 
http://gerrit.cloudera.org:8080/11549 )

Change subject: [rebalancer] location-aware rebalancer (part 1/n)
..


Removed reviewer Kudu Jenkins with the following votes:

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteReviewer
Gerrit-Change-Id: I1cdc3b57a782e6d043b1853600c97fe1f8630347
Gerrit-Change-Number: 11549
Gerrit-PatchSet: 7
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 


[kudu-CR] [rebalancer] location-aware rebalancer (part 2/n)

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11743 )

Change subject: [rebalancer] location-aware rebalancer (part 2/n)
..


Patch Set 2: Verified+1

Unrelated flake in AdminCliTest.TestSimultaneousLeaderTransferAndAbruptStepdown


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia1bdd4ee13d0522e49467b8b6e4e3a76ec560b26
Gerrit-Change-Number: 11743
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Tue, 23 Oct 2018 18:24:32 +
Gerrit-HasComments: No


[kudu-CR] WIP KUDU-2542: add initial authorization token impl

2018-10-23 Thread Hao Hao (Code Review)
Hao Hao has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11750 )

Change subject: WIP KUDU-2542: add initial authorization token impl
..


Patch Set 1:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/11750/1/src/kudu/security/token_signer.h
File src/kudu/security/token_signer.h:

http://gerrit.cloudera.org:8080/#/c/11750/1/src/kudu/security/token_signer.h@84
PS1, Line 84: tsk_propagation_period
I don't quite follow the need to add this sentence. Is this a term 
mentioned/defined in other places? Do you mean 'tsk_propagation_interval'?


http://gerrit.cloudera.org:8080/#/c/11750/1/src/kudu/security/token_signer.h@124
PS1, Line 124: Note that the Activity Interval is identically the rotation
 : // interval
I am not sure why is that necessary?


http://gerrit.cloudera.org:8080/#/c/11750/1/src/kudu/security/token_signer.h@211
PS1, Line 211: max(authn_token_validity, authz_token_validity)
I know there is a lot of detailed description of why we end it up with this 
equation but maybe add a few sentences to concisely state the reason again, so 
that readers are not lost in the details?


http://gerrit.cloudera.org:8080/#/c/11750/1/src/kudu/security/token_signer.h@289
PS1, Line 289: GenerateAuthzToken
nit: add a comment?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Id28747ec38675abdf50dce1e7c176d29213e370f
Gerrit-Change-Number: 11750
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Tue, 23 Oct 2018 18:10:12 +
Gerrit-HasComments: Yes


[kudu-CR] WIP KUDU-2543: pass around default authz tokens

2018-10-23 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/11751 )

Change subject: WIP KUDU-2543: pass around default authz tokens
..


Patch Set 1:

(10 comments)

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/client/batcher.cc
File src/kudu/client/batcher.cc:

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/client/batcher.cc@483
PS1, Line 483: n
z ?


http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/master/master_service.cc
File src/kudu/master/master_service.cc:

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/master/master_service.cc@422
PS1, Line 422: LOG(FATAL)
This behavior assumes other error cases (like empty remote_user().username()) 
are filtered out at an earlier phase.  However, in the new code I don't see it 
verified.


http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/rpc/retriable_rpc.h
File src/kudu/rpc/retriable_rpc.h:

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/rpc/retriable_rpc.h@175
PS1, Line 175: template 
 : void RetriableRpc::GetNewAuthzTokenAndRetryCb(
 : const Status& status) {
 :   if (status.ok()) {
 : // Perform the RPC call with the newly fetched authz token.
 : mutable_retrier()->mutable_controller()->Reset();
 : SendRpc();
 :   } else {
 : // Back to the retry sequence, hoping for better conditions 
after some time.
 : VLOG(1) << "Failed to get new authz token: " << 
status.ToString();
 : mutable_retrier()->DelayedRetry(this, status);
 :   }
 : }
This looks identical to GetNewAuthnTokenAndRetryCb() with exception of VLOG() 
message.  Does it make sense to unify those two methods?


http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/rpc/rpc_verification_util.h
File src/kudu/rpc/rpc_verification_util.h:

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/rpc/rpc_verification_util.h@37
PS1, Line 37: RPC
RPC error code?


http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/rpc/rpc_verification_util.cc
File src/kudu/rpc/rpc_verification_util.cc:

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/rpc/rpc_verification_util.cc@45
PS1, Line 45: Status s
nit here and below: why this variable is necessary?  Could it be just

*error = ...;
return Status::NotAuthorized(...);

?


http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/rpc/rpc_verification_util.cc@46
PS1, Line 46:   *error = retry_error;
std::move ?


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

http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/tserver/tablet_service.cc@388
PS1, Line 388: FATAL_INVALID_AUTHORIZATION_TOKEN
I would expect it to be FATAL_UNAUTHORIZED instead.  Could you add the 
explanation into a comment regarding this choice?


http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/tserver/tablet_service.cc@402
PS1, Line 402: ErrorStatusPB::FATAL_UNAUTHORIZED
Why is FATAL_UNAUTHORIZED code chosen here instead of INVALID_AUTHZ_TOKEN?  It 
would be nice to explain that in a comment.  Is that related to the authz token 
re-acquisition logic?


http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/tserver/tablet_service.cc@1390
PS1, Line 1390: req->has_new_scan_request()
It seems already requests to existing scanners are not going to be examined 
regarding the access permissions.  Does it sound like a security issue (e.g., 
someone could grab already existing scan knowing its ID even if they don't have 
proper scan privileges)?

If it does not sound like an issue, why not to move the authz_token into the 
NewScanRequestPB instead of keeping it in ScanRequestPB?


http://gerrit.cloudera.org:8080/#/c/11751/1/src/kudu/tserver/tablet_service.cc@1489
PS1, Line 1489: TabletServiceImpl::SplitKeyRange
Maybe, add a TODO into this method regarding verification of authz token in the 
request?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I99555e0ab2d09d4abcbc12b1100658a9a17590f4
Gerrit-Change-Number: 11751
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Dan Burkert 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Tue, 23 Oct 2018 17:59:16 +
Gerrit-HasComments: Yes