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]
