Philip Zeyliger has posted comments on this change. ( http://gerrit.cloudera.org:8080/8202 )
Change subject: IMPALA-4704: Disallow client connections to imapalad until catalog is received. ...................................................................... Patch Set 2: (7 comments) Thanks for the updates. Some comments/questions about the initialization code. I'm very much not an authority on it, I'm but interested in learning. http://gerrit.cloudera.org:8080/#/c/8202/2/be/src/runtime/exec-env.cc File be/src/runtime/exec-env.cc: http://gerrit.cloudera.org:8080/#/c/8202/2/be/src/runtime/exec-env.cc@356 PS2, Line 356: if (is_started_) return Status::OK(); Is this really an assertion that we should only call StartServices() once? http://gerrit.cloudera.org:8080/#/c/8202/2/be/src/service/impala-server.cc File be/src/service/impala-server.cc: http://gerrit.cloudera.org:8080/#/c/8202/2/be/src/service/impala-server.cc@2044 PS2, Line 2044: RETURN_IF_ERROR(exec_env_->StartServices()); It strikes me as weird that there are now two possible places where we can call StartServices(): in both Init() and in Start(). Is the one here now really a DCHECK that exec_env_->is_started_ is true? http://gerrit.cloudera.org:8080/#/c/8202/2/tests/custom_cluster/test_catalog_wait.py File tests/custom_cluster/test_catalog_wait.py: http://gerrit.cloudera.org:8080/#/c/8202/2/tests/custom_cluster/test_catalog_wait.py@22 PS2, Line 22: NUM_SUBSCRIBERS, unused http://gerrit.cloudera.org:8080/#/c/8202/2/tests/custom_cluster/test_catalog_wait.py@23 PS2, Line 23: CLUSTER_SIZE, unused http://gerrit.cloudera.org:8080/#/c/8202/2/tests/custom_cluster/test_catalog_wait.py@27 PS2, Line 27: # Impalad must wait for the catalog prior to openning up client ports. python nit: More common is: class Foo(...): """documentation""" This makes Foo.__doc__ populated. We do this at least in the first case I looked at: @SkipIfBuildType.not_dev_build class TestExchangeDelays(CustomClusterTestSuite): """Tests for handling delays in finding data stream receivers""" http://gerrit.cloudera.org:8080/#/c/8202/2/tests/custom_cluster/test_catalog_wait.py@32 PS2, Line 32: def test_client_connection(self, vector): Do we end up running this in multiple "vectors"? I think having this test is good, but I think it's reasonable to believe that this test isn't affected by cluster size, or security, or compression type... http://gerrit.cloudera.org:8080/#/c/8202/2/tests/custom_cluster/test_catalog_wait.py@48 PS2, Line 48: # The ports may not be ready if accessed too quickly, so wait. nit: They'll never be ready, which is sort of the point. -- To view, visit http://gerrit.cloudera.org:8080/8202 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I52b881cba18a7e4533e21a78751c2e35c3d4c8a6 Gerrit-Change-Number: 8202 Gerrit-PatchSet: 2 Gerrit-Owner: Vuk Ercegovac <vercego...@cloudera.com> Gerrit-Reviewer: Balazs Jeszenszky <jes...@gmail.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Philip Zeyliger <phi...@cloudera.com> Gerrit-Reviewer: Vuk Ercegovac <vercego...@cloudera.com> Gerrit-Comment-Date: Thu, 05 Oct 2017 02:37:37 +0000 Gerrit-HasComments: Yes