Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
None
-
None
Description
CouchDB re-uses the same ETags for _local documents even when the content of the _local document has changed, meaning that clients who cache based on the ETag may end up with permanently stale content. To reproduce the bug, it's simply:
1. Create a _local doc
2. Fetch the doc, ETag is "0-1"
3. Delete the database (or the _local doc)
4. Recreate the database (or the _local doc), insert a changed _local doc
5. Fetch the doc, ETag is still "0-1" and therefore the client may end up with a stale version.
Here are related issues in PouchDB and WebKit for further details: