davisp opened a new pull request #2952:
URL: https://github.com/apache/couchdb/pull/2952


   ## Overview
   
   The caching logic was quite complicated and some of the underlying 
assumptions turned out to be not quite right. Originally we had planned to 
condition db handles mainly on the metadataVersion key. However, it turns out 
invalidating every db handle whenever any design doc in the cluster is updated 
was a bit too "thundering herd"-ish. This changes the primary cache to be the 
`db_version` key that's kept for each database.
   
   We've also changed the `db_version` to be a version stamped value. This 
means we can reuse it for protecting cache updates in `fabric2_server` which is 
included as part of this PR.
   
   ## Testing recommendations
   
   `$ make check`
   
   ## Checklist
   
   - [x] Code is written and works correctly
   - [x] Changes are covered by tests
   - [x] Any new configurable parameters are documented in 
`rel/overlay/etc/default.ini`
   - [ ] A PR for documentation changes has been made in 
https://github.com/apache/couchdb-documentation
   


----------------------------------------------------------------
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:
[email protected]


Reply via email to