Sergey Evdokimov created IGNITE-777:
---------------------------------------
Summary: ConcurrentModificationException in TcpDiscoverySpi
Key: IGNITE-777
URL: https://issues.apache.org/jira/browse/IGNITE-777
Project: Ignite
Issue Type: Bug
Affects Versions: sprint-3
Reporter: Sergey Evdokimov
ConcurrentModificationException occurs if topology has one server node and one
client. TcpDiscoveryHeartbeatMessage processed in the RingMessageWorker two
times. On the first processing RingMessageWorker adds metrics of server node to
the message and sends message to ClientMessageWorker. On the second processing
RingMessageWorker remove metrics, at same time ClientMessageWorker writes
message to socket.
{quote}
[18:07:23,975]ERROR[tcp-disco-client-message-worker-#1113%cache.GridCacheTcpClientDiscoveryMultiThreadedTest0][TcpDiscoverySpi]
Runtime error caught during grid runnable execution: IgniteSpiThread
[name=tcp-disco-client-message-worker-#1113%cache.GridCacheTcpClientDiscoveryMultiThreadedTest0]
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:922)
at java.util.HashMap$EntryIterator.next(HashMap.java:962)
at java.util.HashMap$EntryIterator.next(HashMap.java:960)
at java.util.HashMap.writeObject(HashMap.java:1127)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
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:73)
at
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpiAdapter.writeToSocket(TcpDiscoverySpiAdapter.java:460)
at
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpiAdapter$MessageWorkerAdapter.writeToSocket(TcpDiscoverySpiAdapter.java:1044)
at
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi$ClientMessageWorker.processMessage(TcpDiscoverySpi.java:5221)
{quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)