{"record":{"id":"60bd7123b5c915ab","repo":"apache/druid","slug":"descriptor-not-found-in-class-path-or-malformed-ur","errorCode":null,"errorMessage":"Descriptor not found in class path or malformed URL: [%s]","messagePattern":"Descriptor not found in class path or malformed URL: \\[(.+?)\\]","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":71,"sourceCode":"  public String getDescriptorFilePath()\n  {\n    return descriptorFilePath;\n  }\n\n  @Override\n  protected DescriptorProtos.FileDescriptorSet loadFileDescriptorSet()\n  {\n    InputStream fin;\n    DescriptorProtos.FileDescriptorSet descriptorSet;\n    try {\n      fin = this.getClass().getClassLoader().getResourceAsStream(descriptorFilePath);\n      if (fin == null) {\n        URL url;\n        try {\n          url = new URL(descriptorFilePath);\n        }\n        catch (MalformedURLException e) {\n          throw new ParseException(\n              descriptorFilePath,\n              e,\n              \"Descriptor not found in class path or malformed URL: [%s]\", descriptorFilePath\n              );\n        }\n        try (InputStream urlIn = url.openConnection().getInputStream()) {\n          if (urlIn == null) {\n            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","sourceCodeStart":53,"sourceCodeEnd":89,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/FileBasedProtobufBytesDecoder.java#L53-L89","documentation":"Descriptor-loading failure in FileBasedProtobufBytesDecoder.loadFileDescriptorSet: the configured descriptorFilePath was found neither on the classpath nor as a parseable URL (the URL constructor threw MalformedURLException), so no protobuf descriptor can be loaded for decoding.","triggerScenarios":"Thrown at extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/FileBasedProtobufBytesDecoder.java:71 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix descriptorFilePath: use a valid classpath resource name or a well-formed file/http URL.","Ensure the descriptor file is packaged where the parser classloader can see it.","Verify the file exists and is readable at the given path."],"exampleFix":null,"handlingStrategy":"validation","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"}