You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by franck102 <fr...@yahoo.com> on 2017/08/14 11:23:28 UTC

Re: Failure to deserialize simple model object

My bad, here is the whole project.

Franck ignite-binary-sample.zip
<http://apache-ignite-users.70518.x6.nabble.com/file/n16158/ignite-binary-sample.zip>  



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Failure-to-deserialize-simple-model-object-tp15440p16158.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Failure to deserialize simple model object

Posted by franck102 <fr...@yahoo.com>.
The issue is significant because it is preventing us from dynamically
destroying / adding caches: if the new cache(s) use new key or value types,
we need to update the binaryConfiguration on all nodes but that is
cluster-level configuration and requires a node restart :(

Franck



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Failure-to-deserialize-simple-model-object-tp15440p16245.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Failure to deserialize simple model object

Posted by franck102 <fr...@yahoo.com>.
Awesome, thanks!

Franck



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Failure-to-deserialize-simple-model-object-tp15440p16333.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Failure to deserialize simple model object

Posted by vkulichenko <va...@gmail.com>.
Thanks Alexey, that's great!

Looks like we can expect the fix in 2.2.

-Val



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Failure-to-deserialize-simple-model-object-tp15440p16296.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Failure to deserialize simple model object

Posted by "kukushal ." <ku...@gmail.com>.
This is a suggested fix:
https://reviews.ignite.apache.org/ignite/review/IGNT-CR-269

On Fri, Aug 18, 2017 at 12:15 PM, kukushal . <ku...@gmail.com>
wrote:

> I am fixing this issue: https://issues.apache.org/jira/browse/IGNITE-5966?
> filter=-1
> Reviewing it with Vladimir Ozerov and Sergey Chugunov:
> ----------------------------------
> ПРОБЛЕМА
> “get” не работает для данных загруженных из cache store
> ROOT CAUSE
> There two separate type information stores: metadata store backed by the
> file system and binary marshaller’s “type ID -> type name” store. Binary
> marshaller use the latter one when deserialising objects.
> BinaryObjectBuilderImpl used by the CacheJdbcPojoStore updates only
> metadata store but not the marshaller mappings cache. Thus we get this
> issue described in the ticket.
> SOLUTION
> Update BinaryObjectBuilderImpl to add type mapping to the marshaller cache.
>
> On Fri, Aug 18, 2017 at 1:41 AM, Valentin Kulichenko <
> valentin.kulichenko@gmail.com> wrote:
>
>> Guys,
>>
>> Does anyone has ideas?
>>
>> -Val
>>
>> On Mon, Aug 14, 2017 at 4:33 PM, Valentin Kulichenko <
>> valentin.kulichenko@gmail.com> wrote:
>>
>>> Cross-posting to dev
>>>
>>> Folks,
>>>
>>> I'm confused by the issue discussed in this thread.
>>>
>>> Here is the scenario:
>>> - Start server node with a cache with POJO store configured. There is
>>> one type declared, read-through enabled.
>>> - Start client node and execute get() for a key that exists in
>>> underlying DB.
>>> - During deserialization on the client, 'Requesting mapping from grid
>>> failed for' exception is thrown.
>>>
>>> Specifying the type explicitly in BinaryConfiguration solves the issue,
>>> and I think I understand technical reasons for this. But is this really
>>> expected? Is it possible to fix the issue without requiring to provide this
>>> configuration?
>>>
>>> I thought we do not require to provide types in configuration as long as
>>> there is only one platform involved, am I wrong? If yes, we need to
>>> identify scenarios when this documentation is required and document them.
>>>
>>> -Val
>>>
>>> On Mon, Aug 14, 2017 at 4:23 AM, franck102 <fr...@yahoo.com> wrote:
>>>
>>>> My bad, here is the whole project.
>>>>
>>>> Franck ignite-binary-sample.zip
>>>> <http://apache-ignite-users.70518.x6.nabble.com/file/n16158/
>>>> ignite-binary-sample.zip>
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context: http://apache-ignite-users.705
>>>> 18.x6.nabble.com/Failure-to-deserialize-simple-model-object-
>>>> tp15440p16158.html
>>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>>
>>>
>>>
>>
>
>
> --
> Best regards,
> Alexey
>



-- 
Best regards,
Alexey

Re: Failure to deserialize simple model object

Posted by "kukushal ." <ku...@gmail.com>.
This is a suggested fix:
https://reviews.ignite.apache.org/ignite/review/IGNT-CR-269

On Fri, Aug 18, 2017 at 12:15 PM, kukushal . <ku...@gmail.com>
wrote:

> I am fixing this issue: https://issues.apache.org/jira/browse/IGNITE-5966?
> filter=-1
> Reviewing it with Vladimir Ozerov and Sergey Chugunov:
> ----------------------------------
> ПРОБЛЕМА
> “get” не работает для данных загруженных из cache store
> ROOT CAUSE
> There two separate type information stores: metadata store backed by the
> file system and binary marshaller’s “type ID -> type name” store. Binary
> marshaller use the latter one when deserialising objects.
> BinaryObjectBuilderImpl used by the CacheJdbcPojoStore updates only
> metadata store but not the marshaller mappings cache. Thus we get this
> issue described in the ticket.
> SOLUTION
> Update BinaryObjectBuilderImpl to add type mapping to the marshaller cache.
>
> On Fri, Aug 18, 2017 at 1:41 AM, Valentin Kulichenko <
> valentin.kulichenko@gmail.com> wrote:
>
>> Guys,
>>
>> Does anyone has ideas?
>>
>> -Val
>>
>> On Mon, Aug 14, 2017 at 4:33 PM, Valentin Kulichenko <
>> valentin.kulichenko@gmail.com> wrote:
>>
>>> Cross-posting to dev
>>>
>>> Folks,
>>>
>>> I'm confused by the issue discussed in this thread.
>>>
>>> Here is the scenario:
>>> - Start server node with a cache with POJO store configured. There is
>>> one type declared, read-through enabled.
>>> - Start client node and execute get() for a key that exists in
>>> underlying DB.
>>> - During deserialization on the client, 'Requesting mapping from grid
>>> failed for' exception is thrown.
>>>
>>> Specifying the type explicitly in BinaryConfiguration solves the issue,
>>> and I think I understand technical reasons for this. But is this really
>>> expected? Is it possible to fix the issue without requiring to provide this
>>> configuration?
>>>
>>> I thought we do not require to provide types in configuration as long as
>>> there is only one platform involved, am I wrong? If yes, we need to
>>> identify scenarios when this documentation is required and document them.
>>>
>>> -Val
>>>
>>> On Mon, Aug 14, 2017 at 4:23 AM, franck102 <fr...@yahoo.com> wrote:
>>>
>>>> My bad, here is the whole project.
>>>>
>>>> Franck ignite-binary-sample.zip
>>>> <http://apache-ignite-users.70518.x6.nabble.com/file/n16158/
>>>> ignite-binary-sample.zip>
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context: http://apache-ignite-users.705
>>>> 18.x6.nabble.com/Failure-to-deserialize-simple-model-object-
>>>> tp15440p16158.html
>>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>>
>>>
>>>
>>
>
>
> --
> Best regards,
> Alexey
>



-- 
Best regards,
Alexey

Re: Failure to deserialize simple model object

Posted by "kukushal ." <ku...@gmail.com>.
I am fixing this issue:
https://issues.apache.org/jira/browse/IGNITE-5966?filter=-1
Reviewing it with Vladimir Ozerov and Sergey Chugunov:
----------------------------------
ПРОБЛЕМА
“get” не работает для данных загруженных из cache store
ROOT CAUSE
There two separate type information stores: metadata store backed by the
file system and binary marshaller’s “type ID -> type name” store. Binary
marshaller use the latter one when deserialising objects.
BinaryObjectBuilderImpl used by the CacheJdbcPojoStore updates only
metadata store but not the marshaller mappings cache. Thus we get this
issue described in the ticket.
SOLUTION
Update BinaryObjectBuilderImpl to add type mapping to the marshaller cache.

On Fri, Aug 18, 2017 at 1:41 AM, Valentin Kulichenko <
valentin.kulichenko@gmail.com> wrote:

> Guys,
>
> Does anyone has ideas?
>
> -Val
>
> On Mon, Aug 14, 2017 at 4:33 PM, Valentin Kulichenko <
> valentin.kulichenko@gmail.com> wrote:
>
>> Cross-posting to dev
>>
>> Folks,
>>
>> I'm confused by the issue discussed in this thread.
>>
>> Here is the scenario:
>> - Start server node with a cache with POJO store configured. There is one
>> type declared, read-through enabled.
>> - Start client node and execute get() for a key that exists in underlying
>> DB.
>> - During deserialization on the client, 'Requesting mapping from grid
>> failed for' exception is thrown.
>>
>> Specifying the type explicitly in BinaryConfiguration solves the issue,
>> and I think I understand technical reasons for this. But is this really
>> expected? Is it possible to fix the issue without requiring to provide this
>> configuration?
>>
>> I thought we do not require to provide types in configuration as long as
>> there is only one platform involved, am I wrong? If yes, we need to
>> identify scenarios when this documentation is required and document them.
>>
>> -Val
>>
>> On Mon, Aug 14, 2017 at 4:23 AM, franck102 <fr...@yahoo.com> wrote:
>>
>>> My bad, here is the whole project.
>>>
>>> Franck ignite-binary-sample.zip
>>> <http://apache-ignite-users.70518.x6.nabble.com/file/n16158/
>>> ignite-binary-sample.zip>
>>>
>>>
>>>
>>> --
>>> View this message in context: http://apache-ignite-users.705
>>> 18.x6.nabble.com/Failure-to-deserialize-simple-model-object-
>>> tp15440p16158.html
>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>
>>
>>
>


-- 
Best regards,
Alexey

Re: Failure to deserialize simple model object

Posted by "kukushal ." <ku...@gmail.com>.
I am fixing this issue:
https://issues.apache.org/jira/browse/IGNITE-5966?filter=-1
Reviewing it with Vladimir Ozerov and Sergey Chugunov:
----------------------------------
ПРОБЛЕМА
“get” не работает для данных загруженных из cache store
ROOT CAUSE
There two separate type information stores: metadata store backed by the
file system and binary marshaller’s “type ID -> type name” store. Binary
marshaller use the latter one when deserialising objects.
BinaryObjectBuilderImpl used by the CacheJdbcPojoStore updates only
metadata store but not the marshaller mappings cache. Thus we get this
issue described in the ticket.
SOLUTION
Update BinaryObjectBuilderImpl to add type mapping to the marshaller cache.

On Fri, Aug 18, 2017 at 1:41 AM, Valentin Kulichenko <
valentin.kulichenko@gmail.com> wrote:

> Guys,
>
> Does anyone has ideas?
>
> -Val
>
> On Mon, Aug 14, 2017 at 4:33 PM, Valentin Kulichenko <
> valentin.kulichenko@gmail.com> wrote:
>
>> Cross-posting to dev
>>
>> Folks,
>>
>> I'm confused by the issue discussed in this thread.
>>
>> Here is the scenario:
>> - Start server node with a cache with POJO store configured. There is one
>> type declared, read-through enabled.
>> - Start client node and execute get() for a key that exists in underlying
>> DB.
>> - During deserialization on the client, 'Requesting mapping from grid
>> failed for' exception is thrown.
>>
>> Specifying the type explicitly in BinaryConfiguration solves the issue,
>> and I think I understand technical reasons for this. But is this really
>> expected? Is it possible to fix the issue without requiring to provide this
>> configuration?
>>
>> I thought we do not require to provide types in configuration as long as
>> there is only one platform involved, am I wrong? If yes, we need to
>> identify scenarios when this documentation is required and document them.
>>
>> -Val
>>
>> On Mon, Aug 14, 2017 at 4:23 AM, franck102 <fr...@yahoo.com> wrote:
>>
>>> My bad, here is the whole project.
>>>
>>> Franck ignite-binary-sample.zip
>>> <http://apache-ignite-users.70518.x6.nabble.com/file/n16158/
>>> ignite-binary-sample.zip>
>>>
>>>
>>>
>>> --
>>> View this message in context: http://apache-ignite-users.705
>>> 18.x6.nabble.com/Failure-to-deserialize-simple-model-object-
>>> tp15440p16158.html
>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>
>>
>>
>


-- 
Best regards,
Alexey

Re: Failure to deserialize simple model object

Posted by Valentin Kulichenko <va...@gmail.com>.
Guys,

Does anyone has ideas?

-Val

On Mon, Aug 14, 2017 at 4:33 PM, Valentin Kulichenko <
valentin.kulichenko@gmail.com> wrote:

> Cross-posting to dev
>
> Folks,
>
> I'm confused by the issue discussed in this thread.
>
> Here is the scenario:
> - Start server node with a cache with POJO store configured. There is one
> type declared, read-through enabled.
> - Start client node and execute get() for a key that exists in underlying
> DB.
> - During deserialization on the client, 'Requesting mapping from grid
> failed for' exception is thrown.
>
> Specifying the type explicitly in BinaryConfiguration solves the issue,
> and I think I understand technical reasons for this. But is this really
> expected? Is it possible to fix the issue without requiring to provide this
> configuration?
>
> I thought we do not require to provide types in configuration as long as
> there is only one platform involved, am I wrong? If yes, we need to
> identify scenarios when this documentation is required and document them.
>
> -Val
>
> On Mon, Aug 14, 2017 at 4:23 AM, franck102 <fr...@yahoo.com> wrote:
>
>> My bad, here is the whole project.
>>
>> Franck ignite-binary-sample.zip
>> <http://apache-ignite-users.70518.x6.nabble.com/file/n16158/
>> ignite-binary-sample.zip>
>>
>>
>>
>> --
>> View this message in context: http://apache-ignite-users.705
>> 18.x6.nabble.com/Failure-to-deserialize-simple-model-object-
>> tp15440p16158.html
>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>
>
>

Re: Failure to deserialize simple model object

Posted by Valentin Kulichenko <va...@gmail.com>.
Guys,

Does anyone has ideas?

-Val

On Mon, Aug 14, 2017 at 4:33 PM, Valentin Kulichenko <
valentin.kulichenko@gmail.com> wrote:

> Cross-posting to dev
>
> Folks,
>
> I'm confused by the issue discussed in this thread.
>
> Here is the scenario:
> - Start server node with a cache with POJO store configured. There is one
> type declared, read-through enabled.
> - Start client node and execute get() for a key that exists in underlying
> DB.
> - During deserialization on the client, 'Requesting mapping from grid
> failed for' exception is thrown.
>
> Specifying the type explicitly in BinaryConfiguration solves the issue,
> and I think I understand technical reasons for this. But is this really
> expected? Is it possible to fix the issue without requiring to provide this
> configuration?
>
> I thought we do not require to provide types in configuration as long as
> there is only one platform involved, am I wrong? If yes, we need to
> identify scenarios when this documentation is required and document them.
>
> -Val
>
> On Mon, Aug 14, 2017 at 4:23 AM, franck102 <fr...@yahoo.com> wrote:
>
>> My bad, here is the whole project.
>>
>> Franck ignite-binary-sample.zip
>> <http://apache-ignite-users.70518.x6.nabble.com/file/n16158/
>> ignite-binary-sample.zip>
>>
>>
>>
>> --
>> View this message in context: http://apache-ignite-users.705
>> 18.x6.nabble.com/Failure-to-deserialize-simple-model-object-
>> tp15440p16158.html
>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>
>
>

Re: Failure to deserialize simple model object

Posted by Valentin Kulichenko <va...@gmail.com>.
Cross-posting to dev

Folks,

I'm confused by the issue discussed in this thread.

Here is the scenario:
- Start server node with a cache with POJO store configured. There is one
type declared, read-through enabled.
- Start client node and execute get() for a key that exists in underlying
DB.
- During deserialization on the client, 'Requesting mapping from grid
failed for' exception is thrown.

Specifying the type explicitly in BinaryConfiguration solves the issue, and
I think I understand technical reasons for this. But is this really
expected? Is it possible to fix the issue without requiring to provide this
configuration?

I thought we do not require to provide types in configuration as long as
there is only one platform involved, am I wrong? If yes, we need to
identify scenarios when this documentation is required and document them.

-Val

On Mon, Aug 14, 2017 at 4:23 AM, franck102 <fr...@yahoo.com> wrote:

> My bad, here is the whole project.
>
> Franck ignite-binary-sample.zip
> <http://apache-ignite-users.70518.x6.nabble.com/file/
> n16158/ignite-binary-sample.zip>
>
>
>
> --
> View this message in context: http://apache-ignite-users.
> 70518.x6.nabble.com/Failure-to-deserialize-simple-model-
> object-tp15440p16158.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>

Re: Failure to deserialize simple model object

Posted by Valentin Kulichenko <va...@gmail.com>.
Cross-posting to dev

Folks,

I'm confused by the issue discussed in this thread.

Here is the scenario:
- Start server node with a cache with POJO store configured. There is one
type declared, read-through enabled.
- Start client node and execute get() for a key that exists in underlying
DB.
- During deserialization on the client, 'Requesting mapping from grid
failed for' exception is thrown.

Specifying the type explicitly in BinaryConfiguration solves the issue, and
I think I understand technical reasons for this. But is this really
expected? Is it possible to fix the issue without requiring to provide this
configuration?

I thought we do not require to provide types in configuration as long as
there is only one platform involved, am I wrong? If yes, we need to
identify scenarios when this documentation is required and document them.

-Val

On Mon, Aug 14, 2017 at 4:23 AM, franck102 <fr...@yahoo.com> wrote:

> My bad, here is the whole project.
>
> Franck ignite-binary-sample.zip
> <http://apache-ignite-users.70518.x6.nabble.com/file/
> n16158/ignite-binary-sample.zip>
>
>
>
> --
> View this message in context: http://apache-ignite-users.
> 70518.x6.nabble.com/Failure-to-deserialize-simple-model-
> object-tp15440p16158.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>