You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Sergey Evdokimov (JIRA)" <ji...@apache.org> on 2015/04/20 22:38:58 UTC

[jira] [Created] (IGNITE-777) ConcurrentModificationException in TcpDiscoverySpi

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)