Donal Evans created GEODE-8778:
----------------------------------

             Summary: 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


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