{"record":{"id":"053411a74b9d085a","repo":"apache/hadoop","slug":"snapshot-to-should-be-newer-than-from","errorCode":null,"errorMessage":"Snapshot \" + to + \" should be newer than \" + from","messagePattern":"Snapshot \" \\+ to \\+ \" should be newer than \" \\+ from","errorType":"validation","errorClass":"HadoopIllegalArgumentException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/DistCpSync.java","lineNumber":145,"sourceCode":"          snapshotDiffFs.getFileStatus(getSnapshotPath(snapshotDiffDir, from));\n\n      final FileStatus toSnapshotStat =\n          snapshotDiffFs.getFileStatus(getSnapshotPath(snapshotDiffDir, to));\n\n      if (isRdiff()) {\n        // If fromSnapshot isn't current dir then do a time check\n        if (!from.equals(\"\")\n            && fromSnapshotStat.getModificationTime() < toSnapshotStat\n            .getModificationTime()) {\n          throw new HadoopIllegalArgumentException(\"Snapshot \" + from\n              + \" should be newer than \" + to);\n        }\n      } else {\n        // If toSnapshot isn't current dir then do a time check\n        if(!to.equals(\"\")\n            && fromSnapshotStat.getModificationTime() > toSnapshotStat\n            .getModificationTime()) {\n          throw new HadoopIllegalArgumentException(\"Snapshot \" + to\n              + \" should be newer than \" + from);\n        }\n      }\n    } catch (FileNotFoundException nfe) {\n      throw new InvalidInputException(\"Input snapshot is not found\", nfe);\n    }\n\n    return true;\n  }\n\n  /**\n   * Check if the source and target filesystems support snapshots.\n   */\n  private void checkFilesystemSupport(Path sourceDir, Path targetDir,\n      FileSystem srcFs, FileSystem tgtFs) throws IOException {\n    if (!srcFs.hasPathCapability(sourceDir,\n        CommonPathCapabilities.FS_SNAPSHOTS)) {\n      throw new UnsupportedOperationException(","sourceCodeStart":127,"sourceCodeEnd":163,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/DistCpSync.java#L127-L163","documentation":"Error \"Snapshot \" + to + \" should be newer than \" + from\" thrown in apache/hadoop.","triggerScenarios":"-diff is given a 'to' snapshot older than the 'from' snapshot.","commonSituations":"See trigger scenarios.","solutions":["Pass the older snapshot as 'from' and the newer as 'to' for -diff.","Check snapshot names and creation order on the source."],"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-23T01:17:44.959Z"}