{"record":{"id":"5b7ff75a91d624e2","repo":"apache/druid","slug":"failed-to-initialize-descriptor-at-s","errorCode":null,"errorMessage":"Failed to initialize descriptor at [%s]","messagePattern":"Failed to initialize descriptor at \\[(.+?)\\]","errorType":"exception","errorClass":"ParseException","httpStatus":null,"severity":"error","filePath":"extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/FileBasedProtobufBytesDecoder.java","lineNumber":97,"sourceCode":"            throw new ParseException(\n                descriptorFilePath,\n                \"Descriptor not found at URL: [%s]\", descriptorFilePath\n            );\n          }\n          descriptorSet = DescriptorProtos.FileDescriptorSet.parseFrom(urlIn);\n        }\n      } else {\n        descriptorSet = DescriptorProtos.FileDescriptorSet.parseFrom(fin);\n      }\n\n      if (descriptorSet.getFileCount() == 0) {\n        throw new ParseException(null, \"No file descriptors found in the descriptor set\");\n      }\n\n      return descriptorSet;\n    }\n    catch (IOException e) {\n      throw new ParseException(descriptorFilePath, e, \"Failed to initialize descriptor at [%s]\", descriptorFilePath);\n    }\n  }\n\n  @Override\n  public boolean equals(Object o)\n  {\n    if (this == o) {\n      return true;\n    }\n    if (o == null || getClass() != o.getClass()) {\n      return false;\n    }\n    if (!super.equals(o)) {\n      return false;\n    }\n    FileBasedProtobufBytesDecoder that = (FileBasedProtobufBytesDecoder) o;\n    return Objects.equals(descriptorFilePath, that.descriptorFilePath);\n  }","sourceCodeStart":79,"sourceCodeEnd":115,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/FileBasedProtobufBytesDecoder.java#L79-L115","documentation":"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.","triggerScenarios":"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.","commonSituations":"See trigger scenarios.","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."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}