{"record":{"id":"d260d9ec393085f0","repo":"apache/hadoop","slug":"error-storing-jobid","errorCode":null,"errorMessage":"Error storing {jobId}","messagePattern":"Error storing (.+?)","errorType":"exception","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle/src/main/java/org/apache/hadoop/mapred/ShuffleHandler.java","lineNumber":633,"sourceCode":"        new Text(tokenProto.getKind()), new Text(tokenProto.getService()));\n    addJobToken(jobId, user, jobToken);\n  }\n\n  private void recordJobShuffleInfo(JobID jobId, String user,\n      Token<JobTokenIdentifier> jobToken) throws IOException {\n    if (stateDb != null) {\n      TokenProto tokenProto = TokenProto.newBuilder()\n          .setIdentifier(ByteString.copyFrom(jobToken.getIdentifier()))\n          .setPassword(ByteString.copyFrom(jobToken.getPassword()))\n          .setKind(jobToken.getKind().toString())\n          .setService(jobToken.getService().toString())\n          .build();\n      JobShuffleInfoProto proto = JobShuffleInfoProto.newBuilder()\n          .setUser(user).setJobToken(tokenProto).build();\n      try {\n        stateDb.put(bytes(jobId.toString()), proto.toByteArray());\n      } catch (DBException e) {\n        throw new IOException(\"Error storing \" + jobId, e);\n      }\n    }\n    addJobToken(jobId, user, jobToken);\n  }\n\n  private void removeJobShuffleInfo(JobID jobId) throws IOException {\n    String jobIdStr = jobId.toString();\n    secretManager.removeTokenForJob(jobIdStr);\n    userRsrc.remove(jobIdStr);\n    if (stateDb != null) {\n      try {\n        stateDb.delete(bytes(jobIdStr));\n      } catch (DBException e) {\n        throw new IOException(\"Unable to remove \" + jobId\n            + \" from state store\", e);\n      }\n    }\n  }","sourceCodeStart":615,"sourceCodeEnd":651,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle/src/main/java/org/apache/hadoop/mapred/ShuffleHandler.java#L615-L651","documentation":"Error \"Error storing {jobId}\" thrown in apache/hadoop.","triggerScenarios":"Thrown by ShuffleHandler when persisting a job's shuffle credentials into the state store DB fails (I/O or DB error). Check disk space and permissions on the NodeManager recovery directory.","commonSituations":"See trigger scenarios.","solutions":["Check the LevelDB state store health and disk space; a failed put for the job id usually indicates DB corruption or I/O error.","Retry after removing a corrupted recovery DB; ensure only one NodeManager uses the recovery dir."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-22T20:17:22.307Z"}