From 32c83372df9f6dfb41455fe105eadf0172bec62a Mon Sep 17 00:00:00 2001 From: James Baiera Date: Fri, 15 Feb 2019 14:08:58 -0500 Subject: [PATCH] Add an exception throw if waiting on transport port file fails (#37574) In the ClusterConfiguration class of the build source, there is an Ant waitfor block that runs to ensure that the seed node's transport ports file is created before trying to read it. If the wait times out, the file read fails with not much helpful info. This just adds a timeout property to the waitfor block and throws a descriptive exception instead. --- .../elasticsearch/gradle/test/ClusterConfiguration.groovy | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/test/ClusterConfiguration.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/test/ClusterConfiguration.groovy index 0a53787c10597..e64f30d48bd3f 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/test/ClusterConfiguration.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/test/ClusterConfiguration.groovy @@ -118,11 +118,16 @@ class ClusterConfiguration { if (seedNode == node) { return null } - ant.waitfor(maxwait: '40', maxwaitunit: 'second', checkevery: '500', checkeveryunit: 'millisecond') { + ant.waitfor(maxwait: '40', maxwaitunit: 'second', checkevery: '500', checkeveryunit: 'millisecond', + timeoutproperty: "failed.${seedNode.transportPortsFile.path}") { resourceexists { file(file: seedNode.transportPortsFile.toString()) } } + if (ant.properties.containsKey("failed.${seedNode.transportPortsFile.path}".toString())) { + throw new GradleException("Failed to locate seed node transport file [${seedNode.transportPortsFile}]: " + + "timed out waiting for it to be created after ${waitSeconds} seconds") + } return seedNode.transportUri() }