Hello,
The getTable call in BigQueryImpl has a provision to send in ExceptionHandler ( BigQueryBaseService.BIGQUERY_EXCEPTION_HANDLER) for runWithRetries.
- The problem is when the underlying call - bigQueryRpc.getTable throws an UnknownHostException, it is translated to BigQueryException.
- The exception handler config + Bigquery Retry Config+ Timed execution are checked for shouldRetry in BigQueryRetryAlgorithm.
- shouldRetryBasedOnResult in BigQueryRetryAlgorithm evaluates the com.google.cloud.ExceptionHandler > shouldRetry > findMostSpecificRetryInfo, the check is current.exception.isAssignableFrom(exception) - This Fails for BigQueryException and Config .retryOn(java.net.UnknownHostException.class)
Thus the UnknownHostException retries are discarded.
I tried a unit test from my local machine and simulated the UnknownHostException by disconnecting the wifi.
Let me know if i missed something or this is a valid issue.
Reactions are currently unavailable
Hello,
The getTable call in BigQueryImpl has a provision to send in ExceptionHandler ( BigQueryBaseService.BIGQUERY_EXCEPTION_HANDLER) for runWithRetries.
Thus the UnknownHostException retries are discarded.
I tried a unit test from my local machine and simulated the UnknownHostException by disconnecting the wifi.
Let me know if i missed something or this is a valid issue.