I'm all in for changing the default to *false* but, unfortunately and for
all the reasons already stated in the thread, I'm hesitant to include this
change as part of a minor release.
Best regards.

On Thu, 19 Nov 2020 at 02:48, John Blum <jb...@vmware.com> wrote:

> The downside of conserve-sockets = false is that you are (essentially)
> back to a Thread|Socket / Request model (though Geode limits this system
> resource consumption to a degree by the use of Thread Pools in p2p
> distribution layer) and thus, you can run out of file descriptors (per
> newly opened Socket) pretty quickly if you are not careful.
>
> conserve-sockets set to true limits the use of finite system resources why
> risking deadlocks (i.e. A -> B -> C -> A), which is also contingent on ACKS
> (and the infamous ReplyProcessor21; at least at 1 time, not sure if it is
> still in play, but probably!).
>
> conserve-sockets set to false uses more system resources but avoids
> deadlocks.
>
> If this change is made, I'd minimally make sure to document that users
> should adjust their (soft & hard) ulimits accordingly, based on use cases,
> load, etc.
>
> Personally, this has caused enough grief in the past (both ways,
> actually!) that I 'd say this is a major version change.
>
> -j
>
>
> ________________________________
> From: Nabarun Nag <n...@vmware.com>
> Sent: Wednesday, November 18, 2020 6:09 PM
> To: dev@geode.apache.org <dev@geode.apache.org>
> Subject: Re: [PROPOSAL] Change the default value of conserve-sockets to
> false
>
> +1
>
>   *   As nearly all of the production use-cases need "conserve-sockets" to
> be set to false, I think we can aim for changing the default value to false
> for 1.14.0 release.
>   *   We can highlight this change in the release notes and emails.
>
> Regards,
> Nabarun
>
> ________________________________
> From: Udo Kohlmeyer <u...@vmware.com>
> Sent: Wednesday, November 18, 2020 6:00 PM
> To: dev@geode.apache.org <dev@geode.apache.org>
> Subject: Re: [PROPOSAL] Change the default value of conserve-sockets to
> false
>
> Hi there Donal,
>
> Thank you for raising this. It is not an uncommon request to change the
> default value of this field.
>
> This has been discussed many times in the past. I would LOVE to approve
> this change, but this would mean that users that don’t set this property
> might suddenly have this property changed. We are not sure that this would
> mean for these users. BUT
>
> That said, there have been very little (to none) complaints about the
> product stability when `conserve-sockets=false` are set.
>
> +1 - if we are allowed to make this change outside of a major version
> change.
>
> --Udo
>
> From: Donal Evans <doev...@vmware.com>
> Date: Thursday, November 19, 2020 at 12:04 PM
> To: dev@geode.apache.org <dev@geode.apache.org>
> Subject: [PROPOSAL] Change the default value of conserve-sockets to false
> Hi Geode dev,
>
> 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.
>
> I have done some experimenting to see what it would take to make this
> proposal a reality, and the changes required are very minimal, with only
> two existing DUnit tests that need to be modified to explicitly set the
> value of conserve-sockets that were previously relying on the default being
> true.
>
> Any feedback on this proposal would be very welcome, and if the response
> is positive, I can create a PR with the changes as soon as a decision is
> reached.
>
> Thanks,
> Donal
>
> [1]
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgeode.apache.org%2Fdocs%2Fguide%2F113%2Fmanaging%2Fmonitor_tune%2Fperformance_controls_controlling_socket_use.html&amp;data=04%7C01%7Cjblum%40vmware.com%7C87fe2b03a77045e6335408d88c3037b3%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637413486010510705%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=dSxkBw04EOxr8vw1HP7u0oKMf%2FmNED6lVmaoV6FezGY%3D&amp;reserved=0
> [2]
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgeode.apache.org%2Fdocs%2Fguide%2F113%2Fmanaging%2Fmonitor_tune%2Fsockets_and_gateways.html&amp;data=04%7C01%7Cjblum%40vmware.com%7C87fe2b03a77045e6335408d88c3037b3%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637413486010510705%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=3tOT2lJPdd%2B1xBf4km5iQR6pVYIZVwcA6MelXyTbQ%2Bc%3D&amp;reserved=0
>


-- 
Ju@N

Reply via email to