Vasilisa Sidorova created IGNITE-1734:
------------------------------------------
Summary: ScalarCachePopularNumbersExample fails and loops when
it's running with jdkMarshaller
Key: IGNITE-1734
URL: https://issues.apache.org/jira/browse/IGNITE-1734
Project: Ignite
Issue Type: Bug
Components: general
Affects Versions: 1.5
Environment: Apache Ignite build #38
Reporter: Vasilisa Sidorova
Fix For: 1.5
---------------------------------------------
STEPS FOR REPRODUCE
---------------------------------------------
# Build examples project in IDE
# In the example-ignite.xml change property from:
<property name="marshaller">
<bean
class="org.apache.ignite.marshaller.optimized.OptimizedMarshaller"> -->
<!-- Set to false to allow non-serializable objects in
examples, default is true. -->
<!-- <property name="requireSerializable" value="false"/>
</bean>
</property>
to
<property name="marshaller">
<bean class=" org.apache.ignite.marshaller.jdk.JdkMarshaller"/>
</property>
# Run ExampleNodeStartup
# Run ScalarPrimeExample
---------------------------------------------
ACTUAL RESULT
---------------------------------------------
Example is failed with exception:
{noformat}
[17:10:45,663][ERROR][main][DataStreamerImpl] Failed to marshal (request will
not be sent).
class org.apache.ignite.IgniteCheckedException: Failed to serialize object:
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$IncrementingUpdater@27382f59
at
org.apache.ignite.marshaller.jdk.JdkMarshaller.marshal(JdkMarshaller.java:82)
at
org.apache.ignite.marshaller.AbstractMarshaller.marshal(AbstractMarshaller.java:52)
at
org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$Buffer.submit(DataStreamerImpl.java:1279)
at
org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$Buffer.update(DataStreamerImpl.java:1142)
at
org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.load0(DataStreamerImpl.java:725)
at
org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.addDataInternal(DataStreamerImpl.java:547)
at
org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.addData(DataStreamerImpl.java:583)
at
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$$anonfun$streamData$1.apply(ScalarCachePopularNumbersExample.scala:112)
at
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$$anonfun$streamData$1.apply(ScalarCachePopularNumbersExample.scala:112)
at scala.collection.immutable.Range.foreach(Range.scala:160)
at
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$.streamData(ScalarCachePopularNumbersExample.scala:112)
at
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$$anonfun$1.apply$mcV$sp(ScalarCachePopularNumbersExample.scala:85)
at
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$$anonfun$1.apply(ScalarCachePopularNumbersExample.scala:67)
at
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$$anonfun$1.apply(ScalarCachePopularNumbersExample.scala:67)
at org.apache.ignite.scalar.scalar$.init0(scalar.scala:181)
at org.apache.ignite.scalar.scalar$.apply(scalar.scala:237)
at
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$.delayedEndpoint$org$apache$ignite$scalar$examples$ScalarCachePopularNumbersExample$1(ScalarCachePopularNumbersExample.scala:67)
at
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$delayedInit$body.apply(ScalarCachePopularNumbersExample.scala:48)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
at
scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:76)
at scala.App$$anonfun$main$1.apply(App.scala:76)
at scala.collection.immutable.List.foreach(List.scala:381)
at
scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
at scala.App$class.main(App.scala:76)
at
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$.main(ScalarCachePopularNumbersExample.scala:48)
at
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample.main(ScalarCachePopularNumbersExample.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: java.io.NotSerializableException:
org.apache.ignite.scalar.examples.ScalarCachePopularNumbersExample$IncrementingUpdater$$anon$1
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at
org.apache.ignite.marshaller.jdk.JdkMarshaller.marshal(JdkMarshaller.java:77)
{noformat}
---------------------------------------------
EXPECTED RESULT
---------------------------------------------
Example is passed without any exceptions
---------------------------------------------
ADDITIONAL INFO
---------------------------------------------
# Isn't reproducible without any remote nodes
# Isn't reproducible for the others marshallers
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)