prestodb/presto · error · PageTransportErrorException
Error fetching
Error message
Error fetching
What it means
A PageTransportErrorException raised while fetching pages from a worker is rethrown with the request URI prepended, preserving the remote host. This is the outer wrapper identifying which shuffle fetch failed.
Source
Thrown at presto-main/src/main/java/com/facebook/presto/operator/HttpRpcShuffleClient.java:199
HostAddress.fromUri(request.getUri()),
format("Expected %s response from server but got %s", PRESTO_PAGES_TYPE, contentType));
}
String taskInstanceId = getTaskInstanceId(request, response);
long token = getToken(request, response);
long nextToken = getNextToken(request, response);
boolean complete = getComplete(request, response);
try (SliceInput input = new InputStreamSliceInput(response.getInputStream())) {
List<SerializedPage> pages = ImmutableList.copyOf(readSerializedPages(input));
return createPagesResponse(taskInstanceId, token, nextToken, pages, complete);
}
catch (IOException e) {
throw new RuntimeException(e);
}
}
catch (PageTransportErrorException e) {
throw new PageTransportErrorException(
e.getRemoteHost(),
"Error fetching " + request.getUri().toASCIIString(),
e);
}
}
private static String getTaskInstanceId(Request request, Response response)
{
String taskInstanceId = response.getHeader(PRESTO_TASK_INSTANCE_ID);
if (taskInstanceId == null) {
throw new PageTransportErrorException(HostAddress.fromUri(request.getUri()), format("Expected %s header", PRESTO_TASK_INSTANCE_ID));
}
return taskInstanceId;
}
private static long getToken(Request request, Response response)
{
String tokenHeader = response.getHeader(PRESTO_PAGE_TOKEN);View on GitHub (pinned to 55bb57d202)
Solutions
- Diagnose the nested PageTransportErrorException for the real cause
- Check worker health and network connectivity to the URI shown
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at presto-main/src/main/java/com/facebook/presto/operator/HttpRpcShuffleClient.java:199 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/bd1e6f4a4eb68899.
Report an issue: GitHub.