eclipse-ee4j / glassfish-shoal

Shoal
Other
5 stars 9 forks source link

sometimes, sending messages to a member failed though the member is still alive. #62

Closed glassfishrobot closed 14 years ago

glassfishrobot commented 16 years ago

Assuming that there are two nodes "A" and "B". "A" starts multiple threads to send messages to "B", while "B" just receives messages from "A". Sometimes, "A" throws ArrayIndexOutOfBoundsException and reports that "B" is not is not in its view anymore though "B" is still alive. Use com.sun.enterprise.shoal.multithreadmessagesendertest.MultiThreadMessageSender to start two instances. In a litter while, "A" prints:

java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at sun.security.provider.DigestBase.engineUpdate (DigestBase.java:102) at sun.security.provider.SHA.implDigest(SHA.java:94) at sun.security.provider.DigestBase.engineDigest (DigestBase.java:161) at sun.security.provider.DigestBase.engineDigest (DigestBase.java:140) at java.security.MessageDigest$Delegate.engineDigest (MessageDigest.java:531) at java.security.MessageDigest.digest(MessageDigest.java:309) at java.security.MessageDigest.digest(MessageDigest.java:355) at com.sun.enterprise.jxtamgmt.NetworkManager.hash (NetworkManager.java:222) at com.sun.enterprise.jxtamgmt.NetworkManager.getPeerGroupID (NetworkManager.java:272) at com.sun.enterprise.jxtamgmt.NetworkManager.getInfraPeerGroupID (NetworkManager.java:362) at com.sun.enterprise.jxtamgmt.NetworkManager.getPeerID (NetworkManager.java:261) at com.sun.enterprise.jxtamgmt.ClusterManager.getID (ClusterManager.java:662) at com.sun.enterprise.ee.cms.impl.jxta.GroupCommunicationProviderImpl.sendMessage (GroupCommunicationProviderImpl.java:226) at com.sun.enterprise.ee.cms.impl.jxta.GroupHandleImpl.sendMessage (GroupHandleImpl.java:131) at MultiThreadMessageSender$1.run (MultiThreadMessageSender.java:52) at java.lang.Thread.run(Thread.java:595) 2008-6-12 11:20:21 com.sun.enterprise.ee.cms.impl.jxta.GroupHandleImpl sendMessage 警告: GroupHandleImpl.sendMessage : Could not send message : Member B is not in the View anymore. Hence not performing sendMessage operation

Environment

Operating System: All Platform: All

Affected Versions

[current]

glassfishrobot commented 6 years ago
glassfishrobot commented 16 years ago

@glassfishrobot Commented Reported by leehui

glassfishrobot commented 16 years ago

@glassfishrobot Commented leehui said: The root cause, please see https://shoal.dev.java.net/servlets/ReadMsg?list=dev&msgNo=79

And some fix suggestions, please see https://shoal.dev.java.net/servlets/ReadMsg?list=dev&msgNo=81 https://shoal.dev.java.net/servlets/ReadMsg?list=dev&msgNo=84

glassfishrobot commented 16 years ago

@glassfishrobot Commented sheetalv said: NA for Sailfin 1.0

glassfishrobot commented 16 years ago

@glassfishrobot Commented @jfialli said: added a synchronized block in NetworkManager.hash() as recommended in july timeframe.

glassfishrobot commented 16 years ago

@glassfishrobot Commented Was assigned to sheetalv

glassfishrobot commented 7 years ago

@glassfishrobot Commented This issue was imported from java.net JIRA SHOAL-62

glassfishrobot commented 14 years ago

@glassfishrobot Commented Marked as fixed on Wednesday, June 23rd 2010, 4:11:06 am