You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2019/10/03 12:41:07 UTC

[GitHub] [couchdb] kocolosk opened a new issue #2224: Only check DbVersion if metadataVersion has changed

kocolosk opened a new issue #2224: Only check DbVersion if metadataVersion has changed
URL: https://github.com/apache/couchdb/issues/2224
 
 
   ## Summary
   
   We use a single key for each database to track the versioning of important database-specific content like validation functions, security properties, and revision stemming limits. Currently we retrieve this key on every request to ensure those properties are all still current, which adds latency and creates a hot spot in a cluster for any database with a high request load.
   
   The proposal here is to increment both the database-specific `DbVersion` *and* the global `metadataVersion` whenever any of these properties changes on any database, and to skip reading the `DbVersion` key on each request unless the `metadataVersion` has changed.
   
   The tradeoff is that any existing use of `metadataVersion` will experience more frequent cache invalidations. Not super-frequent, mind you; even in multi-tenant environments with thousands of databases we don't see this metadata change all that often.
   
   ## Desired Behaviour
   
   Lower request latency and elimination of a potential read hotspot in FoundationDB.
   
   ## Additional context
   
   Some relevant discussion of this exact topic in the FoundationDB Forums:
   
   https://forums.foundationdb.org/t/sharing-the-metadataversionkey-for-multiple-tenants/

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services