[ 
https://issues.apache.org/jira/browse/GEODE-9573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17409229#comment-17409229
 ] 

ASF subversion and git services commented on GEODE-9573:
--------------------------------------------------------

Commit 6326e7a67d48e9941ef2b2cbd578a1111224002f in geode's branch 
refs/heads/develop from Jacob Barrett
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=6326e7a ]

GEODE-9573: Uses mutable list for connections.

Updates API with null annotations.
Updates Javadocs with comments on mutable collections.
New test to assert that DirectReplySender always uses a mutable connection list.


> DirectReplySender can fail with UnsupportedOperationException upon connection 
> related exceptions
> ------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-9573
>                 URL: https://issues.apache.org/jira/browse/GEODE-9573
>             Project: Geode
>          Issue Type: Bug
>          Components: messaging
>    Affects Versions: 1.15.0
>            Reporter: Jacob Barrett
>            Assignee: Jacob Barrett
>            Priority: Major
>              Labels: pull-request-available
>
> {noformat}
> java.lang.UnsupportedOperationException
>     at java.base/java.util.Collections$1.remove(Collections.java:4714)
>     at 
> org.apache.geode.internal.tcp.MsgStreamer.realFlush(MsgStreamer.java:330)
>     at 
> org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:244)
>     at 
> org.apache.geode.internal.tcp.DirectReplySender.putOutgoing(DirectReplySender.java:69)
>     at 
> org.apache.geode.distributed.internal.ReplyMessage.send(ReplyMessage.java:115)
>     at 
> org.apache.geode.internal.cache.partitioned.PartitionMessage.sendReply(PartitionMessage.java:458)
>     at 
> org.apache.geode.internal.cache.partitioned.PartitionMessage.process(PartitionMessage.java:421)
>     at 
> org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376)
>     at 
> org.apache.geode.distributed.internal.DistributionMessage.schedule(DistributionMessage.java:432)
>     at 
> org.apache.geode.distributed.internal.ClusterDistributionManager.scheduleIncomingMessage(ClusterDistributionManager.java:2077)
>     at 
> org.apache.geode.distributed.internal.ClusterDistributionManager.handleIncomingDMsg(ClusterDistributionManager.java:1841)
>     at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.dispatchMessage(GMSMembership.java:847)
>     at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.handleOrDeferMessage(GMSMembership.java:804)
>     at 
> org.apache.geode.distributed.internal.membership.gms.GMSMembership.processMessage(GMSMembership.java:1102)
>     at 
> org.apache.geode.distributed.internal.DistributionImpl$MyDCReceiver.messageReceived(DistributionImpl.java:838)
>     at 
> org.apache.geode.distributed.internal.direct.DirectChannel.receive(DirectChannel.java:624)
>     at 
> org.apache.geode.internal.tcp.TCPConduit.messageReceived(TCPConduit.java:682)
>     at 
> org.apache.geode.internal.tcp.Connection.dispatchMessage(Connection.java:3264)
>     at 
> org.apache.geode.internal.tcp.Connection.readMessage(Connection.java:3015)
>     at 
> org.apache.geode.internal.tcp.Connection.processInputBuffer(Connection.java:2806)
>     at 
> org.apache.geode.internal.tcp.Connection.readMessages(Connection.java:1649)
>     at org.apache.geode.internal.tcp.Connection.run(Connection.java:1489)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>     at java.base/java.lang.Thread.run(Thread.java:829)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to