prestodb/presto · error · PrestoException
GENERIC_INTERNAL_ERROR
GENERIC_INTERNAL_ERROR
Error message
Query %s already registered
What it means
SqlQueryManager.createQuery attempted to register a QueryExecution whose query ID is already present in the query tracker. Registration is refused to avoid two executions sharing one ID; this indicates duplicate submission of the same query id and is treated as an internal error.
Source
Thrown at presto-main/src/main/java/com/facebook/presto/execution/SqlQueryManager.java:309
public QueryState getQueryState(QueryId queryId)
{
return queryTracker.getQuery(queryId).getState();
}
@Override
public void recordHeartbeat(QueryId queryId)
{
queryTracker.tryGetQuery(queryId)
.ifPresent(QueryExecution::recordHeartbeat);
}
@Override
public void createQuery(QueryExecution queryExecution)
{
requireNonNull(queryExecution, "queryExecution is null");
if (!queryTracker.addQuery(queryExecution)) {
throw new PrestoException(GENERIC_INTERNAL_ERROR, format("Query %s already registered", queryExecution.getQueryId()));
}
queryExecution.addFinalQueryInfoListener(finalQueryInfo -> {
try {
queryMonitor.queryCompletedEvent(finalQueryInfo);
}
finally {
// execution MUST be added to the expiration queue or there will be a leak
queryTracker.expireQuery(queryExecution.getQueryId());
}
});
stats.trackQueryStats(queryExecution);
// TODO(pranjalssh): Support plan statistics tracking for other query managers
historyBasedPlanStatisticsTracker.updateStatistics(queryExecution);
embedVersion.embedVersion(queryExecution::start).run();
}View on GitHub (pinned to 55bb57d202)
Solutions
- Check for retry logic or concurrent callers reusing a generated QueryId
- Report as an internal coordinator bug if reproducible
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at presto-main/src/main/java/com/facebook/presto/execution/SqlQueryManager.java:309 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/56d9dcc018b89872.
Report an issue: GitHub.