prestodb/presto · error · BigQueryException

Job %s has been interrupted

Error message

Job %s has been interrupted

What it means

Thrown by waitForJob when the thread blocked on BigQuery job.waitFor() is interrupted. It signals the BigQuery load/copy job did not finish because the caller (e.g. a Presto query thread being cancelled) aborted; the job result is unknown and the interrupt flag should typically be restored.

Source

Thrown at presto-bigquery/src/main/java/com/facebook/presto/plugin/bigquery/ReadSessionCreator.java:188

            }
            // add expiration time to the table
            TableInfo createdTable = bigQueryClient.getTable(destinationTable);
            long expirationTime = createdTable.getCreationTime() +
                    HOURS.toMillis(config.viewExpirationTimeInHours);
            Table updatedTable = bigQueryClient.update(createdTable.toBuilder()
                    .setExpirationTime(expirationTime)
                    .build());
            return updatedTable;
        }

        Job waitForJob(Job job)
        {
            try {
                return job.waitFor();
            }
            catch (InterruptedException e) {
                Thread.currentThread().interrupt();
                throw new BigQueryException(BaseServiceException.UNKNOWN_CODE, format("Job %s has been interrupted", job.getJobId()), e);
            }
        }
    }
}

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Confirm whether the Presto query was cancelled or hit a timeout
  2. Cancel the orphaned BigQuery job to avoid leaked billed compute
  3. Retry the query if the interruption was transient
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at presto-bigquery/src/main/java/com/facebook/presto/plugin/bigquery/ReadSessionCreator.java:188 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04). Data as JSON: /api/errors/cd7d85924a81d596. Report an issue: GitHub.