in services/library/src/main/java/com/google/cloud/pso/bq_snapshot_manager/helpers/ControllerExceptionHelper.java [167:189]
public static Tuple<ResponseEntity, Boolean> handleException(Exception ex,
LoggingHelper logger,
String trackingId,
@Nullable TableSpec tableSpec) {
ThrowableInfo exInfo = causedByRetryableException(ex);
if (exInfo.isRetryable()) {
logger.logRetryableExceptions(trackingId, tableSpec, ex, exInfo.getNotes());
return Tuple.of(
new ResponseEntity(ex.getMessage(), HttpStatus.TOO_MANY_REQUESTS),
true);
} else {
// if it's not retryable, log and ACK so that it's not retried
ex.printStackTrace();
logger.logNonRetryableExceptions(trackingId, tableSpec, ex);
return Tuple.of(
new ResponseEntity(ex.getMessage(), HttpStatus.OK),
false);
}
}