Fix TestKuduOperations tests in test-with-docker by using consistent hostname.

TestKuduOperations, when run using test-with-docker, failed with errors
like:

  Remote error: Service unavailable: Timed out: could not wait for desired
  snapshot timestamp to be consistent: Tablet is lagging too much to be able to
  serve snapshot scan. Lagging by: 1985348 ms, (max is 30000 ms):

The underlying issue, as discovered by Thomas Tauber-Marshall, is that Kudu
serializes the hostnames of Kudu tablet servers, and, different containers in
test-with-docker use different hostnames.  This was exposed after "IMPALA-6812:
Fix flaky Kudu scan tests" switched to using READ_AT_SNAPSHOT for Kudu reads.

Using the same hostname for all the containers is easy and harmless;
this change does just that.

Change-Id: Iea8c5096b515a79601be2e919d32585fb2796b3d
Reviewed-on: http://gerrit.cloudera.org:8080/11082
Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
This commit is contained in:
Philip Zeyliger
2018-07-30 13:15:54 -07:00
committed by Impala Public Jenkins
parent 72db58acd0
commit abf6f8f465

View File

@@ -505,7 +505,14 @@ class TestWithDocker(object):
# requirement may be lifted in newer Docker versions.
"--privileged",
"--name", name,
"--hostname", name,
# Whereas the container names vary across containers, we use the same
# hostname repeatedly, so that the build container and the test
# containers have the same hostnames. Kudu errors out with "Remote
# error: Service unavailable: Timed out: could not wait for desired
# snapshot timestamp to be consistent: Tablet is lagging too much to be
# able to serve snapshot scan." if reading with READ_AT_SNAPSHOT
# if the hostnames change underneath it.
"--hostname", self.name,
# Label with the git root directory for easier cleanup
"--label=pwd=" + self.git_root,
# Consistent locales