Todd Lipcon has submitted this change and it was merged. Change subject: Use dynamic bind address for internal + external mini clusters ......................................................................
Use dynamic bind address for internal + external mini clusters This technique helps avoid port conflicts. It assigns a unique loopback IP, based on pid and per-cluster numbering, to every InternalMiniCluster or ExternalMiniCluster component (including masters and tablet servers). Changes: 1. Apply the "dynamic bind address" technique to internal mini clusters (previously it was only used for external mini clusters). 2. Apply it to masters (previously it was only used for tablet servers). I will post a follow-up patch to remove some of the CMakeLists.txt limitations related to port conflicts, although we may need to put some back due to lack of macOS support for unique loopback addresses. I had to refactor a few host-related APIs to do this in a relatively non-hacky manner. All tests still pass (and should more often). Additional changes: * Move BindMode to MiniCluster base class. * Fix a few brittle tests that started failing because of this change. Change-Id: I35eff9fbf5ccf8822cfe061673bc36598dff56f0 Reviewed-on: http://gerrit.cloudera.org:8080/7274 Tested-by: Mike Percy <mpe...@apache.org> Reviewed-by: Todd Lipcon <t...@apache.org> --- M src/kudu/client/client-test.cc M src/kudu/integration-tests/CMakeLists.txt M src/kudu/integration-tests/external_mini_cluster-test.cc M src/kudu/integration-tests/external_mini_cluster.cc M src/kudu/integration-tests/external_mini_cluster.h M src/kudu/integration-tests/internal_mini_cluster.cc M src/kudu/integration-tests/internal_mini_cluster.h M src/kudu/integration-tests/master_migration-itest.cc M src/kudu/integration-tests/master_replication-itest.cc A src/kudu/integration-tests/mini_cluster.cc M src/kudu/integration-tests/mini_cluster.h M src/kudu/master/master-test.cc M src/kudu/master/mini_master.cc M src/kudu/master/mini_master.h M src/kudu/master/sys_catalog-test.cc M src/kudu/tools/kudu-tool-test.cc M src/kudu/tserver/mini_tablet_server.cc M src/kudu/tserver/mini_tablet_server.h M src/kudu/tserver/tablet_server-test-base.h M src/kudu/tserver/ts_tablet_manager-test.cc 20 files changed, 316 insertions(+), 192 deletions(-) Approvals: Mike Percy: Verified Todd Lipcon: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/7274 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I35eff9fbf5ccf8822cfe061673bc36598dff56f0 Gerrit-PatchSet: 7 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Mike Percy <mpe...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Mike Percy <mpe...@apache.org> Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org>