[ https://issues.apache.org/jira/browse/GEODE-8542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17203492#comment-17203492 ]
ASF GitHub Bot commented on GEODE-8542: --------------------------------------- echobravopapa commented on a change in pull request #5562: URL: https://github.com/apache/geode/pull/5562#discussion_r496195999 ########## File path: geode-core/src/test/java/org/apache/geode/internal/tcp/MsgStreamerTest.java ########## @@ -92,9 +117,9 @@ protected BaseMsgStreamer createMsgStreamer(boolean mixedDestinationVersions) { when(connection2.getRemoteAddress()).thenReturn(member2); when(connection2.getSendBufferSize()).thenReturn(Connection.SMALL_BUFFER_SIZE); if (mixedDestinationVersions) { - when(connection1.getRemoteVersion()).thenReturn(KnownVersion.GEODE_1_12_0); + when(connection2.getRemoteVersion()).thenReturn(KnownVersion.GEODE_1_12_0); } else { - when(connection1.getRemoteVersion()).thenReturn(KnownVersion.CURRENT); + when(connection2.getRemoteVersion()).thenReturn(KnownVersion.CURRENT); Review comment: `connection2` does not seem to be used in the test cases ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > java.lang.IllegalStateException: tcp message exceeded max size of 16777215 > -------------------------------------------------------------------------- > > Key: GEODE-8542 > URL: https://issues.apache.org/jira/browse/GEODE-8542 > Project: Geode > Issue Type: Bug > Components: messaging > Affects Versions: 1.14.0 > Reporter: Bruce J Schuchardt > Assignee: Bruce J Schuchardt > Priority: Major > Labels: pull-request-available > > We had reports of this exception when using TLS for cluster communications. > I wrote a test that set socket-lease-time to 1 second and then looped > creating a thread to do a single 20mb put() and then waiting 2 seconds after > the put() completed so that connections would time out. > I saw message-length growth without the fix for GEODE-8506 that went away > with the fix for that ticket. If I let the test go on long enough the > message-length grew to over 16mb and the test failed with this error: > {noformat} > java.lang.IllegalStateException: tcp message exceeded max size of 16777215 > [vm2] at > org.apache.geode.internal.tcp.Connection.calcHdrSize(Connection.java:610) > [vm2] at > org.apache.geode.internal.tcp.MsgStreamer.setMessageHeader(MsgStreamer.java:454) > [vm2] at > org.apache.geode.internal.tcp.MsgStreamer.realFlush(MsgStreamer.java:311) > [vm2] at > org.apache.geode.internal.tcp.MsgStreamer.write(MsgStreamer.java:378) > [vm2] at > org.apache.geode.DataSerializer.writeByteArray(DataSerializer.java:1258) > [vm2] at > org.apache.geode.DataSerializer.writeByteArray(DataSerializer.java:1226) > [vm2] at > org.apache.geode.internal.cache.DistributedCacheOperation.writeValue(DistributedCacheOperation.java:134) > [vm2] at > org.apache.geode.internal.cache.UpdateOperation$UpdateMessage.toData(UpdateOperation.java:413) > [vm2] at > org.apache.geode.internal.InternalDataSerializer.invokeToData(InternalDataSerializer.java:2300) > [vm2] ... 53 more{noformat} > While the fix for GEODE-8506 made it unlikely that we'll run into this again > I think we should bullet-proof the MsgStreamer class to never try to send > message chunks larger than Connection.MAX_MSG_SIZE. > Note that we can still send cache operation messages larger than 16mb because > MsgStreamer will break them into smaller chunks. -- This message was sent by Atlassian Jira (v8.3.4#803005)