Paulo,
After a closer look I see that BinaryMarshaller works the way it was
designed to work. The issue is that your class implements Map and
Serializable, but does not define writeObject(), that's why Ignite
serializes it in the portable format discarding information about the
custom user type (this way it can be read in other platforms - .NET and C++)
There are two ways to solve this. First is to set OptimizedMarshaller in
configuration (this marshaller was the default marshaller in ignite-1.4).
The second one would be to define writeObject() method in your class which
will call defaultWriteObject, like this:
private void writeObject(ObjectOutputStream s)
throws IOException {
s.defaultWriteObject();
}
I am also curious what other community members think about current behavior.
2015-12-07 20:38 GMT+03:00 Paulo Pires <[email protected]>:
> With 3fbf3e9 the issue is still there.
>
> On Mon, Dec 7, 2015 at 11:28 AM, Andrey Gura <[email protected]> wrote:
>
>> Paulo,
>>
>> I see commit with fix in master branch.
>>
>> commit 2564a556e353269d4adc58160512ed9d0a5979b4
>> Author: Alexey Goncharuk <[email protected]>
>> Date: Tue Dec 1 17:37:41 2015 +0300
>>
>> IGNITE-1695 - Fixed writing polymorphic types.
>>
>>
>> Could you please make sure that you have codebase with this commit and
>> repeat your test?
>>
>>
>> On Mon, Dec 7, 2015 at 1:37 PM, Paulo Pires <[email protected]> wrote:
>>
>>> Hi Andrey,
>>>
>>> This is great news! While marked as fixed, it doesn't seem to have hit
>>> the Github clone repo. Am I missing something? Would like to keep on
>>> testing 1.5 before it gets released.
>>>
>>> Pires
>>>
>>> On Mon, Dec 7, 2015 at 10:22 AM, Andrey Gura <[email protected]> wrote:
>>>
>>>> Hi Paulo,
>>>>
>>>> it is know issue (see JIRA ticket
>>>> https://issues.apache.org/jira/browse/IGNITE-1695)
>>>>
>>>> The problem is fixed and fix will be included into nearest ignite-1.5
>>>> release.
>>>>
>>>> On Mon, Dec 7, 2015 at 2:32 AM, Paulo Pires <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I have the following class http://pastebin.com/QD4tmH29 and while it
>>>>> works fine with 1.4.0 it is not working with 1.5 built from source. The
>>>>> error is:
>>>>>
>>>>> java.lang.ClassCastException: java.util.HashMap cannot be cast to
>>>>> xxx.DeviceSubscriptionFilterMap
>>>>>
>>>>> Ideas?
>>>>> --
>>>>> Cheers,
>>>>> Pires
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Andrey Gura
>>>> GridGain Systems, Inc.
>>>> www.gridgain.com
>>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Pires
>>>
>>
>>
>>
>> --
>> Andrey Gura
>> GridGain Systems, Inc.
>> www.gridgain.com
>>
>
>
>
> --
> Cheers,
> Pires
>