wolfstudy opened a new issue #5566: [Java Functions] Use protobuf schema error URL: https://github.com/apache/pulsar/issues/5566 **Describe the bug** I am trying to write a Java function using the `protobuf` schema, code as follows: ``` package functions; import pb.TestOuterClass; import java.util.function.Function; public class ExampleProtoSchemaFunction implements Function<pb.TestOuterClass.Test, String> { @Override public String apply(TestOuterClass.Test test) { System.out.println(test.getMsf()); System.out.println(test.getNum()); return "test proto schema of function"; } } ``` proto definition as follows: ``` syntax = "proto3"; package pb; message Test { int32 num = 1; string msf = 2; } ``` Create a function with the following command: ``` ./bin/pulsar-admin functions localrun --name protobbuf-schema-function --tenant public --namespace default --inputs input-topic-1 --jar mysql-sink-io-tests-1.0-SNAPSHOT.jar --output output-topic --classname functions.ExampleProtoSchemaFunction ``` I have encountered the following error: ``` 17:51:00.300 [main] INFO org.apache.pulsar.functions.LocalRunner - RuntimeSpawner quit because of java.lang.UnsupportedOperationException: null at java.util.AbstractMap.put(AbstractMap.java:209) ~[?:1.8.0_201] at org.apache.pulsar.client.impl.schema.SchemaDefinitionBuilderImpl.build(SchemaDefinitionBuilderImpl.java:101) ~[pulsar-client-original.jar:2.5.0-SNAPSHOT] at org.apache.pulsar.client.impl.schema.ProtobufSchema.ofGenericClass(ProtobufSchema.java:107) ~[pulsar-client-original.jar:2.5.0-SNAPSHOT] at org.apache.pulsar.functions.source.TopicSchema.newSchemaInstance(TopicSchema.java:154) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at org.apache.pulsar.functions.source.TopicSchema.newSchemaInstance(TopicSchema.java:178) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at org.apache.pulsar.functions.source.TopicSchema.newSchemaInstance(TopicSchema.java:210) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at org.apache.pulsar.functions.source.TopicSchema.lambda$getSchema$0(TopicSchema.java:66) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at java.util.HashMap.computeIfAbsent(HashMap.java:1127) ~[?:1.8.0_201] at org.apache.pulsar.functions.source.TopicSchema.getSchema(TopicSchema.java:66) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at org.apache.pulsar.functions.source.PulsarSource.lambda$setupConsumerConfigs$5(PulsarSource.java:165) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at java.util.TreeMap.forEach(TreeMap.java:1005) ~[?:1.8.0_201] at org.apache.pulsar.functions.source.PulsarSource.setupConsumerConfigs(PulsarSource.java:160) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at org.apache.pulsar.functions.source.PulsarSource.open(PulsarSource.java:66) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at org.apache.pulsar.functions.instance.JavaInstanceRunnable.setupInput(JavaInstanceRunnable.java:733) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at org.apache.pulsar.functions.instance.JavaInstanceRunnable.setupJavaInstance(JavaInstanceRunnable.java:215) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at org.apache.pulsar.functions.instance.JavaInstanceRunnable.run(JavaInstanceRunnable.java:244) ~[pulsar-functions-instance.jar:2.5.0-SNAPSHOT] at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_201] 17:51:29.813 [function-timer-thread-5-1] ERROR org.apache.pulsar.functions.runtime.RuntimeSpawner - public/default/protobbuf-schema-function-java.lang.UnsupportedOperationException Function Container is dead with exception.. restarting ``` **To Reproduce** Build java function using the code example provided above. **Expected behavior** Java function was successfully created **Screenshots**  **Desktop (please complete the following information):** - OS: Mac OS - Pulsar: 2.4.1 **Additional context** Through the error message, we can locate [SchemaDefinitionBuilderImpl#101](https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/SchemaDefinitionBuilderImpl.java#L101) When I delete this line of code, this function is created successfully.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
