apache/hadoop · error · DirectoryListingStartAfterNotFoundException
Can't find startAfter {}
Error message
Can't find startAfter {} What it means
Error "Can't find startAfter {}" thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirStatAndListingOp.java:71
class FSDirStatAndListingOp {
static DirectoryListing getListingInt(FSDirectory fsd, FSPermissionChecker pc,
final String srcArg, byte[] startAfter, boolean needLocation)
throws IOException {
final INodesInPath iip = fsd.resolvePath(pc, srcArg, DirOp.READ);
// Get file name when startAfter is an INodePath. This is not the
// common case so avoid any unnecessary processing unless required.
if (startAfter.length > 0 && startAfter[0] == Path.SEPARATOR_CHAR) {
final String startAfterString = DFSUtil.bytes2String(startAfter);
if (FSDirectory.isReservedName(startAfterString)) {
try {
byte[][] components = INode.getPathComponents(startAfterString);
components = FSDirectory.resolveComponents(components, fsd);
startAfter = components[components.length - 1];
} catch (IOException e) {
// Possibly the inode is deleted
throw new DirectoryListingStartAfterNotFoundException(
"Can't find startAfter " + startAfterString);
}
}
}
if (fsd.isPermissionEnabled()) {
if (iip.getLastINode() != null && iip.getLastINode().isDirectory()) {
fsd.checkPathAccess(pc, iip, FsAction.READ_EXECUTE);
}
}
return getListing(fsd, iip, startAfter, needLocation);
}
/**
* Get the file info for a specific file.
* @param fsd The FS directory
* @param pc The permission checker
* @param srcArg The string representation of the path to the fileView on GitHub (pinned to 2add963021)
Solutions
- Ensure the startAfter entry exists in the directory listing; list the directory without startAfter first to find a valid entry name.
When it happens
Trigger: Listing a directory with a startAfter entry name that cannot be found in that directory.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/1001d2591daba83d.
Report an issue: GitHub.