{"record":{"id":"17dda2e5bfb5c0ca","repo":"apache/hadoop","slug":"unable-to-remove-jobid-from-state-store","errorCode":null,"errorMessage":"Unable to remove {jobId} from state store","messagePattern":"Unable to remove (.+?) from state store","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":647,"sourceCode":"          .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  }\n\n  static class TimeoutHandler extends IdleStateHandler {\n    private final int connectionKeepAliveTimeOut;\n    private boolean enabledTimeout;\n\n    TimeoutHandler(int connectionKeepAliveTimeOut) {\n      //disable reader timeout\n      //set writer timeout to configured timeout value\n      //disable all idle timeout\n      super(0, connectionKeepAliveTimeOut, 0, TimeUnit.SECONDS);\n      this.connectionKeepAliveTimeOut = connectionKeepAliveTimeOut;\n    }\n\n    void setEnabledTimeout(boolean enabledTimeout) {","sourceCodeStart":629,"sourceCodeEnd":665,"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#L629-L665","documentation":"Error \"Unable to remove {jobId} from state store\" thrown in apache/hadoop.","triggerScenarios":"Thrown by ShuffleHandler when removing a finished job's entry from the state store DB fails. Usually a transient DB error; if persistent, inspect the recovery store health on that node.","commonSituations":"See trigger scenarios.","solutions":["Check state-store DB health and permissions; deletion failures usually indicate DB corruption or I/O errors.","If the DB is corrupted, remove it and restart the NodeManager to rebuild recovery state."],"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"}