nlu90 commented on issue #11338:
URL: https://github.com/apache/pulsar/issues/11338#issuecomment-882894305
I did some check.
If function compiled with 2.7.1 is submitted to a Pulsar 2.8.0 cluster
directly, the following error is reported:
```
14:50:51.313 [public/default/Fun1-0] INFO function-Fun1 - A message with a
value of "5. hello" has arrived on one of the following topics:
public/default/fun-test
14:50:51.313 [public/default/Fun1-0] WARN
org.apache.pulsar.functions.instance.JavaInstanceRunnable - Encountered
exception when processing message
+++PulsarRecord(topicName=Optional[persistent://public/default/fun-test],
partition=0,
message=Optional[org.apache.pulsar.client.impl.MessageImpl@634a263c],
schema=org. +++apache.pulsar.client.impl.schema.StringSchema@6961b9d7,
failFunction=org.apache.pulsar.functions.source.PulsarSource$$Lambda$134/129491009@21b63931,
ackFunction=org.
+++apache.pulsar.functions.source.PulsarSource$$Lambda$133/1005835213@3d56e9eb)
java.lang.RuntimeException: java.lang.NoSuchMethodError:
org.apache.pulsar.common.schema.SchemaInfo.builder()Lorg/apache/pulsar/common/schema/SchemaInfo$SchemaInfoBuilder;
at
org.apache.pulsar.client.internal.ReflectionUtils.catchExceptions(ReflectionUtils.java:42)
~[java-instance.jar:?]
at
org.apache.pulsar.client.internal.DefaultImplementation.newJSONSchema(DefaultImplementation.java:274)
~[java-instance.jar:?]
at org.apache.pulsar.client.api.Schema.JSON(Schema.java:335)
~[java-instance.jar:?]
at com.mycompany.app.Fun1.process(Fun1.java:27) ~[?:?]
at com.mycompany.app.Fun1.process(Fun1.java:13) ~[?:?]
at
org.apache.pulsar.functions.instance.JavaInstance.handleMessage(JavaInstance.java:95)
~[org.apache.pulsar-pulsar-functions-instance-2.8.0.jar:?]
at
org.apache.pulsar.functions.instance.JavaInstanceRunnable.run(JavaInstanceRunnable.java:271)
[org.apache.pulsar-pulsar-functions-instance-2.8.0.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_241]
Caused by: java.lang.NoSuchMethodError:
org.apache.pulsar.common.schema.SchemaInfo.builder()Lorg/apache/pulsar/common/schema/SchemaInfo$SchemaInfoBuilder;
at
org.apache.pulsar.client.impl.schema.util.SchemaUtil.parseSchemaInfo(SchemaUtil.java:50)
~[org.apache.pulsar-pulsar-client-original-2.8.0.jar:2.8.0]
at
org.apache.pulsar.client.impl.schema.JSONSchema.of(JSONSchema.java:93)
~[org.apache.pulsar-pulsar-client-original-2.8.0.jar:2.8.0]
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) ~[?:?]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_241]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_241]
at
org.apache.pulsar.client.internal.DefaultImplementation.lambda$newJSONSchema$31(DefaultImplementation.java:277)
~[java-instance.jar:?]
at
org.apache.pulsar.client.internal.ReflectionUtils.catchExceptions(ReflectionUtils.java:34)
~[java-instance.jar:?]
... 7 more
```
User need to compile their function code with pulsar 2.8.0 dependency in
order to avoid this problem. And after recomplie, the problem is resolved:
```
15:08:48.284 [public/default/Fun1-0] INFO function-Fun1 - schema
org.apache.pulsar.client.impl.schema.JSONSchema@3d102034
```
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]