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.

Backports #37574
This commit is contained in:
James Baiera 2019-02-20 11:09:43 -05:00 committed by GitHub
parent af8ef1bb98
commit fe9b89ef97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 1 deletions

View File

@ -118,11 +118,16 @@ class ClusterConfiguration {
if (seedNode == node) { if (seedNode == node) {
return null 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 { resourceexists {
file(file: seedNode.transportPortsFile.toString()) 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() return seedNode.transportUri()
} }