juicedata/juicefs · error · IOException
No matching attributes found for remove operation
Error message
No matching attributes found for remove operation
What it means
Raised in removeXAttr when the C library returns ENOATTR or ENODATA, i.e. the named extended attribute does not exist on the file at the time of removal. It mirrors POSIX behavior where removing a missing xattr is an error rather than a no-op.
Source
Thrown at sdk/java/src/main/java/io/juicefs/JuiceFileSystemImpl.java:2093
byte[] arr = new byte[off - last];
buf.get(last, arr, 0, arr.length);
result.add(new String(arr));
last = off + 1;
}
off++;
}
return result;
}
@Override
public void removeXAttr(Path path, String name) throws IOException {
if (needCheckPermission() && !checkPathAccess(path, FsAction.WRITE, "removeXAttr")) {
superGroupFileSystem.removeXAttr(path, name);
return;
}
int r = lib.jfs_removeXattr(Thread.currentThread().getId(), handle, normalizePath(path), name);
if (r == ENOATTR || r == ENODATA) {
throw new IOException("No matching attributes found for remove operation");
}
if (r < 0)
throw error(r, path);
}
@Override
public void modifyAclEntries(Path path, List<AclEntry> aclSpec) throws IOException {
if (needCheckPermission() && !checkOwner(path, "modifyAclEntries")) {
superGroupFileSystem.modifyAclEntries(path, aclSpec);
return;
}
List<AclEntry> existingEntries = getAllAclEntries(path);
List<AclEntry> newAcl = AclTransformation.mergeAclEntries(existingEntries, aclSpec);
setAclInternal(path, newAcl);
}
@Override
public void removeAclEntries(Path path, List<AclEntry> aclSpec) throws IOException {View on GitHub (pinned to c9a67b23e8)
Solutions
- List existing xattrs (getXAttrs) and only remove names that are present
- Catch the exception and treat it as success when idempotent removal is desired
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at sdk/java/src/main/java/io/juicefs/JuiceFileSystemImpl.java:2093 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of juicedata/juicefs@c9a67b23e8 (2026-09-06).
Data as JSON: /api/errors/368ef4475804bc0c.
Report an issue: GitHub.