[kudu-CR] [java] KUDU-3213: try at different server on TABLET NOT RUNNING

2021-03-01 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17124 )

Change subject: [java] KUDU-3213: try at different server on TABLET_NOT_RUNNING
..


Patch Set 4: Code-Review+1

(2 comments)

http://gerrit.cloudera.org:8080/#/c/17124/4/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduScanner.java
File java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduScanner.java:

http://gerrit.cloudera.org:8080/#/c/17124/4/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduScanner.java@96
PS4, Line 96: setRangePartitionColumns(Collections.singletonList("key"))
nit: would it make sense to use hash partitioning instead?  Otherwise, how do 
we know that the quiesce tablet server hosts the replica that contains the 
necessary data?  If it's so even with range-partitioned table, it would be 
great if you could add a small comment explaining why it's so.  Thanks!


http://gerrit.cloudera.org:8080/#/c/17124/4/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduScanner.java@120
PS4, Line 120: if the scan goes to the quiescing server
nit: how do we know it's so, indeed?  Could it happen that the scanner always 
hits only non-quested servers?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I38ac84a52676ff361fa1ba996665b338d1bbfba1
Gerrit-Change-Number: 17124
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Tue, 02 Mar 2021 02:52:22 +
Gerrit-HasComments: Yes


[kudu-CR] [client-test] fix TestFailedDnsResolution

2021-03-01 Thread Alexey Serbin (Code Review)
Alexey Serbin has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/17142 )

Change subject: [client-test] fix TestFailedDnsResolution
..

[client-test] fix TestFailedDnsResolution

I noticed that ClientTest.TestFailedDnsResolution fails unexpectedly
with the following error when running on macOS:

  src/kudu/client/client-test.cc:3205: Failure
  Value of: s.IsIOError()
Actual: false
  Expected: true
  unexpected status: OK

It turned out that the scenario didn't expect that
  (a) the results of DNS resolution are cached
  (b) a tablet server's address can be the same as master's

(a) turned true with changelist 48467ccf4, and (b) is true in case of
running test mini-cluster with other than UNIQUE_LOOPBACK bind mode:
e.g., on macOS it's run in LOOPBACK mode.

I updated the scenario to use a non-caching DNS resolver.  I also
increased the timeout for write operations because the scenario
was failing from time to time in case TSAN builds.  In addition, since
timeouts in GetTableLocations RPC are reported two-fold due to the
client's metacache activity, the test was failing rarely due to
receiving other non-expected error message.  I updated the list of
expected error messages to add the missing case.

With this patch, the scenario succeeds on macOS and runs more stable
for Linux TSAN builds.

Change-Id: I0493d992c43adb14ef02efae0a15dddc53301d7d
Reviewed-on: http://gerrit.cloudera.org:8080/17142
Tested-by: Kudu Jenkins
Reviewed-by: Bankim Bhavsar 
Reviewed-by: Andrew Wong 
---
M src/kudu/client/client-test.cc
1 file changed, 44 insertions(+), 29 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Bankim Bhavsar: Looks good to me, but someone else must approve
  Andrew Wong: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I0493d992c43adb14ef02efae0a15dddc53301d7d
Gerrit-Change-Number: 17142
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] [client-test] fix TestFailedDnsResolution

2021-03-01 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17142 )

Change subject: [client-test] fix TestFailedDnsResolution
..


Patch Set 1:

> Thanks for addressing this! Confirmed it works on my Mac.

Thank you for making sure it works on macOS as expected!  Hopefully, at some 
point we can have all test passing on macOS again :)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0493d992c43adb14ef02efae0a15dddc53301d7d
Gerrit-Change-Number: 17142
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Tue, 02 Mar 2021 02:37:52 +
Gerrit-HasComments: No


[kudu-CR] [client-test] fix TestFailedDnsResolution

2021-03-01 Thread Andrew Wong (Code Review)
Andrew Wong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17142 )

Change subject: [client-test] fix TestFailedDnsResolution
..


Patch Set 1: Code-Review+2

Thanks for addressing this! Confirmed it works on my Mac.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0493d992c43adb14ef02efae0a15dddc53301d7d
Gerrit-Change-Number: 17142
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Tue, 02 Mar 2021 02:27:56 +
Gerrit-HasComments: No


[kudu-CR] KUDU-3226 Validate List of Masters for kudu ksck

2021-03-01 Thread Andrew Wong (Code Review)
Andrew Wong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17141 )

Change subject: KUDU-3226 Validate List of Masters for kudu ksck
..


Patch Set 1:

(3 comments)

Thanks for the patch Abhishek!

Looks like you'll also need to update 
AdminCliTest.TestAuthzResetCacheIncorrectMasterAddressList in 
kudu-admin-test.cc to account for the new error message.

Also, if you scroll down to the bottom of 
http://jenkins.kudu.apache.org/job/kudu-gerrit/23429/BUILD_TYPE=LINT/console, 
there are a few updates the Kudu linter would like you to make

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

http://gerrit.cloudera.org:8080/#/c/17141/1/src/kudu/tools/tool_action_common.cc@652
PS1, Line 652: std::
nit: because of the 'using' declarations around L200, this can just be 
unordered_set and string below


http://gerrit.cloudera.org:8080/#/c/17141/1/src/kudu/tools/tool_action_common.cc@659
PS1, Line 659: unique_masters.find(master_addresses->at(i)) != 
unique_masters.end()
nit: you can use the ContainsKey() function from gutil/map-util.h


http://gerrit.cloudera.org:8080/#/c/17141/1/src/kudu/tools/tool_action_common.cc@656
PS1, Line 656:   for (int i = 0; isize(); i++){
 : if ((master_addresses->at(i)).empty())
 :   continue;
 : if (unique_masters.find(master_addresses->at(i)) != 
unique_masters.end()){
 :   duplicate_masters = 
duplicate_masters.append(master_addresses->at(i))+" ";
 : }
 : else
 :   unique_masters.insert(master_addresses->at(i));
 :   }
> It's best to not modify out parameter master_addresses unless we are certai
+1

nit: as well, we generally follow the Google Style Guide, which suggests 
consistent usage of curly braces for if/else statements:

https://google.github.io/styleguide/cppguide.html#Conditionals

Same elsewhere.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2f3b2b7dcf2ac78cb95cf43242651e3ce8fddf6f
Gerrit-Change-Number: 17141
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Tue, 02 Mar 2021 02:15:18 +
Gerrit-HasComments: Yes


[kudu-CR] [java] KUDU-3213: try at different server on TABLET NOT RUNNING

2021-03-01 Thread Hao Hao (Code Review)
Hao Hao has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17124 )

Change subject: [java] KUDU-3213: try at different server on TABLET_NOT_RUNNING
..


Patch Set 4: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I38ac84a52676ff361fa1ba996665b338d1bbfba1
Gerrit-Change-Number: 17124
Gerrit-PatchSet: 4
Gerrit-Owner: Andrew Wong 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Tue, 02 Mar 2021 00:03:12 +
Gerrit-HasComments: No


[kudu-CR] KUDU-3226 Validate List of Masters for kudu ksck

2021-03-01 Thread Bankim Bhavsar (Code Review)
Bankim Bhavsar has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17141 )

Change subject: KUDU-3226 Validate List of Masters for kudu ksck
..


Patch Set 1:

(7 comments)

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

http://gerrit.cloudera.org:8080/#/c/17141/1//COMMIT_MSG@7
PS1, Line 7: KUDU-3226 Validate List of Masters for kudu ksck
To provide context, we also include the component. In this case [tool]


http://gerrit.cloudera.org:8080/#/c/17141/1//COMMIT_MSG@9
PS1, Line 9: This patch checks for duplicate kudu masters reported in kudu 
cluster
   : ksck/rebalance commands.
So this change is basically validating the input to ksck/rebalance command in 
the tool itself before invoking the RPC to the master/tserver, right?
What happens currently without this change?


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

http://gerrit.cloudera.org:8080/#/c/17141/1/src/kudu/tools/kudu-tool-test.cc@6103
PS1, Line 6103: //Execute a ksck giving the hostname of the local machine twice
  : //and it should report the duplicates found.
Nit: space after //


http://gerrit.cloudera.org:8080/#/c/17141/1/src/kudu/tools/kudu-tool-test.cc@6107
PS1, Line 6107:   if (!GetHostname(&master_addr).ok())
  : master_addr = "";
It'd be better to use ASSERT_OK() and fail the test here in that case. Because 
you can't really proceed with "".


http://gerrit.cloudera.org:8080/#/c/17141/1/src/kudu/tools/kudu-tool-test.cc@6110
PS1, Line 6110: Substitute("cluster ksck $0,$0", master_addr)
Nit: For sake of readability it'd be good to put this in a separate line.
Also it'd be good to capture the status explicitly so that we can print the 
error in case the assertion is negative.
string cmd = Substitute("cluster ksck $0,$0", master_addr);
Status s = RunActionStderrString(cmd, &out);
ASSERT_TRUE(s.IsRuntimeError()) << s.ToString();


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

http://gerrit.cloudera.org:8080/#/c/17141/1/src/kudu/tools/tool_action_common.cc@656
PS1, Line 656:   for (int i = 0; isize(); i++){
 : if ((master_addresses->at(i)).empty())
 :   continue;
 : if (unique_masters.find(master_addresses->at(i)) != 
unique_masters.end()){
 :   duplicate_masters = 
duplicate_masters.append(master_addresses->at(i))+" ";
 : }
 : else
 :   unique_masters.insert(master_addresses->at(i));
 :   }
It's best to not modify out parameter master_addresses unless we are certain 
about success and then move the local master addresses to out parameter.

It's better to use the for range loop.
for (const auto& master : master_addresses)

No need to populate the duplicate_masters string unless duplicates are detected 
which can be concatenated using strings:Join function.


http://gerrit.cloudera.org:8080/#/c/17141/1/src/kudu/tools/tool_action_common.cc@667
PS1, Line 667: else
No else clause if there is a return above.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2f3b2b7dcf2ac78cb95cf43242651e3ce8fddf6f
Gerrit-Change-Number: 17141
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 01 Mar 2021 17:46:42 +
Gerrit-HasComments: Yes


[kudu-CR] [client-test] fix TestFailedDnsResolution

2021-03-01 Thread Bankim Bhavsar (Code Review)
Bankim Bhavsar has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17142 )

Change subject: [client-test] fix TestFailedDnsResolution
..


Patch Set 1: Code-Review+1


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0493d992c43adb14ef02efae0a15dddc53301d7d
Gerrit-Change-Number: 17142
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 01 Mar 2021 17:24:02 +
Gerrit-HasComments: No


[kudu-CR] [multi-master-test] fix compilation warning

2021-03-01 Thread Alexey Serbin (Code Review)
Alexey Serbin has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/17133 )

Change subject: [multi-master-test] fix compilation warning
..

[multi-master-test] fix compilation warning

Replaced INSTANTIATE_TEST_CASE_P with INSTANTIATE_TEST_SUITE_P
in dynamic_multi_master-test.cc to address compilation warning:

src/kudu/master/dynamic_multi_master-test.cc:833:1: \
  warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: \
  INSTANTIATE_TEST_CASE_P is deprecated, please use \
  INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]

Change-Id: Ibc2507082e57ada9aea1bdaa7fb0eb11c5e2ced2
Reviewed-on: http://gerrit.cloudera.org:8080/17133
Tested-by: Kudu Jenkins
Reviewed-by: Bankim Bhavsar 
---
M src/kudu/master/dynamic_multi_master-test.cc
1 file changed, 8 insertions(+), 7 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Bankim Bhavsar: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibc2507082e57ada9aea1bdaa7fb0eb11c5e2ced2
Gerrit-Change-Number: 17133
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] [multi-master-test] fix compilation warning

2021-03-01 Thread Bankim Bhavsar (Code Review)
Bankim Bhavsar has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17133 )

Change subject: [multi-master-test] fix compilation warning
..


Patch Set 1: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibc2507082e57ada9aea1bdaa7fb0eb11c5e2ced2
Gerrit-Change-Number: 17133
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 01 Mar 2021 16:42:56 +
Gerrit-HasComments: No


[kudu-CR] [KUDU-3252] a test to reproduce the issue KUDU-3252

2021-03-01 Thread Hongjiang Zhang (Code Review)
Hongjiang Zhang has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/17143


Change subject: [KUDU-3252] a test to reproduce the issue KUDU-3252
..

[KUDU-3252] a test to reproduce the issue KUDU-3252

This UT sometimes work fine and remove the wal directory when there are
2 FsManager calls CreateInitialFileSystemLayout()

I0301 17:41:34.293262 13841 fs_manager.cc:485] Removed file 
/tmp/kudutest-1000/fs_manager-test.BlockManagerTypes_FsManagerTestBase.TestInitFSInParallel_1.1614591693256906-12747/d1_/instance
I0301 17:41:34.293368 13841 fs_manager.cc:485] Removed file 
/tmp/kudutest-1000/fs_manager-test.BlockManagerTypes_FsManagerTestBase.TestInitFSInParallel_1.1614591693256906-12747/d2_/instance
I0301 17:41:34.293431 13841 fs_manager.cc:485] Removed file 
/tmp/kudutest-1000/fs_manager-test.BlockManagerTypes_FsManagerTestBase.TestInitFSInParallel_1.1614591693256906-12747/d3_/instance
I0301 17:41:34.293491 13841 fs_manager.cc:485] Removed file 
/tmp/kudutest-1000/fs_manager-test.BlockManagerTypes_FsManagerTestBase.TestInitFSInParallel_1.1614591693256906-12747/wal_/instance
I0301 17:41:34.293576 13841 fs_manager.cc:494] Removed dir 
/tmp/kudutest-1000/fs_manager-test.BlockManagerTypes_FsManagerTestBase.TestInitFSInParallel_1.1614591693256906-12747/wal_

Change-Id: I90af630ec0a6917b83bcd16e14c59b5300f770b7
---
M src/kudu/fs/fs_manager-test.cc
M src/kudu/fs/fs_manager.cc
2 files changed, 33 insertions(+), 2 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I90af630ec0a6917b83bcd16e14c59b5300f770b7
Gerrit-Change-Number: 17143
Gerrit-PatchSet: 1
Gerrit-Owner: Hongjiang Zhang 


[kudu-CR] [client-test] fix TestFailedDnsResolution

2021-03-01 Thread Alexey Serbin (Code Review)
Alexey Serbin has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/17142


Change subject: [client-test] fix TestFailedDnsResolution
..

[client-test] fix TestFailedDnsResolution

I noticed that ClientTest.TestFailedDnsResolution fails unexpectedly
with the following error when running on macOS:

  src/kudu/client/client-test.cc:3205: Failure
  Value of: s.IsIOError()
Actual: false
  Expected: true
  unexpected status: OK

It turned out that the scenario didn't expect that
  (a) the results of DNS resolution are cached
  (b) a tablet server's address can be the same as master's

(a) turned true with changelist 48467ccf4, and (b) is true in case of
running test mini-cluster with other than UNIQUE_LOOPBACK bind mode:
e.g., on macOS it's run in LOOPBACK mode.

I updated the scenario to use a non-caching DNS resolver.  I also
increased the timeout for write operations because the scenario
was failing from time to time in case TSAN builds.  In addition, since
timeouts in GetTableLocations RPC are reported two-fold due to the
client's metacache activity, the test was failing rarely due to
receiving other non-expected error message.  I updated the list of
expected error messages to add the missing case.

With this patch, the scenario succeeds on macOS and runs more stable
for Linux TSAN builds.

Change-Id: I0493d992c43adb14ef02efae0a15dddc53301d7d
---
M src/kudu/client/client-test.cc
1 file changed, 44 insertions(+), 29 deletions(-)



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

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