You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Supun Nakandala <su...@gmail.com> on 2018/04/03 18:15:22 UTC

Broadcast method fails with DataStorage peristenceEnabled

Hi all,

I am trying to setup Apache Ignite with persistence enabled and facing a
deserialization failure when executing broadcast method with data storage
persistence enabled.

The following code will recreate this problem:

public static void main(String[] args) throws IOException {
        final String CONFIG_PATH = "./config/example-ignite.xml";

        Ignition.setClientMode(true);
        try (Ignite ignite = Ignition.start(CONFIG_PATH)) {
            ignite.active(true);
            IgniteCompute compute =
ignite.compute(ignite.cluster().forRemotes());
            compute.broadcast(() -> System.out.println("Hello Node: " +
ignite.cluster().localNode().id()));
        }
    }

Persistence configuration used in example-default.xml (everything else is
set to default)

<!-- Enabling Apache Ignite native persistence. -->
        <property name="dataStorageConfiguration">
            <bean
class="org.apache.ignite.configuration.DataStorageConfiguration">
                <property name="defaultDataRegionConfiguration">
                    <bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
                        <property name="name" value="Default_Region"/>
                        <property name="persistenceEnabled" value="true"/>

                        <property name="initialSize" value="#{100L * 1024 *
1024}"/>
                        <property name="maxSize" value="#{4L * 1024 * 1024
* 1024}"/>
                    </bean>
                </property>
            </bean>
        </property>

I am using Apache Ignite 2.4.0.

Your help for fixing this issue is greatly appreciated.

Thank You
-Supun

Re: Broadcast method fails with DataStorage peristenceEnabled

Posted by Denis Mekhanikov <dm...@gmail.com>.
Supun,

"Unknown pair" error means, that marshaller failed to find a mapping from
type id to classname of an object, that it tries to deserialize.
This information is stored in *work/marshaller *directory on every node.
Make sure, that the following file is present on all nodes in *marshaller*
directory: *555206796.classname0*
If it is missing somewhere, then you will need to synchronize contents
of *marshaller
*directories on every node manually.

Denis

ср, 4 апр. 2018 г. в 0:16, David Harvey <dh...@jobcase.com>:

> I found what I posted on our internal slack at the time, suggesting that I
> thought this was a library version mismatch.
> "I’m getting some pretty squirrelly behavior.   I’m using maven to
> build/run the test on the client node.   I was trying to fix the logging
> issue below (which was not blocking).   I added a dependency on
> ignite-slf4j on the client, which did not improve the errors, but caused
> the server to get  “Caused by: java.lang.ClassNotFoundException: Unknown
> pair [platformId=0, typeId=555206796]”    in the binary deserialization. "
>
> On Tue, Apr 3, 2018 at 4:50 PM, Supun Nakandala <supun.nakandala@gmail.com
> > wrote:
>
>> I verified the java version is the same.
>>
>> The interesting thing here is the code runs correctly if I disable
>> persistence.
>>
>> <property name="persistenceEnabled" value="false"/>
>>
>> I wonder whether there is an issue in enabling persistence or I am doing
>> something wrong here.
>>
>> On Tue, Apr 3, 2018 at 12:12 PM, David Harvey <dh...@jobcase.com>
>> wrote:
>>
>>> PS.  I'm actually remembering it was due to a mismatch of Java7 vs 8,
>>> which does not make that much sense, because we have been running Java7
>>> clients recently with no issues.
>>>
>>>
>>>
>>>
>>> On Tue, Apr 3, 2018 at 3:05 PM, David Harvey <dh...@jobcase.com>
>>> wrote:
>>>
>>>> I had those "UNKNOWN PAIR" issues early on, and it seemed to be some
>>>> kind of version problem, like the client was not running at the same rev.
>>>>
>>>> On Tue, Apr 3, 2018 at 2:15 PM, Supun Nakandala <
>>>> supun.nakandala@gmail.com> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I am trying to setup Apache Ignite with persistence enabled and facing
>>>>> a deserialization failure when executing broadcast method with data storage
>>>>> persistence enabled.
>>>>>
>>>>> The following code will recreate this problem:
>>>>>
>>>>> public static void main(String[] args) throws IOException {
>>>>>         final String CONFIG_PATH = "./config/example-ignite.xml";
>>>>>
>>>>>         Ignition.setClientMode(true);
>>>>>         try (Ignite ignite = Ignition.start(CONFIG_PATH)) {
>>>>>             ignite.active(true);
>>>>>             IgniteCompute compute =
>>>>> ignite.compute(ignite.cluster().forRemotes());
>>>>>             compute.broadcast(() -> System.out.println("Hello Node: "
>>>>> + ignite.cluster().localNode().id()));
>>>>>         }
>>>>>     }
>>>>>
>>>>> Persistence configuration used in example-default.xml (everything else
>>>>> is set to default)
>>>>>
>>>>> <!-- Enabling Apache Ignite native persistence. -->
>>>>>         <property name="dataStorageConfiguration">
>>>>>             <bean
>>>>> class="org.apache.ignite.configuration.DataStorageConfiguration">
>>>>>                 <property name="defaultDataRegionConfiguration">
>>>>>                     <bean
>>>>> class="org.apache.ignite.configuration.DataRegionConfiguration">
>>>>>                         <property name="name" value="Default_Region"/>
>>>>>                         <property name="persistenceEnabled"
>>>>> value="true"/>
>>>>>
>>>>>                         <property name="initialSize" value="#{100L *
>>>>> 1024 * 1024}"/>
>>>>>                         <property name="maxSize" value="#{4L * 1024 *
>>>>> 1024 * 1024}"/>
>>>>>                     </bean>
>>>>>                 </property>
>>>>>             </bean>
>>>>>         </property>
>>>>>
>>>>> I am using Apache Ignite 2.4.0.
>>>>>
>>>>> Your help for fixing this issue is greatly appreciated.
>>>>>
>>>>> Thank You
>>>>> -Supun
>>>>>
>>>>
>>>>
>>>
>>>
>>> *Disclaimer*
>>>
>>> The information contained in this communication from the sender is
>>> confidential. It is intended solely for use by the recipient and others
>>> authorized to receive it. If you are not the recipient, you are hereby
>>> notified that any disclosure, copying, distribution or taking action in
>>> relation of the contents of this information is strictly prohibited and may
>>> be unlawful.
>>>
>>> This email has been scanned for viruses and malware, and may have been
>>> automatically archived by *Mimecast Ltd*, an innovator in Software as a
>>> Service (SaaS) for business. Providing a *safer* and *more useful*
>>> place for your human generated data. Specializing in; Security, archiving
>>> and compliance. To find out more Click Here
>>> <http://www.mimecast.com/products/>.
>>>
>>
>>
>
>
> *Disclaimer*
>
> The information contained in this communication from the sender is
> confidential. It is intended solely for use by the recipient and others
> authorized to receive it. If you are not the recipient, you are hereby
> notified that any disclosure, copying, distribution or taking action in
> relation of the contents of this information is strictly prohibited and may
> be unlawful.
>
> This email has been scanned for viruses and malware, and may have been
> automatically archived by *Mimecast Ltd*, an innovator in Software as a
> Service (SaaS) for business. Providing a *safer* and *more useful* place
> for your human generated data. Specializing in; Security, archiving and
> compliance. To find out more Click Here
> <http://www.mimecast.com/products/>.
>

Re: Broadcast method fails with DataStorage peristenceEnabled

Posted by David Harvey <dh...@jobcase.com>.
I found what I posted on our internal slack at the time, suggesting that I
thought this was a library version mismatch.
"I’m getting some pretty squirrelly behavior.   I’m using maven to
build/run the test on the client node.   I was trying to fix the logging
issue below (which was not blocking).   I added a dependency on
ignite-slf4j on the client, which did not improve the errors, but caused
the server to get  “Caused by: java.lang.ClassNotFoundException: Unknown
pair [platformId=0, typeId=555206796]”    in the binary deserialization. "

On Tue, Apr 3, 2018 at 4:50 PM, Supun Nakandala <su...@gmail.com>
wrote:

> I verified the java version is the same.
>
> The interesting thing here is the code runs correctly if I disable
> persistence.
>
> <property name="persistenceEnabled" value="false"/>
>
> I wonder whether there is an issue in enabling persistence or I am doing
> something wrong here.
>
> On Tue, Apr 3, 2018 at 12:12 PM, David Harvey <dh...@jobcase.com> wrote:
>
>> PS.  I'm actually remembering it was due to a mismatch of Java7 vs 8,
>> which does not make that much sense, because we have been running Java7
>> clients recently with no issues.
>>
>>
>>
>>
>> On Tue, Apr 3, 2018 at 3:05 PM, David Harvey <dh...@jobcase.com> wrote:
>>
>>> I had those "UNKNOWN PAIR" issues early on, and it seemed to be some
>>> kind of version problem, like the client was not running at the same rev.
>>>
>>> On Tue, Apr 3, 2018 at 2:15 PM, Supun Nakandala <
>>> supun.nakandala@gmail.com> wrote:
>>>
>>>> Hi all,
>>>>
>>>> I am trying to setup Apache Ignite with persistence enabled and facing
>>>> a deserialization failure when executing broadcast method with data storage
>>>> persistence enabled.
>>>>
>>>> The following code will recreate this problem:
>>>>
>>>> public static void main(String[] args) throws IOException {
>>>>         final String CONFIG_PATH = "./config/example-ignite.xml";
>>>>
>>>>         Ignition.setClientMode(true);
>>>>         try (Ignite ignite = Ignition.start(CONFIG_PATH)) {
>>>>             ignite.active(true);
>>>>             IgniteCompute compute = ignite.compute(ignite.cluster(
>>>> ).forRemotes());
>>>>             compute.broadcast(() -> System.out.println("Hello Node: " +
>>>> ignite.cluster().localNode().id()));
>>>>         }
>>>>     }
>>>>
>>>> Persistence configuration used in example-default.xml (everything else
>>>> is set to default)
>>>>
>>>> <!-- Enabling Apache Ignite native persistence. -->
>>>>         <property name="dataStorageConfiguration">
>>>>             <bean class="org.apache.ignite.confi
>>>> guration.DataStorageConfiguration">
>>>>                 <property name="defaultDataRegionConfiguration">
>>>>                     <bean class="org.apache.ignite.confi
>>>> guration.DataRegionConfiguration">
>>>>                         <property name="name" value="Default_Region"/>
>>>>                         <property name="persistenceEnabled"
>>>> value="true"/>
>>>>
>>>>                         <property name="initialSize" value="#{100L *
>>>> 1024 * 1024}"/>
>>>>                         <property name="maxSize" value="#{4L * 1024 *
>>>> 1024 * 1024}"/>
>>>>                     </bean>
>>>>                 </property>
>>>>             </bean>
>>>>         </property>
>>>>
>>>> I am using Apache Ignite 2.4.0.
>>>>
>>>> Your help for fixing this issue is greatly appreciated.
>>>>
>>>> Thank You
>>>> -Supun
>>>>
>>>
>>>
>>
>>
>> *Disclaimer*
>>
>> The information contained in this communication from the sender is
>> confidential. It is intended solely for use by the recipient and others
>> authorized to receive it. If you are not the recipient, you are hereby
>> notified that any disclosure, copying, distribution or taking action in
>> relation of the contents of this information is strictly prohibited and may
>> be unlawful.
>>
>> This email has been scanned for viruses and malware, and may have been
>> automatically archived by *Mimecast Ltd*, an innovator in Software as a
>> Service (SaaS) for business. Providing a *safer* and *more useful* place
>> for your human generated data. Specializing in; Security, archiving and
>> compliance. To find out more Click Here
>> <http://www.mimecast.com/products/>.
>>
>
>

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business. Providing a safer and more useful place for your human generated data. Specializing in; Security, archiving and compliance. To find out more visit the Mimecast website.

Re: Broadcast method fails with DataStorage peristenceEnabled

Posted by Supun Nakandala <su...@gmail.com>.
I verified the java version is the same.

The interesting thing here is the code runs correctly if I disable
persistence.

<property name="persistenceEnabled" value="false"/>

I wonder whether there is an issue in enabling persistence or I am doing
something wrong here.

On Tue, Apr 3, 2018 at 12:12 PM, David Harvey <dh...@jobcase.com> wrote:

> PS.  I'm actually remembering it was due to a mismatch of Java7 vs 8,
> which does not make that much sense, because we have been running Java7
> clients recently with no issues.
>
>
>
>
> On Tue, Apr 3, 2018 at 3:05 PM, David Harvey <dh...@jobcase.com> wrote:
>
>> I had those "UNKNOWN PAIR" issues early on, and it seemed to be some kind
>> of version problem, like the client was not running at the same rev.
>>
>> On Tue, Apr 3, 2018 at 2:15 PM, Supun Nakandala <
>> supun.nakandala@gmail.com> wrote:
>>
>>> Hi all,
>>>
>>> I am trying to setup Apache Ignite with persistence enabled and facing a
>>> deserialization failure when executing broadcast method with data storage
>>> persistence enabled.
>>>
>>> The following code will recreate this problem:
>>>
>>> public static void main(String[] args) throws IOException {
>>>         final String CONFIG_PATH = "./config/example-ignite.xml";
>>>
>>>         Ignition.setClientMode(true);
>>>         try (Ignite ignite = Ignition.start(CONFIG_PATH)) {
>>>             ignite.active(true);
>>>             IgniteCompute compute = ignite.compute(ignite.cluster(
>>> ).forRemotes());
>>>             compute.broadcast(() -> System.out.println("Hello Node: " +
>>> ignite.cluster().localNode().id()));
>>>         }
>>>     }
>>>
>>> Persistence configuration used in example-default.xml (everything else
>>> is set to default)
>>>
>>> <!-- Enabling Apache Ignite native persistence. -->
>>>         <property name="dataStorageConfiguration">
>>>             <bean class="org.apache.ignite.confi
>>> guration.DataStorageConfiguration">
>>>                 <property name="defaultDataRegionConfiguration">
>>>                     <bean class="org.apache.ignite.confi
>>> guration.DataRegionConfiguration">
>>>                         <property name="name" value="Default_Region"/>
>>>                         <property name="persistenceEnabled"
>>> value="true"/>
>>>
>>>                         <property name="initialSize" value="#{100L *
>>> 1024 * 1024}"/>
>>>                         <property name="maxSize" value="#{4L * 1024 *
>>> 1024 * 1024}"/>
>>>                     </bean>
>>>                 </property>
>>>             </bean>
>>>         </property>
>>>
>>> I am using Apache Ignite 2.4.0.
>>>
>>> Your help for fixing this issue is greatly appreciated.
>>>
>>> Thank You
>>> -Supun
>>>
>>
>>
>
>
> *Disclaimer*
>
> The information contained in this communication from the sender is
> confidential. It is intended solely for use by the recipient and others
> authorized to receive it. If you are not the recipient, you are hereby
> notified that any disclosure, copying, distribution or taking action in
> relation of the contents of this information is strictly prohibited and may
> be unlawful.
>
> This email has been scanned for viruses and malware, and may have been
> automatically archived by *Mimecast Ltd*, an innovator in Software as a
> Service (SaaS) for business. Providing a *safer* and *more useful* place
> for your human generated data. Specializing in; Security, archiving and
> compliance. To find out more Click Here
> <http://www.mimecast.com/products/>.
>

Re: Broadcast method fails with DataStorage peristenceEnabled

Posted by David Harvey <dh...@jobcase.com>.
PS.  I'm actually remembering it was due to a mismatch of Java7 vs 8, which
does not make that much sense, because we have been running Java7 clients
recently with no issues.




On Tue, Apr 3, 2018 at 3:05 PM, David Harvey <dh...@jobcase.com> wrote:

> I had those "UNKNOWN PAIR" issues early on, and it seemed to be some kind
> of version problem, like the client was not running at the same rev.
>
> On Tue, Apr 3, 2018 at 2:15 PM, Supun Nakandala <supun.nakandala@gmail.com
> > wrote:
>
>> Hi all,
>>
>> I am trying to setup Apache Ignite with persistence enabled and facing a
>> deserialization failure when executing broadcast method with data storage
>> persistence enabled.
>>
>> The following code will recreate this problem:
>>
>> public static void main(String[] args) throws IOException {
>>         final String CONFIG_PATH = "./config/example-ignite.xml";
>>
>>         Ignition.setClientMode(true);
>>         try (Ignite ignite = Ignition.start(CONFIG_PATH)) {
>>             ignite.active(true);
>>             IgniteCompute compute = ignite.compute(ignite.cluster(
>> ).forRemotes());
>>             compute.broadcast(() -> System.out.println("Hello Node: " +
>> ignite.cluster().localNode().id()));
>>         }
>>     }
>>
>> Persistence configuration used in example-default.xml (everything else is
>> set to default)
>>
>> <!-- Enabling Apache Ignite native persistence. -->
>>         <property name="dataStorageConfiguration">
>>             <bean class="org.apache.ignite.confi
>> guration.DataStorageConfiguration">
>>                 <property name="defaultDataRegionConfiguration">
>>                     <bean class="org.apache.ignite.confi
>> guration.DataRegionConfiguration">
>>                         <property name="name" value="Default_Region"/>
>>                         <property name="persistenceEnabled" value="true"/>
>>
>>                         <property name="initialSize" value="#{100L * 1024
>> * 1024}"/>
>>                         <property name="maxSize" value="#{4L * 1024 *
>> 1024 * 1024}"/>
>>                     </bean>
>>                 </property>
>>             </bean>
>>         </property>
>>
>> I am using Apache Ignite 2.4.0.
>>
>> Your help for fixing this issue is greatly appreciated.
>>
>> Thank You
>> -Supun
>>
>
>

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business. Providing a safer and more useful place for your human generated data. Specializing in; Security, archiving and compliance. To find out more visit the Mimecast website.

Re: Broadcast method fails with DataStorage peristenceEnabled

Posted by David Harvey <dh...@jobcase.com>.
I had those "UNKNOWN PAIR" issues early on, and it seemed to be some kind
of version problem, like the client was not running at the same rev.

On Tue, Apr 3, 2018 at 2:15 PM, Supun Nakandala <su...@gmail.com>
wrote:

> Hi all,
>
> I am trying to setup Apache Ignite with persistence enabled and facing a
> deserialization failure when executing broadcast method with data storage
> persistence enabled.
>
> The following code will recreate this problem:
>
> public static void main(String[] args) throws IOException {
>         final String CONFIG_PATH = "./config/example-ignite.xml";
>
>         Ignition.setClientMode(true);
>         try (Ignite ignite = Ignition.start(CONFIG_PATH)) {
>             ignite.active(true);
>             IgniteCompute compute = ignite.compute(ignite.cluster(
> ).forRemotes());
>             compute.broadcast(() -> System.out.println("Hello Node: " +
> ignite.cluster().localNode().id()));
>         }
>     }
>
> Persistence configuration used in example-default.xml (everything else is
> set to default)
>
> <!-- Enabling Apache Ignite native persistence. -->
>         <property name="dataStorageConfiguration">
>             <bean class="org.apache.ignite.configuration.
> DataStorageConfiguration">
>                 <property name="defaultDataRegionConfiguration">
>                     <bean class="org.apache.ignite.configuration.
> DataRegionConfiguration">
>                         <property name="name" value="Default_Region"/>
>                         <property name="persistenceEnabled" value="true"/>
>
>                         <property name="initialSize" value="#{100L * 1024
> * 1024}"/>
>                         <property name="maxSize" value="#{4L * 1024 * 1024
> * 1024}"/>
>                     </bean>
>                 </property>
>             </bean>
>         </property>
>
> I am using Apache Ignite 2.4.0.
>
> Your help for fixing this issue is greatly appreciated.
>
> Thank You
> -Supun
>

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business. Providing a safer and more useful place for your human generated data. Specializing in; Security, archiving and compliance. To find out more visit the Mimecast website.

Re: Broadcast method fails with DataStorage peristenceEnabled

Posted by Supun Nakandala <su...@gmail.com>.
The error that I get is this:

*Apr 03, 2018 11:56:17 AM org.apache.ignite.logger.java.JavaLogger error*
*SEVERE: Failed to obtain remote job result policy for result from
ComputeTask.result(..) method (will fail the whole task): GridJobResultImpl
[job=C4 [r=Main$$Lambda$2/882646447@4ea7d8ff], sib=GridJobSiblingImpl
[sesId=63bbddc8261-519c2985-225e-4fe9-afd8-726b87e767b9,
jobId=83bbddc8261-519c2985-225e-4fe9-afd8-726b87e767b9,
nodeId=85cd375e-b1fe-4e58-a1b2-6c5c59a5218a, isJobDone=false],
jobCtx=GridJobContextImpl
[jobId=83bbddc8261-519c2985-225e-4fe9-afd8-726b87e767b9, timeoutObj=null,
attrs={}], node=TcpDiscoveryNode [id=85cd375e-b1fe-4e58-a1b2-6c5c59a5218a,
addrs=[0:0:0:0:0:0:0:1, 127.0.0.1, 169.228.184.59,
2607:f720:f00:4010:59bb:4051:3322:a07a,
2607:f720:f00:4010:c2b:febd:ba40:254b],
sockAddrs=[supuns-mbp.dynamic.ucsd.edu/169.228.184.59:47500
<http://supuns-mbp.dynamic.ucsd.edu/169.228.184.59:47500>,
/2607:f720:f00:4010:59bb:4051:3322:a07a:47500, /0:0:0:0:0:0:0:1:47500,
/127.0.0.1:47500 <http://127.0.0.1:47500>,
/2607:f720:f00:4010:c2b:febd:ba40:254b:47500], discPort=47500, order=1,
intOrder=1, lastExchangeTime=1522781776887, loc=false,
ver=2.4.0#20180305-sha1:aa342270, isClient=false], ex=class
o.a.i.IgniteException: Failed to deserialize object
[typeName=o.a.i.i.processors.closure.GridClosureProcessor$C4], hasRes=true,
isCancelled=false, isOccupied=true]*
*class org.apache.ignite.IgniteException: Remote job threw user exception
(override or implement ComputeTask.result(..) method if you would like to
have automatic failover for this exception).*
* at
org.apache.ignite.compute.ComputeTaskAdapter.result(ComputeTaskAdapter.java:101)*
* at
org.apache.ignite.internal.processors.task.GridTaskWorker$5.apply(GridTaskWorker.java:1047)*
* at
org.apache.ignite.internal.processors.task.GridTaskWorker$5.apply(GridTaskWorker.java:1040)*
* at
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6655)*
* at
org.apache.ignite.internal.processors.task.GridTaskWorker.result(GridTaskWorker.java:1040)*
* at
org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:858)*
* at
org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1077)*
* at
org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1312)*
* at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1555)*
* at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1183)*
* at
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)*
* at
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1090)*
* 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:745)*
*Caused by: class org.apache.ignite.IgniteException: Failed to deserialize
object
[typeName=org.apache.ignite.internal.processors.closure.GridClosureProcessor$C4]*
* at
org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:457)*
* at
org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1117)*
* at
org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1921)*
* ... 7 more*
*Caused by: class org.apache.ignite.IgniteCheckedException: Failed to
deserialize object
[typeName=org.apache.ignite.internal.processors.closure.GridClosureProcessor$C4]*
* at
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9908)*
* at
org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:438)*
* ... 9 more*
*Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to
deserialize object
[typeName=org.apache.ignite.internal.processors.closure.GridClosureProcessor$C4]*
* at
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:875)*
* at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)*
* at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)*
* at
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)*
* at
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)*
* at
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)*
* at
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9902)*
* ... 10 more*
*Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException:
Unknown pair [platformId=0, typeId=1060174157]*
* at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:696)*
* at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1755)*
* at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)*
* at
org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1799)*
* at
org.apache.ignite.internal.binary.BinaryReaderExImpl.readObject(BinaryReaderExImpl.java:1329)*
* at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C4.readBinary(GridClosureProcessor.java:1959)*
* at
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:834)*
* ... 16 more*
*Caused by: java.lang.ClassNotFoundException: Unknown pair [platformId=0,
typeId=1060174157]*
* at
org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:385)*
* at
org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:335)*
* at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:687)*
* ... 22 more*

*[11:56:17] Ignite node stopped OK [uptime=00:00:00.124]*
*Exception in thread "main" class
org.apache.ignite.binary.BinaryObjectException: Failed to deserialize
object
[typeName=org.apache.ignite.internal.processors.closure.GridClosureProcessor$C4]*
* at
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:875)*
* at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)*
* at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)*
* at
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)*
* at
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)*
* at
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)*
* at
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9902)*
* at
org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:438)*
* at
org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1117)*
* at
org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1921)*
* at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1555)*
* at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1183)*
* at
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)*
* at
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1090)*
* 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:745)*
*Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException:
Unknown pair [platformId=0, typeId=1060174157]*
* at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:696)*
* at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1755)*
* at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)*
* at
org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1799)*
* at
org.apache.ignite.internal.binary.BinaryReaderExImpl.readObject(BinaryReaderExImpl.java:1329)*
* at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C4.readBinary(GridClosureProcessor.java:1959)*
* at
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:834)*
* ... 16 more*
*Caused by: java.lang.ClassNotFoundException: Unknown pair [platformId=0,
typeId=1060174157]*
* at
org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:385)*
* at
org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:335)*
* at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:687)*
* ... 22 more*

On Tue, Apr 3, 2018 at 11:15 AM, Supun Nakandala <su...@gmail.com>
wrote:

> Hi all,
>
> I am trying to setup Apache Ignite with persistence enabled and facing a
> deserialization failure when executing broadcast method with data storage
> persistence enabled.
>
> The following code will recreate this problem:
>
> public static void main(String[] args) throws IOException {
>         final String CONFIG_PATH = "./config/example-ignite.xml";
>
>         Ignition.setClientMode(true);
>         try (Ignite ignite = Ignition.start(CONFIG_PATH)) {
>             ignite.active(true);
>             IgniteCompute compute = ignite.compute(ignite.cluster(
> ).forRemotes());
>             compute.broadcast(() -> System.out.println("Hello Node: " +
> ignite.cluster().localNode().id()));
>         }
>     }
>
> Persistence configuration used in example-default.xml (everything else is
> set to default)
>
> <!-- Enabling Apache Ignite native persistence. -->
>         <property name="dataStorageConfiguration">
>             <bean class="org.apache.ignite.configuration.
> DataStorageConfiguration">
>                 <property name="defaultDataRegionConfiguration">
>                     <bean class="org.apache.ignite.configuration.
> DataRegionConfiguration">
>                         <property name="name" value="Default_Region"/>
>                         <property name="persistenceEnabled" value="true"/>
>
>                         <property name="initialSize" value="#{100L * 1024
> * 1024}"/>
>                         <property name="maxSize" value="#{4L * 1024 * 1024
> * 1024}"/>
>                     </bean>
>                 </property>
>             </bean>
>         </property>
>
> I am using Apache Ignite 2.4.0.
>
> Your help for fixing this issue is greatly appreciated.
>
> Thank You
> -Supun
>