apache/druid · error · ParseException
Failed to initialize descriptor at
Error message
Failed to initialize descriptor at [%s]
What it means
I/O failure wrapper in FileBasedProtobufBytesDecoder.loadFileDescriptorSet: reading or parsing the descriptor (from classpath or URL) threw IOException, so descriptor initialization at the configured path failed and protobuf decoding cannot proceed.
Solutions
- Check filesystem/URL access permissions and network stability for the descriptor location.
- Verify the descriptor file is not corrupt (parse it independently with protoc).
- Retry ingestion once the descriptor file is accessible.
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/FileBasedProtobufBytesDecoder.java:97 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07).
Data as JSON: /api/errors/5b7ff75a91d624e2.
Report an issue: GitHub.
Appendix: source
Thrown at extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/FileBasedProtobufBytesDecoder.java:97
throw new ParseException(
descriptorFilePath,
"Descriptor not found at URL: [%s]", descriptorFilePath
);
}
descriptorSet = DescriptorProtos.FileDescriptorSet.parseFrom(urlIn);
}
} else {
descriptorSet = DescriptorProtos.FileDescriptorSet.parseFrom(fin);
}
if (descriptorSet.getFileCount() == 0) {
throw new ParseException(null, "No file descriptors found in the descriptor set");
}
return descriptorSet;
}
catch (IOException e) {
throw new ParseException(descriptorFilePath, e, "Failed to initialize descriptor at [%s]", descriptorFilePath);
}
}
@Override
public boolean equals(Object o)
{
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
if (!super.equals(o)) {
return false;
}
FileBasedProtobufBytesDecoder that = (FileBasedProtobufBytesDecoder) o;
return Objects.equals(descriptorFilePath, that.descriptorFilePath);
}View on GitHub (pinned to 9b90983fd2)