Hello Kurt Deschler, Riza Suminto, Abhishek Rawat, Ashwani Raina, gaurav singh, Michael Smith, Impala Public Jenkins,
I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/22527 to look at the new patch set (#32). Change subject: IMPALA-13820: add ipv6 support for webui/hs2/hs2-http/beeswax ...................................................................... IMPALA-13820: add ipv6 support for webui/hs2/hs2-http/beeswax Main changes: - added flag external_interface to override hostname for beeswax/hs2/hs2-http port to allow testing ipv6 on these interfaces without forcing ipv6 on internal communication - compile Squeasel with USE_IPV6 to allow ipv6 on webui (webui interface can be configured with existing flag webserver_interface) - fixed the handling of [<ipv6addr>].<port> style addresses in impala-shell (e.g. [::1]:21050) and test framework - improved handling of custom clusters in test framework to allow webui/ImpalaTestSuite's clients to work with non standard settings (also fixes these clients with SSL) Using ipv4 vs ipv6 vs dual stack can be configured by setting the interface to bind to with flag webserver_interface and external_interface. The Thrift server behind hs2/hs2-http/beeswax only accepts a single host name and uses the first address returned by getaddrinfo() that it can successfully bind to. This means that unless an ipv6 address is used (like ::1) the behavior will depend on the order of addresses returned by getaddrinfo(): https://github.com/apache/thrift/blob/63b7a263fc669c56fedca5d9a7310902d98df335/lib/cpp/src/thrift/transport/TServerSocket.cpp#L481 For dual stack the only way currently is to bind to "::", as the Thrift server can only listen a single socket. Testing: - added custom cluster tests for ipv6 only/dual interface with and without SSL - manually tested in dual stack environment with client on a different host - among clients impala-shell and impyla are tested, but not JDBC/ODBC - no tests yet on truly ipv6 only environment, as internal communication (e.g. krpc) is not ready for ipv6 To test manually the dev cluster can be started with ipv6 support: dual mode: bin/start-impala-cluster.py --impalad_args="--external_interface=:: --webserver_interface=::" --catalogd_args="--webserver_interface=::" --state_store_args="--webserver_interface=::" ipv6 only: bin/start-impala-cluster.py --impalad_args="--external_interface=::1 --webserver_interface=::1" --catalogd_args="--webserver_interface=::1" --state_store_args="--webserver_interface=::1" Change-Id: I51ac66c568cc9bb06f4a3915db07a53c100109b6 --- M be/src/rpc/thrift-server.cc M be/src/rpc/thrift-server.h M be/src/service/impala-server.cc M be/src/util/CMakeLists.txt M be/src/util/network-util.cc M be/src/util/network-util.h M be/src/util/webserver.cc M shell/impala_shell/impala_client.py M shell/impala_shell/impala_shell.py M tests/beeswax/impala_beeswax.py M tests/common/custom_cluster_test_suite.py M tests/common/impala_cluster.py M tests/common/impala_connection.py M tests/common/impala_service.py M tests/common/impala_test_suite.py M tests/common/network.py M tests/custom_cluster/test_client_ssl.py M tests/custom_cluster/test_event_processing_error.py A tests/custom_cluster/test_ipv6.py M tests/custom_cluster/test_redaction.py M tests/metadata/test_event_processing.py M tests/metadata/test_event_processing_base.py M tests/stress/test_acid_stress.py M tests/stress/test_insert_stress.py M tests/stress/test_merge_stress.py M tests/stress/test_update_stress.py 26 files changed, 591 insertions(+), 153 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/27/22527/32 -- To view, visit http://gerrit.cloudera.org:8080/22527 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I51ac66c568cc9bb06f4a3915db07a53c100109b6 Gerrit-Change-Number: 22527 Gerrit-PatchSet: 32 Gerrit-Owner: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Abhishek Rawat <ara...@cloudera.com> Gerrit-Reviewer: Ashwani Raina <araina....@gmail.com> Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Kurt Deschler <kdesc...@cloudera.com> Gerrit-Reviewer: Michael Smith <michael.sm...@cloudera.com> Gerrit-Reviewer: Riza Suminto <riza.sumi...@cloudera.com> Gerrit-Reviewer: gaurav singh <gsi...@cloudera.com>