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)

Reply via email to