{"record":{"id":"1085d210be786f2c","repo":"apache/hadoop","slug":"found-no-edit-logs-to-download-on-nn-since-txid","errorCode":null,"errorMessage":"Found no edit logs to download on NN since txid ${sig.mostRecentCheckpointTxId}","messagePattern":"Found no edit logs to download on NN since txid (.+?)","errorType":"exception","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java","lineNumber":399,"sourceCode":"  }\n\n  /**\n   * Download <code>fsimage</code> and <code>edits</code>\n   * files from the name-node.\n   * @return true if a new image has been downloaded and needs to be loaded\n   * @throws IOException\n   */\n  static boolean downloadCheckpointFiles(\n      final URL nnHostPort,\n      final FSImage dstImage,\n      final CheckpointSignature sig,\n      final RemoteEditLogManifest manifest\n  ) throws IOException {\n    \n    // Sanity check manifest - these could happen if, eg, someone on the\n    // NN side accidentally rmed the storage directories\n    if (manifest.getLogs().isEmpty()) {\n      throw new IOException(\"Found no edit logs to download on NN since txid \" \n          + sig.mostRecentCheckpointTxId);\n    }\n    \n    long expectedTxId = sig.mostRecentCheckpointTxId + 1;\n    if (manifest.getLogs().get(0).getStartTxId() != expectedTxId) {\n      throw new IOException(\"Bad edit log manifest (expected txid = \" +\n          expectedTxId + \": \" + manifest);\n    }\n\n    try {\n        Boolean b = UserGroupInformation.getCurrentUser().doAs(\n            new PrivilegedExceptionAction<Boolean>() {\n  \n          @Override\n          public Boolean run() throws Exception {\n            dstImage.getStorage().cTime = sig.cTime;\n\n            // get fsimage","sourceCodeStart":381,"sourceCodeEnd":417,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java#L381-L417","documentation":"Error \"Found no edit logs to download on NN since txid ${sig.mostRecentCheckpointTxId}\" thrown in apache/hadoop.","triggerScenarios":"The SecondaryNameNode checkpoint finds no edit log files to download newer than its last checkpoint.","commonSituations":"Edits retention removed logs, JournalNodes unavailable, or checkpoint running against the wrong NN address.","solutions":["Ensure edit logs since the last checkpoint txid exist on the NameNode/JournalNodes and are reachable, then retry the checkpoint."],"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"}