{"record":{"id":"bd1e6f4a4eb68899","repo":"prestodb/presto","slug":"error-fetching","errorCode":null,"errorMessage":"Error fetching ","messagePattern":"Error fetching ","errorType":"exception","errorClass":"PageTransportErrorException","httpStatus":null,"severity":"error","filePath":"presto-main/src/main/java/com/facebook/presto/operator/HttpRpcShuffleClient.java","lineNumber":199,"sourceCode":"                            HostAddress.fromUri(request.getUri()),\n                            format(\"Expected %s response from server but got %s\", PRESTO_PAGES_TYPE, contentType));\n                }\n\n                String taskInstanceId = getTaskInstanceId(request, response);\n                long token = getToken(request, response);\n                long nextToken = getNextToken(request, response);\n                boolean complete = getComplete(request, response);\n\n                try (SliceInput input = new InputStreamSliceInput(response.getInputStream())) {\n                    List<SerializedPage> pages = ImmutableList.copyOf(readSerializedPages(input));\n                    return createPagesResponse(taskInstanceId, token, nextToken, pages, complete);\n                }\n                catch (IOException e) {\n                    throw new RuntimeException(e);\n                }\n            }\n            catch (PageTransportErrorException e) {\n                throw new PageTransportErrorException(\n                        e.getRemoteHost(),\n                        \"Error fetching \" + request.getUri().toASCIIString(),\n                        e);\n            }\n        }\n\n        private static String getTaskInstanceId(Request request, Response response)\n        {\n            String taskInstanceId = response.getHeader(PRESTO_TASK_INSTANCE_ID);\n            if (taskInstanceId == null) {\n                throw new PageTransportErrorException(HostAddress.fromUri(request.getUri()), format(\"Expected %s header\", PRESTO_TASK_INSTANCE_ID));\n            }\n            return taskInstanceId;\n        }\n\n        private static long getToken(Request request, Response response)\n        {\n            String tokenHeader = response.getHeader(PRESTO_PAGE_TOKEN);","sourceCodeStart":181,"sourceCodeEnd":217,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-main/src/main/java/com/facebook/presto/operator/HttpRpcShuffleClient.java#L181-L217","documentation":"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.","triggerScenarios":"Thrown at presto-main/src/main/java/com/facebook/presto/operator/HttpRpcShuffleClient.java:199 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Diagnose the nested PageTransportErrorException for the real cause","Check worker health and network connectivity to the URI shown"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}