apache/druid · error · ParseException
No file descriptors found in the descriptor set
Error message
No file descriptors found in the descriptor set
What it means
Content validation in InlineDescriptorProtobufBytesDecoder.loadFileDescriptorSet: the base64-decoded descriptor string parsed to a FileDescriptorSet with zero file descriptors, so the inline descriptor defines no message schema and decoding cannot proceed.
Solutions
- Regenerate the base64 descriptor from a .proto with message definitions (protoc --descriptor_set_out, then base64 the output).
- Verify the full base64 string was copied into the spec without truncation.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/InlineDescriptorProtobufBytesDecoder.java:65 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/b762e9b8339f5ca2.
Report an issue: GitHub.
Appendix: source
Thrown at extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/InlineDescriptorProtobufBytesDecoder.java:65
initializeDescriptor();
}
@JsonProperty
public String getDescriptorString()
{
return descriptorString;
}
@Override
protected DescriptorProtos.FileDescriptorSet loadFileDescriptorSet()
{
try {
byte[] decodedDesc = StringUtils.decodeBase64String(descriptorString);
final var descriptorSet = DescriptorProtos.FileDescriptorSet.parseFrom(decodedDesc);
if (descriptorSet.getFileCount() == 0) {
throw new ParseException(null, "No file descriptors found in the descriptor set");
}
return descriptorSet;
}
catch (IllegalArgumentException e) {
throw new IAE("Descriptor string does not have valid Base64 encoding");
}
catch (IOException e) {
throw new ParseException(descriptorString, e, "Failed to initialize descriptor");
}
}
@Override
public boolean equals(Object o)
{
if (this == o) {
return true;
}View on GitHub (pinned to 9b90983fd2)