[ 
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)

Reply via email to