[ https://issues.apache.org/jira/browse/GEODE-8778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17249407#comment-17249407 ]
ASF subversion and git services commented on GEODE-8778: -------------------------------------------------------- Commit ee835e3245e2aa05aa31846e57ee6f771cc76f33 in geode's branch refs/heads/develop from Donal Evans [ https://gitbox.apache.org/repos/asf?p=geode.git;h=ee835e3 ] GEODE-8778: Change conserve-sockets default value to false (#5832) - Update certain tests to explicitly set conserve-sockets=true to allow them to pass - Update docs to reflect new default - Add ignored exception to test, do not explicitly set conserve-sockets - Add comment to explain use of conserve-sockets=true in test Authored-by: Donal Evans <doev...@vmware.com> > Change the default value of conserve-sockets to false > ----------------------------------------------------- > > Key: GEODE-8778 > URL: https://issues.apache.org/jira/browse/GEODE-8778 > Project: Geode > Issue Type: Improvement > Affects Versions: 1.14.0 > Reporter: Donal Evans > Priority: Major > Labels: pull-request-available > Fix For: 1.14.0 > > > See also the dev list discussion on this subject. > First, from the docs[1], a brief explanation of the purpose of the > conserve-sockets property: > > "The conserve-sockets setting indicates whether application threads share > sockets with other threads or use their own sockets for member communication. > This setting has no effect on communication between a server and its clients, > but it does control the server’s communication with its peers or a gateway > sender’s communication with a gateway receiver." > > The current default value for the conserve-sockets property is true, which > at first glance makes sense, since in an ideal world, existing sockets could > be shared between threads and there would be no need to create and destroy > new sockets for each process, which can be somewhat resource-intensive. > However, in practice, there are several known issues with using the default > setting of true. From the docs[1]: > > "For distributed regions, the put operation, and destroy and invalidate for > regions and entries, can all be optimized with conserve-sockets set to false. > For partitioned regions, setting conserve-sockets to false can improve > general throughput. > Note: When you have transactions operating on EMPTY, NORMAL or PARTITION > regions, make sure that conserve-sockets is set to false to avoid distributed > deadlocks." > > and[2]: > > "WAN deployments increase the messaging demands on a Geode system. To avoid > hangs related to WAN messaging, always set `conserve-sockets=false` for Geode > members that participate in a WAN deployment." > > Given that it is generally accepted as best practice to set conserve-sockets > to false for almost all use cases of Geode beyond the most simple, it would > make sense to also change the default value to false, to prevent people > having to encounter a problem, search for the solution, then change the > setting to what is almost always the "correct" value. > > [1] > [https://geode.apache.org/docs/guide/113/managing/monitor_tune/performance_controls_controlling_socket_use.html|http://example.com/] > [2] > [https://geode.apache.org/docs/guide/113/managing/monitor_tune/sockets_and_gateways.html] -- This message was sent by Atlassian Jira (v8.3.4#803005)