juicedata/juicefs · error · IOException
get delegation token failed, return code %d
Error message
get delegation token failed, return code %d
What it means
Thrown by getDelegationToken when the native call jfs_get_token returns a negative code, meaning the metadata engine refused or failed to issue a delegation token for the given renewer. The numeric code distinguishes causes such as disabled tokens, Kerberos errors, or backend failures.
Source
Thrown at sdk/java/src/main/java/io/juicefs/JuiceFileSystemImpl.java:2401
return dtEnabled ? buildServiceName() : null;
}
@Override
public Token<?> getDelegationToken(String renewer) throws IOException {
if (!dtEnabled) {
return null;
}
String owner = ugi.getShortUserName();
String realUser = ugi.getRealUser() != null ? ugi.getRealUser().getShortUserName() : null;
int tokenSize = 0, r = 8<<10;
Pointer tokenBuf = null;
while (r > tokenSize) {
tokenSize = r;
tokenBuf = Memory.allocate(Runtime.getRuntime(lib), tokenSize);
r = lib.jfs_get_token(handle, name, tokenBuf, tokenSize, (new HadoopKerberosName(renewer)).getShortName());
}
if (r < 0) {
throw new IOException(String.format("get delegation token failed, return code %d", r));
}
int id = tokenBuf.getInt(0);
long issueDate = TimeUnit.SECONDS.toMillis(tokenBuf.getLongLong(4));
long maxDate = TimeUnit.SECONDS.toMillis(tokenBuf.getLongLong(12));
int pwdLen = r - 20;
byte[] pwd = new byte[pwdLen];
tokenBuf.get(20, pwd, 0, pwdLen);
JuiceFSDelegationTokenIdentifier identifier =
new JuiceFSDelegationTokenIdentifier(
owner,
renewer,
realUser);
identifier.setIssueDate(issueDate);
identifier.setMaxDate(maxDate);
identifier.setMasterKeyId(id);
return new Token<>(View on GitHub (pinned to c9a67b23e8)
Solutions
- Check that delegation tokens are enabled for the volume and the metadata engine supports them
- Inspect the returned code (e.g. auth vs. backend errors) in the metadata engine logs
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at sdk/java/src/main/java/io/juicefs/JuiceFileSystemImpl.java:2401 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/bec33f4f26b0515e.
Report an issue: GitHub.