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

Reply via email to