nickva opened a new pull request, #5451:
URL: https://github.com/apache/couchdb/pull/5451

   When toggling the xxHash checksum setting we noticed that it was kind of 
annoying that we had to restart the nodes for it to take effect. The setting 
was optimised to be cached in a persistent term [1], so instead of making some 
extra process monitor or extra config listener, let's instead optimise all the 
config settings to use persistent terms. We may get a tiny bit of a performance 
boost from lookup, and maybe less memory pressure as persistent terms are 
referenced instead of copied unlike those read from an ets table (which are 
copied, unless they are refc binaries).
   
   The change was smaller than expected, it's just swapping out internal ets 
operations for the persistent term ones. The external API stays the same.
   
   The changes in the smoosh and replicator tests are because they were mocking 
config so they needed a few fixups. 
   
   couch_file was cleaned up so xxHash setting now is read directly from the 
config.
   
   While at it, found a few gaps in our config test suite so improved the 
coverage a bit as well.
   
   [1] persistent terms are recommended for this exact usage -- config values 
which would be read often, and but rarely updated. The internal Erlang/OTP 
logger settings, for instance, are kept in persistent terms, we keep our 
features map like that as well.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to