in phoenix-queryserver-orchestrator/src/main/java/org/apache/phoenix/tool/PhoenixCanaryTool.java [405:434]
private Connection getConnectionWithRetry(String connectionURL, boolean namespaceFlag)
throws Exception {
Properties connProps = new Properties();
Connection connection = null;
connProps.setProperty("phoenix.schema.mapSystemTablesToNamespace", String.valueOf(namespaceFlag));
connProps.setProperty("phoenix.schema.isNamespaceMappingEnabled", String.valueOf(namespaceFlag));
RetryCounter retrier = new RetryCounter(MAX_CONNECTION_ATTEMPTS,
FIRST_TIME_RETRY_TIMEOUT, TimeUnit.MILLISECONDS);
LOGGER.info("Trying to get the connection with "
+ retrier.getMaxAttempts() + " attempts with "
+ "connectionURL :" + connectionURL
+ "connProps :" + connProps);
while (retrier.shouldRetry()) {
try {
connection = DriverManager.getConnection(connectionURL, connProps);
} catch (SQLException e) {
LOGGER.info("Trying to establish connection with "
+ retrier.getAttemptTimes() + " attempts", e);
}
if (connection != null) {
LOGGER.info("Successfully established connection within "
+ retrier.getAttemptTimes() + " attempts");
break;
}
retrier.sleepUntilNextRetry();
}
return connection;
}