I'm not sure what you mean when you say "adding a general 
critical-heap-percentage parameter". The old xsd allowed it to be configured 
using xml. gfsh start server supports it with --critical-heap-percentage. And 
external java apis exist for it as John pointed out. Are you considering adding 
a gemfire property for it? That could be done. You would need to define which 
of them would take precedence if it is specified multiple ways but we already 
do that for other configurable attributes. Or do you mean something else by 
"parameter"?
________________________________
From: Raymond Ingles <ring...@vmware.com>
Sent: Friday, February 26, 2021 11:05 AM
To: dev@geode.apache.org <dev@geode.apache.org>
Subject: Proposal: new Geode property CRITICAL_HEAP_PERCENTAGE

The Geode Redis Compatibility code is working to emulate the Redis eviction 
policy “noevict”; when memory fills up, the server refuses new write commands 
until deletion or expiration has cleared space.

Right now, part of the implementation is calling 
InternalResourceManager.setCritialHeapPercentage() to ensure that 
LowMemoryExceptions are thrown before heap memory actually runs out. It makes 
sense to make this configurable rather than hardcoding the specific percentage, 
obviously.

Since this is a cache-wide setting (and probably useful to other components) we 
didn’t think it would necessarily be appropriate to add a redis-specific option 
(redis-critical-heap-percentage). What would the implications be to adding a 
general critical-heap-percentage parameter? Are there existing reasons that 
this hasn’t already been done? gfsh already supports these options when 
starting a member.

Does anyone have a strong preference (or aversion) to one or the other?

Reply via email to