diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/testing/BigqueryMatcher.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/testing/BigqueryMatcher.java index 35be655c34997..8f752c0412e52 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/testing/BigqueryMatcher.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/testing/BigqueryMatcher.java @@ -153,8 +153,11 @@ Bigquery newBigqueryClient(String applicationName) { QueryResponse queryWithRetries(Bigquery bigqueryClient, QueryRequest queryContent, Sleeper sleeper, BackOff backOff) throws IOException, InterruptedException { - IOException lastException; + IOException lastException = null; do { + if (lastException != null) { + LOG.warn("Retrying query ({}) after exception", queryContent.getQuery(), lastException); + } try { QueryResponse response = bigqueryClient.jobs().query(projectId, queryContent).execute(); if (response != null) { @@ -165,14 +168,15 @@ QueryResponse queryWithRetries(Bigquery bigqueryClient, QueryRequest queryConten } } catch (IOException e) { // ignore and retry - LOG.warn("Ignore the error and retry the query."); lastException = e; } } while(BackOffUtils.next(sleeper, backOff)); throw new RuntimeException( String.format( - "Unable to get BigQuery response after retrying %d times.", MAX_QUERY_RETRIES), + "Unable to get BigQuery response after retrying %d times using query (%s)", + MAX_QUERY_RETRIES, + queryContent.getQuery()), lastException); }