[ https://issues.apache.org/jira/browse/GEODE-8542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17202451#comment-17202451 ]
ASF GitHub Bot commented on GEODE-8542: --------------------------------------- bschuchardt opened a new pull request #5562: URL: https://github.com/apache/geode/pull/5562 … size of 16777215 Limit the size of message chunks to the maximum message size allowed by org.apache.geode.internal.tcp.Connection. Thank you for submitting a contribution to Apache Geode. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Has your PR been rebased against the latest commit within the target branch (typically `develop`)? - [ ] Is your initial contribution a single, squashed commit? - [ ] Does `gradlew build` run cleanly? - [ ] Have you written or updated unit tests to verify your changes? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? ### Note: Please ensure that once the PR is submitted, check Concourse for build issues and submit an update to your PR as soon as possible. If you need help, please send an email to d...@geode.apache.org. ---------------------------------------------------------------- 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 > > 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)