{"record":{"id":"92dcce879c431b65","repo":"apache/druid","slug":"protobuf-message-type-s-not-found-in-the-descri","errorCode":null,"errorMessage":"Protobuf message type [%s] not found in the descriptor set. Available types: %s","messagePattern":"Protobuf message type \\[(.+?)\\] not found in the descriptor set\\. Available types: (.+?)","errorType":"exception","errorClass":"ParseException","httpStatus":null,"severity":"error","filePath":"extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/DescriptorBasedProtobufBytesDecoder.java","lineNumber":152,"sourceCode":"        }\n        throw new ParseException(null, \"No message types found in the descriptor set\");\n      }\n\n      // Otherwise, find the specific message type by name\n      for (final var fileDescriptor : allDescriptors.values()) {\n        final var desc = findMessageByName(fileDescriptor, protoMessageType);\n        if (desc != null) {\n          return desc;\n        }\n      }\n\n      // Something went wrong... collect all available types for better error message\n      final var availableTypes = new TreeSet<String>();\n      for (final var fileDescriptor : allDescriptors.values()) {\n        collectAvailableTypes(fileDescriptor, availableTypes);\n      }\n\n      throw new ParseException(\n          null,\n          \"Protobuf message type [%s] not found in the descriptor set. Available types: %s\",\n          protoMessageType,\n          availableTypes\n      );\n    }\n    catch (Descriptors.DescriptorValidationException e) {\n      throw new ParseException(null, e, \"Invalid protobuf descriptor\");\n    }\n  }\n\n  @Nullable\n  private Descriptors.Descriptor findMessageByName(\n      final Descriptors.FileDescriptor fileDescriptor,\n      final String messageTypeName\n  )\n  {\n    // Try simple name match first","sourceCodeStart":134,"sourceCodeEnd":170,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/DescriptorBasedProtobufBytesDecoder.java#L134-L170","documentation":"Schema lookup failure in DescriptorBasedProtobufBytesDecoder.buildMessageDescriptor: the configured protoMessageType was not found in any file descriptor of the set; the error lists all available message types to help correct the configuration.","triggerScenarios":"Thrown at extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/DescriptorBasedProtobufBytesDecoder.java:152 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set protoMessageType to one of the types listed in the error message.","Remove protoMessageType to auto-select the first message type in the set.","Regenerate the descriptor if the expected message is missing from it."],"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"}