You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Alexey Serbin (Code Review)" <ge...@cloudera.org> on 2020/11/23 07:53:52 UTC
[kudu-CR] [CLI] introduce connection negotiation timeout
Alexey Serbin has uploaded this change for review. ( http://gerrit.cloudera.org:8080/16770
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
[CLI] introduce connection negotiation timeout
Since the connection negotiation timeout for Kudu client is now
configurable (see KUDU-2966 and changelist 62ec1e474), it's time to use
the new functionality in the kudu CLI tools.
This changelist sets the default value for the connection negotiation
timeout at the client side to 8 seconds to deal with larger and heavy
loaded clusters.
With this changeliest, all RPC-related kudu CLI tools now have command
line arguments to control the RPC and the connection negotiation
timeouts:
* timeout_ms
* connection_negotiation_timeout_ms
In addition, this patch also unifies the way how KuduClient instances
are created in the kudu CLI code.
WIP:
* add tests for the signatures with the connection negotiation timeout
* add tests for the signatures with the RPC timeout
Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
---
M src/kudu/integration-tests/replace_tablet-itest.cc
M src/kudu/tools/ksck_checksum.cc
M src/kudu/tools/ksck_remote.cc
M src/kudu/tools/rebalancer_tool.cc
M src/kudu/tools/rebalancer_tool.h
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_cluster.cc
M src/kudu/tools/tool_action_common.cc
M src/kudu/tools/tool_action_common.h
M src/kudu/tools/tool_action_hms.cc
M src/kudu/tools/tool_action_local_replica.cc
M src/kudu/tools/tool_action_master.cc
M src/kudu/tools/tool_action_perf.cc
M src/kudu/tools/tool_action_remote_replica.cc
M src/kudu/tools/tool_action_table.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_action_tserver.cc
M src/kudu/tools/tool_replica_util.cc
18 files changed, 378 insertions(+), 349 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/16770/1
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/16770 )
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
Patch Set 2:
This dist_test failure is this: https://github.com/cloudera/dist_test/pull/65
I didn't realized it wasn't merged to master. I will see if I can get it merged or I will update the dist_test images to include it regardless.
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Comment-Date: Mon, 30 Nov 2020 02:38:06 +0000
Gerrit-HasComments: No
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/16770
to look at the new patch set (#2).
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
[CLI] introduce connection negotiation timeout
Since the connection negotiation timeout for Kudu client is now
configurable (see KUDU-2966 and changelist 62ec1e474), it makes sense
to allow using the new functionality in the kudu CLI tools.
This changelist introduces a new command line option/flag
--connection_negotiation_timeout_ms to control the client-side
connection negotiation timeout in the kudu CLI tools. The default value
for the new flag is set to 8000 milliseconds to work better with larger
and heavy loaded clusters. Also, this can help in cases where the RPC
authentication is required and the KDC is not fast enough.
With this changeliest, all RPC-related kudu CLI tools except for
`kudu local_replica copy_from_remote` now have command line arguments
to control the RPC and the connection negotiation timeouts:
* timeout_ms
* connection_negotiation_timeout_ms
In addition, this patch also unifies the way how KuduClient instances
are created in the kudu CLI code.
I'm planning to take care of the RPC-related parameters of the
`kudu local_replica copy_from_remote` tool in a separate patch.
Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
---
M src/kudu/integration-tests/replace_tablet-itest.cc
M src/kudu/tools/ksck_checksum.cc
M src/kudu/tools/ksck_remote.cc
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/rebalancer_tool.cc
M src/kudu/tools/rebalancer_tool.h
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_cluster.cc
M src/kudu/tools/tool_action_common.cc
M src/kudu/tools/tool_action_common.h
M src/kudu/tools/tool_action_hms.cc
M src/kudu/tools/tool_action_local_replica.cc
M src/kudu/tools/tool_action_master.cc
M src/kudu/tools/tool_action_perf.cc
M src/kudu/tools/tool_action_remote_replica.cc
M src/kudu/tools/tool_action_table.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_action_tserver.cc
M src/kudu/tools/tool_replica_util.cc
19 files changed, 517 insertions(+), 364 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/16770/2
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/16770 )
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
Patch Set 2: -Verified
(2 comments)
http://gerrit.cloudera.org:8080/#/c/16770/2//COMMIT_MSG
Commit Message:
http://gerrit.cloudera.org:8080/#/c/16770/2//COMMIT_MSG@14
PS2, Line 14: connection_negotiation_timeout_ms
> To shorten the command line arguments could it be `negotiation_timeout_ms`?
Yup, good idea: so far we don't have any other configurable parameter that would involve Kudu-specific negotiation process.
Done.
http://gerrit.cloudera.org:8080/#/c/16770/2/src/kudu/tools/tool_action_common.cc
File src/kudu/tools/tool_action_common.cc:
http://gerrit.cloudera.org:8080/#/c/16770/2/src/kudu/tools/tool_action_common.cc@144
PS2, Line 144: DEFINE_int64(connection_negotiation_timeout_ms, 8000,
> Any reason this value is different than the default rpc_negotiation_timeout
Good question. Current default on the Kudu C++ client is 3 seconds as well, current settings for Java client is 10 seconds. I tried to use something in the middle, given that by default PRC timeout is 10 seconds for a Kudu C++ client: https://github.com/apache/kudu/blob/0e2c28864c27727c9723db7f319a5d7ebcbeead7/src/kudu/client/client.h#L259-L266
After some consideration, I guess keeping it 3 seconds would be a good idea if we want to preserve the behavior as seen in current versions.
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Comment-Date: Mon, 30 Nov 2020 05:13:59 +0000
Gerrit-HasComments: Yes
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/16770 )
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
[CLI] introduce connection negotiation timeout
Since the connection negotiation timeout for Kudu client is now
configurable (see KUDU-2966 and changelist 62ec1e474), it makes sense
to allow using the new functionality in the kudu CLI tools.
This changelist introduces a new command line option/flag
--negotiation_timeout_ms to control the client-side connection
negotiation timeout in the kudu CLI tools. The default value for the
new flag is set to 3000 milliseconds to match the default connection
negotiation timeout on the server. With larger and heavy loaded
clusters it might be a good idea to the negotiation timeout if
connection negotiation timeouts happen time to time. Also, it could
help in cases where the RPC authentication is required and KDC is not
fast enough. Keep in mind that the total RPC timeout includes the
connection negotiation time, so in general it makes sense to bump
--timeout_ms along with --negotiation_timeout_ms by the same delta.
In addition, with this changeliest, all RPC-related kudu CLI tools
except for `kudu local_replica copy_from_remote` now have command line
arguments to control the RPC and the connection negotiation timeouts:
* timeout_ms
* negotiation_timeout_ms
In addition, this patch also unifies the way how KuduClient instances
are created in the kudu CLI code.
I'm planning to take care of the RPC-related parameters of the
`kudu local_replica copy_from_remote` tool in a separate patch.
Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Reviewed-on: http://gerrit.cloudera.org:8080/16770
Tested-by: Alexey Serbin <as...@cloudera.com>
Reviewed-by: Grant Henke <gr...@apache.org>
---
M src/kudu/integration-tests/replace_tablet-itest.cc
M src/kudu/server/server_base.cc
M src/kudu/tools/ksck_checksum.cc
M src/kudu/tools/ksck_remote.cc
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/rebalancer_tool.cc
M src/kudu/tools/rebalancer_tool.h
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_cluster.cc
M src/kudu/tools/tool_action_common.cc
M src/kudu/tools/tool_action_common.h
M src/kudu/tools/tool_action_hms.cc
M src/kudu/tools/tool_action_local_replica.cc
M src/kudu/tools/tool_action_master.cc
M src/kudu/tools/tool_action_perf.cc
M src/kudu/tools/tool_action_remote_replica.cc
M src/kudu/tools/tool_action_table.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_action_tserver.cc
M src/kudu/tools/tool_replica_util.cc
20 files changed, 545 insertions(+), 365 deletions(-)
Approvals:
Alexey Serbin: Verified
Grant Henke: Looks good to me, approved
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 5
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/16770 )
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
Patch Set 2: Verified+1
Unrelated dist_test failures in ASAN and TSAN builds:
failed to download task files: WARNING 154 isolateserver(1484): Adding unknown file 980ec00b4cd
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Comment-Date: Mon, 30 Nov 2020 00:16:23 +0000
Gerrit-HasComments: No
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Hello Grant Henke,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/16770
to look at the new patch set (#3).
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
[CLI] introduce connection negotiation timeout
Since the connection negotiation timeout for Kudu client is now
configurable (see KUDU-2966 and changelist 62ec1e474), it makes sense
to allow using the new functionality in the kudu CLI tools.
This changelist introduces a new command line option/flag
--negotiation_timeout_ms to control the client-side connection
negotiation timeout in the kudu CLI tools. The default value for the
new flag is set to 3000 milliseconds to match the default connection
negotiation timeout on the server. With larger and heavy loaded
clusters it might be a good idea to the negotiation timeout if
connection negotiation timeouts happen time to time. Also, it could
help in cases where the RPC authentication is required and KDC is not
fast enough. Keep in mind that the total RPC timeout includes the
connection negotiation time, so in general it makes sense to bump
--timeout_ms along with --negotiation_timeout_ms by the same delta.
In addition, with this changeliest, all RPC-related kudu CLI tools
except for `kudu local_replica copy_from_remote` now have command line
arguments to control the RPC and the connection negotiation timeouts:
* timeout_ms
* negotiation_timeout_ms
In addition, this patch also unifies the way how KuduClient instances
are created in the kudu CLI code.
I'm planning to take care of the RPC-related parameters of the
`kudu local_replica copy_from_remote` tool in a separate patch.
Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
---
M src/kudu/integration-tests/replace_tablet-itest.cc
M src/kudu/tools/ksck_checksum.cc
M src/kudu/tools/ksck_remote.cc
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/rebalancer_tool.cc
M src/kudu/tools/rebalancer_tool.h
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_cluster.cc
M src/kudu/tools/tool_action_common.cc
M src/kudu/tools/tool_action_common.h
M src/kudu/tools/tool_action_hms.cc
M src/kudu/tools/tool_action_local_replica.cc
M src/kudu/tools/tool_action_master.cc
M src/kudu/tools/tool_action_perf.cc
M src/kudu/tools/tool_action_remote_replica.cc
M src/kudu/tools/tool_action_table.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_action_tserver.cc
M src/kudu/tools/tool_replica_util.cc
19 files changed, 518 insertions(+), 364 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/16770/3
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 3
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/16770 )
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
Patch Set 2:
(2 comments)
http://gerrit.cloudera.org:8080/#/c/16770/2//COMMIT_MSG
Commit Message:
http://gerrit.cloudera.org:8080/#/c/16770/2//COMMIT_MSG@14
PS2, Line 14: connection_negotiation_timeout_ms
To shorten the command line arguments could it be `negotiation_timeout_ms`? Or is there another type of negotiation?
http://gerrit.cloudera.org:8080/#/c/16770/2/src/kudu/tools/tool_action_common.cc
File src/kudu/tools/tool_action_common.cc:
http://gerrit.cloudera.org:8080/#/c/16770/2/src/kudu/tools/tool_action_common.cc@144
PS2, Line 144: DEFINE_int64(connection_negotiation_timeout_ms, 8000,
Any reason this value is different than the default rpc_negotiation_timeout_ms defined in server_base.cc?
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Comment-Date: Mon, 30 Nov 2020 02:47:29 +0000
Gerrit-HasComments: Yes
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/16770 )
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
Patch Set 4: Code-Review+2
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Mon, 30 Nov 2020 16:10:53 +0000
Gerrit-HasComments: No
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has removed Kudu Jenkins from this change. ( http://gerrit.cloudera.org:8080/16770 )
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
Removed reviewer Kudu Jenkins with the following votes:
* Verified-1 by Kudu Jenkins (120)
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteReviewer
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has removed a vote on this change.
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
Removed Verified-1 by Kudu Jenkins (120)
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/16770 )
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
Patch Set 4: Verified+1
failed to download task files: WARNING 190 isolateserver(1484): Adding unknown file f30be718367
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Mon, 30 Nov 2020 15:55:20 +0000
Gerrit-HasComments: No
[kudu-CR] [CLI] introduce connection negotiation timeout
Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins, Grant Henke,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/16770
to look at the new patch set (#4).
Change subject: [CLI] introduce connection negotiation timeout
......................................................................
[CLI] introduce connection negotiation timeout
Since the connection negotiation timeout for Kudu client is now
configurable (see KUDU-2966 and changelist 62ec1e474), it makes sense
to allow using the new functionality in the kudu CLI tools.
This changelist introduces a new command line option/flag
--negotiation_timeout_ms to control the client-side connection
negotiation timeout in the kudu CLI tools. The default value for the
new flag is set to 3000 milliseconds to match the default connection
negotiation timeout on the server. With larger and heavy loaded
clusters it might be a good idea to the negotiation timeout if
connection negotiation timeouts happen time to time. Also, it could
help in cases where the RPC authentication is required and KDC is not
fast enough. Keep in mind that the total RPC timeout includes the
connection negotiation time, so in general it makes sense to bump
--timeout_ms along with --negotiation_timeout_ms by the same delta.
In addition, with this changeliest, all RPC-related kudu CLI tools
except for `kudu local_replica copy_from_remote` now have command line
arguments to control the RPC and the connection negotiation timeouts:
* timeout_ms
* negotiation_timeout_ms
In addition, this patch also unifies the way how KuduClient instances
are created in the kudu CLI code.
I'm planning to take care of the RPC-related parameters of the
`kudu local_replica copy_from_remote` tool in a separate patch.
Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
---
M src/kudu/integration-tests/replace_tablet-itest.cc
M src/kudu/server/server_base.cc
M src/kudu/tools/ksck_checksum.cc
M src/kudu/tools/ksck_remote.cc
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/rebalancer_tool.cc
M src/kudu/tools/rebalancer_tool.h
M src/kudu/tools/tool_action.h
M src/kudu/tools/tool_action_cluster.cc
M src/kudu/tools/tool_action_common.cc
M src/kudu/tools/tool_action_common.h
M src/kudu/tools/tool_action_hms.cc
M src/kudu/tools/tool_action_local_replica.cc
M src/kudu/tools/tool_action_master.cc
M src/kudu/tools/tool_action_perf.cc
M src/kudu/tools/tool_action_remote_replica.cc
M src/kudu/tools/tool_action_table.cc
M src/kudu/tools/tool_action_tablet.cc
M src/kudu/tools/tool_action_tserver.cc
M src/kudu/tools/tool_replica_util.cc
20 files changed, 545 insertions(+), 365 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/16770/4
--
To view, visit http://gerrit.cloudera.org:8080/16770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I5627517fd1da4f4d7472f1f0af810d741efe3390
Gerrit-Change-Number: 16770
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)