{"record":{"id":"4bc5133ac7760ae9","repo":"prestodb/presto","slug":"expected-s-header","errorCode":null,"errorMessage":"Expected %s header","messagePattern":"Expected (.+?) header","errorType":"exception","errorClass":"PageTransportErrorException","httpStatus":null,"severity":"error","filePath":"presto-main/src/main/java/com/facebook/presto/operator/HttpRpcShuffleClient.java","lineNumber":210,"sourceCode":"                    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);\n            if (tokenHeader == null) {\n                throw new PageTransportErrorException(HostAddress.fromUri(request.getUri()), format(\"Expected %s header\", PRESTO_PAGE_TOKEN));\n            }\n            return Long.parseLong(tokenHeader);\n        }\n\n        private static long getNextToken(Request request, Response response)\n        {\n            String nextTokenHeader = response.getHeader(PRESTO_PAGE_NEXT_TOKEN);\n            if (nextTokenHeader == null) {\n                throw new PageTransportErrorException(HostAddress.fromUri(request.getUri()), format(\"Expected %s header\", PRESTO_PAGE_NEXT_TOKEN));","sourceCodeStart":192,"sourceCodeEnd":228,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-main/src/main/java/com/facebook/presto/operator/HttpRpcShuffleClient.java#L192-L228","documentation":"A protocol header required to decode the shuffle response (task instance id, token, next token, or complete flag) is absent from the response, so the pages payload cannot be framed. The header name is included.","triggerScenarios":"Thrown at presto-main/src/main/java/com/facebook/presto/operator/HttpRpcShuffleClient.java:210 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check coordinator/worker version mismatch","Inspect worker logs for failures in the async page transport servlet"],"exampleFix":null,"handlingStrategy":"validation","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"}