Could you send us a small example program which we can use to reproduce the problem?
Cheers, Till On Fri, Nov 9, 2018 at 6:57 AM Jayant Ameta <wittyam...@gmail.com> wrote: > Yeah, it IS using Kryo serializer. > > Jayant Ameta > > > On Wed, Nov 7, 2018 at 9:57 PM Till Rohrmann <trohrm...@apache.org> wrote: > >> Hi Jayant, could you check that the UUID key on the TM is actually >> serialized using a Kryo serializer? You can do this by setting a breakpoint >> in the constructor of the `AbstractKeyedStateBackend`. >> >> Cheers, >> Till >> >> On Tue, Oct 30, 2018 at 9:44 AM bupt_ljy <bupt_...@163.com> wrote: >> >>> Hi, Jayant >>> >>> Your code looks good to me. And I’ve tried the serialize/deserialize >>> of Kryo on UUID class, it all looks okay. >>> >>> I’m not very sure about this problem. Maybe you can write a very >>> simple demo to try if it works. >>> >>> >>> Jiayi Liao, Best >>> >>> Original Message >>> *Sender:* Jayant Ameta<wittyam...@gmail.com> >>> *Recipient:* bupt_ljy<bupt_...@163.com> >>> *Cc:* Tzu-Li (Gordon) Tai<tzuli...@apache.org>; user< >>> user@flink.apache.org> >>> *Date:* Monday, Oct 29, 2018 11:53 >>> *Subject:* Re: Queryable state when key is UUID - getting Kyro Exception >>> >>> Hi Jiayi, >>> Any further help on this? >>> >>> Jayant Ameta >>> >>> >>> On Fri, Oct 26, 2018 at 9:22 AM Jayant Ameta <wittyam...@gmail.com> >>> wrote: >>> >>>> MapStateDescriptor<UUID, String> descriptor = new >>>> MapStateDescriptor<>("rulePatterns", UUID.class, >>>> String.class); >>>> >>>> Jayant Ameta >>>> >>>> >>>> On Fri, Oct 26, 2018 at 8:19 AM bupt_ljy <bupt_...@163.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> Can you show us the descriptor in the codes below? >>>>> >>>>> client.getKvState(JobID.fromHexString( >>>>> "c7b8af14b8afacf4fac16cdd0da7e997"), "rule", >>>>> >>>>> UUID.fromString("3b3f17a0-d81a-11e8-bb91-7fd1412de84d"), >>>>>> TypeInformation.of(new TypeHint<UUID>() {}), descriptor); >>>>>> >>>>>> >>>>> Jiayi Liao, Best >>>>> >>>>> >>>>> Original Message >>>>> *Sender:* Jayant Ameta<wittyam...@gmail.com> >>>>> *Recipient:* bupt_ljy<bupt_...@163.com> >>>>> *Cc:* Tzu-Li (Gordon) Tai<tzuli...@apache.org>; user< >>>>> user@flink.apache.org> >>>>> *Date:* Friday, Oct 26, 2018 02:26 >>>>> *Subject:* Re: Queryable state when key is UUID - getting Kyro >>>>> Exception >>>>> >>>>> Also, I haven't provided any custom serializer in my flink job. >>>>> Shouldn't the same configuration work for queryable state client? >>>>> >>>>> Jayant Ameta >>>>> >>>>> >>>>> On Thu, Oct 25, 2018 at 4:15 PM Jayant Ameta <wittyam...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hi Gordon, >>>>>> Following is the stack trace that I'm getting: >>>>>> >>>>>> *Exception in thread "main" java.util.concurrent.ExecutionException: >>>>>> java.lang.RuntimeException: Failed request 0.* >>>>>> * Caused by: java.lang.RuntimeException: Failed request 0.* >>>>>> * Caused by: java.lang.RuntimeException: Error while processing >>>>>> request with ID 0. Caused by: com.esotericsoftware.kryo.KryoException: >>>>>> Encountered unregistered class ID: -985346241* >>>>>> *Serialization trace:* >>>>>> *$outer (scala.collection.convert.Wrappers$SeqWrapper)* >>>>>> * at >>>>>> com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:119)* >>>>>> * at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:641)* >>>>>> * at >>>>>> com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:99)* >>>>>> * at >>>>>> com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:528)* >>>>>> * at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:761)* >>>>>> * at >>>>>> org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.deserialize(KryoSerializer.java:249)* >>>>>> * at >>>>>> org.apache.flink.api.java.typeutils.runtime.TupleSerializer.deserialize(TupleSerializer.java:136)* >>>>>> * at >>>>>> org.apache.flink.api.java.typeutils.runtime.TupleSerializer.deserialize(TupleSerializer.java:30)* >>>>>> * at >>>>>> org.apache.flink.queryablestate.client.state.serialization.KvStateSerializer.deserializeKeyAndNamespace(KvStateSerializer.java:94)* >>>>>> * at >>>>>> org.apache.flink.runtime.state.heap.AbstractHeapState.getSerializedValue(AbstractHeapState.java:93)* >>>>>> * at >>>>>> org.apache.flink.queryablestate.server.KvStateServerHandler.handleRequest(KvStateServerHandler.java:87)* >>>>>> * at >>>>>> org.apache.flink.queryablestate.server.KvStateServerHandler.handleRequest(KvStateServerHandler.java:49)* >>>>>> * at >>>>>> org.apache.flink.queryablestate.network.AbstractServerHandler$AsyncRequestTask.run(AbstractServerHandler.java:229)* >>>>>> * at >>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)* >>>>>> * at java.util.concurrent.FutureTask.run(FutureTask.java:266)* >>>>>> * at >>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)* >>>>>> * at >>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)* >>>>>> * at java.lang.Thread.run(Thread.java:748)* >>>>>> >>>>>> I am not using any custom serialize as mentioned by Jiayi. >>>>>> >>>>>> Jayant Ameta >>>>>> >>>>>> >>>>>> On Thu, Oct 25, 2018 at 3:01 PM bupt_ljy <bupt_...@163.com> wrote: >>>>>> >>>>>>> Hi Jayant, >>>>>>> >>>>>>> There should be a Serializer parameter in the constructor of the >>>>>>> StateDescriptor, you should create a new serializer like this: >>>>>>> >>>>>>> >>>>>>> new GenericTypeInfo(classOf[UUID]).createSerializer(env >>>>>>> .getConfig) >>>>>>> >>>>>>> >>>>>>> By the way, can you show us your kryo exception like what Gordon >>>>>>> said? >>>>>>> >>>>>>> >>>>>>> Jiayi Liao, Best >>>>>>> >>>>>>> >>>>>>> >>>>>>> Original Message >>>>>>> *Sender:* Tzu-Li (Gordon) Tai<tzuli...@apache.org> >>>>>>> *Recipient:* Jayant Ameta<wittyam...@gmail.com>; bupt_ljy< >>>>>>> bupt_...@163.com> >>>>>>> *Cc:* user<user@flink.apache.org> >>>>>>> *Date:* Thursday, Oct 25, 2018 17:18 >>>>>>> *Subject:* Re: Queryable state when key is UUID - getting Kyro >>>>>>> Exception >>>>>>> >>>>>>> Hi Jayant, >>>>>>> >>>>>>> What is the Kryo exception message that you are getting? >>>>>>> >>>>>>> Cheers, >>>>>>> Gordon >>>>>>> >>>>>>> >>>>>>> On 25 October 2018 at 5:17:13 PM, Jayant Ameta (wittyam...@gmail.com) >>>>>>> wrote: >>>>>>> >>>>>>> Hi, >>>>>>> I've not configured any serializer in the descriptor. (Neither in >>>>>>> flink job, nor in state query client). >>>>>>> Which serializer should I use? >>>>>>> >>>>>>> Jayant Ameta >>>>>>> >>>>>>> >>>>>>> On Thu, Oct 25, 2018 at 2:13 PM bupt_ljy <bupt_...@163.com> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> It seems that your codes are right. Are you sure that you’re >>>>>>>> using the same Serializer as the Flink program do? Could you show the >>>>>>>> serializer in descriptor? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Jiayi Liao, Best >>>>>>>> >>>>>>>> Original Message >>>>>>>> *Sender:* Jayant Ameta<wittyam...@gmail.com> >>>>>>>> *Recipient:* user<user@flink.apache.org> >>>>>>>> *Date:* Thursday, Oct 25, 2018 14:17 >>>>>>>> *Subject:* Queryable state when key is UUID - getting Kyro >>>>>>>> Exception >>>>>>>> >>>>>>>> I get Kyro exception when querying the state. >>>>>>>> >>>>>>>> Key: UUID >>>>>>>> MapState<UUID, String> >>>>>>>> >>>>>>>> Client code snippet: >>>>>>>> >>>>>>>> CompletableFuture<MapState<UUID, String>> resultFuture = >>>>>>>> >>>>>>>> client.getKvState(JobID.fromHexString("c7b8af14b8afacf4fac16cdd0da7e997"), >>>>>>>> "rule", >>>>>>>> UUID.fromString("3b3f17a0-d81a-11e8-bb91-7fd1412de84d"), >>>>>>>> TypeInformation.of(new TypeHint<UUID>() {}), descriptor); >>>>>>>> MapState<UUID, String> mapState = resultFuture.get(10, >>>>>>>> TimeUnit.SECONDS); >>>>>>>> >>>>>>>> >>>>>>>> Any better way to query it? >>>>>>>> >>>>>>>> >>>>>>>> Jayant Ameta >>>>>>>> >>>>>>>