Shenfeng1011 commented on issue #7675:
URL: https://github.com/apache/pulsar/issues/7675#issuecomment-694572650


   > @Shenfeng1011 is this fixed for you now? I am trying to run the presto 
connector with offloading enabled and appear to be getting the same exception:
   > 
   > ```
   > 2020-09-17T19:49:39.093Z   ERROR   remote-task-callback-11 
io.airlift.concurrent.BoundedExecutor   Task failed
   > java.lang.IllegalArgumentException: io.prestosql.server.TaskUpdateRequest 
could not be converted to JSON
   >    at io.airlift.json.JsonCodec.toJsonBytes(JsonCodec.java:214)
   >    at 
io.prestosql.server.remotetask.HttpRemoteTask.sendUpdate(HttpRemoteTask.java:513)
   >    at 
io.airlift.concurrent.BoundedExecutor.drainQueue(BoundedExecutor.java:78)
   >    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   >    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   >    at java.lang.Thread.run(Thread.java:748)
   > Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: 
No serializer found for class 
org.apache.pulsar.common.policies.data.OffloadPolicies and no properties 
discovered to create BeanSerializer (to avoid exception, disable 
SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: 
io.prestosql.server.TaskUpdateRequest["sources"]->com.google.common.collect.SingletonImmutableList[0]->io.prestosql.execution.TaskSource["splits"]->com.google.common.collect.RegularImmutableSet[0]->io.prestosql.execution.ScheduledSplit["split"]->io.prestosql.metadata.Split["connectorSplit"]->org.apache.pulsar.sql.presto.PulsarSplit["offloadPolicies"])
   >    at 
com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
   >    at 
com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1191)
   >    at 
com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:404)
   >    at 
com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:71)
   >    at 
com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:33)
   >    at 
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
   >    at 
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
   >    at 
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:607)
   >    at 
io.prestosql.metadata.AbstractTypedJacksonModule$InternalTypeSerializer.serialize(AbstractTypedJacksonModule.java:115)
   >    at 
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
   >    at 
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
   >    at 
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
   >    at 
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
   >    at 
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
   >    at 
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
   >    at 
com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:145)
   >    at 
com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:107)
   >    at 
com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:25)
   >    at 
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
   >    at 
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
   >    at 
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
   >    at 
com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119)
   >    at 
com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79)
   >    at 
com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18)
   >    at 
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
   >    at 
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
   >    at 
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
   >    at 
com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
   >    at 
com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:400)
   >    at 
com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1429)
   >    at 
com.fasterxml.jackson.databind.ObjectWriter._configAndWriteValue(ObjectWriter.java:1135)
   >    at 
com.fasterxml.jackson.databind.ObjectWriter.writeValueAsBytes(ObjectWriter.java:1029)
   >    at io.airlift.json.JsonCodec.toJsonBytes(JsonCodec.java:211)
   >    ... 5 more
   > ```
   > 
   > I do have a slightly different setup though. I am installing presto using 
[prestosql v332 
tarball](https://repo1.maven.org/maven2/io/prestosql/presto-server/332/presto-server-332.tar.gz)
 and then installing the [pulsar-presto-connector 
tarball](https://maxviewpublic.blob.core.windows.net/pulsar/pulsar-presto-connector.tar.gz)
 that gets built in `/pulsar-sql/presto-plusar-plugin`.
   > 
   > My presto config for the pulsar connector looks like:
   > 
   > ```ini
   > connector.name=pulsar
   > pulsar.broker-service-url=http://my-pulsar-broker:8080
   > pulsar.zookeeper-uri=my-pulsar-zookeeper:2181
   > pulsar.max-entry-read-batch-size=100
   > pulsar.target-num-splits=2
   > pulsar.max-split-message-queue-size=10000
   > pulsar.max-split-entry-queue-size=1000
   > pulsar.managed-ledger-offload-driver=s3
   > pulsar.offloaders-directory=/pulsar/offloaders
   > pulsar.managed-ledger-offload-max-threads=2
   > pulsar.offloader-properties = \
   >  {"s3ManagedLedgerOffloadBucket": "pulsar-offload", \
   >  "s3ManagedLedgerOffloadServiceEndpoint": "http://my-minio:9000";, \
   >  "s3ManagedLedgerOffloadRegion": "us-east-1"}
   > pulsar.namespace-delimiter-rewrite-enable=false
   > pulsar.rewrite-namespace-delimiter=/
   > ```
   
   this issue is resolved in 2.6.1  but i have not verified .you can have a try 
 ,  


----------------------------------------------------------------
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]


Reply via email to