[jboss-jira] [JBoss JIRA] (JGRP-2235) ConcurrentModificationException when resend pending lock requests

Bela Ban (JIRA) issues at jboss.org
Thu Feb 1 04:29:00 EST 2018


     [ https://issues.jboss.org/browse/JGRP-2235?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bela Ban updated JGRP-2235:
---------------------------
    Fix Version/s: 4.0.11
                       (was: 4.0.10)


> ConcurrentModificationException when resend pending lock requests
> -----------------------------------------------------------------
>
>                 Key: JGRP-2235
>                 URL: https://issues.jboss.org/browse/JGRP-2235
>             Project: JGroups
>          Issue Type: Bug
>            Reporter: Bram Klein Gunnewiek
>            Assignee: Bela Ban
>             Fix For: 4.0.11
>
>
> While testing JGRP-2234 we saw a ConcurrentModificationException in the locking protocol in some (rare) situations:
> {noformat}
> 09:46:42.856 [jgroups-7,TEST,B] ERROR org.jgroups.protocols.pbcast.GMS - JGRP000027: failed passing message up
> java.util.ConcurrentModificationException: null
> 	at java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1630) ~[?:1.8.0_151]
> 	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_151]
> 	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_151]
> 	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:1.8.0_151]
> 	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:1.8.0_151]
> 	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_151]
> 	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_151]
> 	at org.jgroups.protocols.Locking$ClientLockTable.lambda$resendPendingLockRequests$3(Locking.java:1085) ~[classes/:?]
> 	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707) ~[?:1.8.0_151]
> 	at org.jgroups.protocols.Locking$ClientLockTable.resendPendingLockRequests(Locking.java:1084) ~[classes/:?]
> 	at org.jgroups.protocols.CENTRAL_LOCK.handleView(CENTRAL_LOCK.java:147) ~[classes/:?]
> 	at org.jgroups.protocols.Locking.up(Locking.java:218) ~[classes/:?]
> 	at org.jgroups.protocols.FRAG2.up(FRAG2.java:163) ~[classes/:?]
> 	at org.jgroups.protocols.pbcast.GMS.installView(GMS.java:702) ~[classes/:?]
> 	at org.jgroups.protocols.pbcast.ParticipantGmsImpl.handleViewChange(ParticipantGmsImpl.java:135) ~[classes/:?]
> 	at org.jgroups.protocols.pbcast.GMS.up(GMS.java:918) ~[classes/:?]
> 	at org.jgroups.stack.Protocol.up(Protocol.java:364) [classes/:?]
> 	at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:293) [classes/:?]
> 	at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:428) [classes/:?]
> 	at org.jgroups.protocols.pbcast.NAKACK2.deliverBatch(NAKACK2.java:962) [classes/:?]
> 	at org.jgroups.protocols.pbcast.NAKACK2.removeAndDeliver(NAKACK2.java:896) [classes/:?]
> 	at org.jgroups.protocols.pbcast.NAKACK2.handleMessages(NAKACK2.java:870) [classes/:?]
> 	at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:690) [classes/:?]
> 	at org.jgroups.stack.Protocol.up(Protocol.java:372) [classes/:?]
> 	at org.jgroups.protocols.TP.passBatchUp(TP.java:1255) [classes/:?]
> 	at org.jgroups.util.MaxOneThreadPerSender$BatchHandlerLoop.passBatchUp(MaxOneThreadPerSender.java:284) [classes/:?]
> 	at org.jgroups.util.SubmitToThreadPool$BatchHandler.run(SubmitToThreadPool.java:136) [classes/:?]
> 	at org.jgroups.util.MaxOneThreadPerSender$BatchHandlerLoop.run(MaxOneThreadPerSender.java:273) [classes/:?]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
> 	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list