Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
When a document grows too large, part of it is split into previous documents. That can include revisions of the "_deleted" property.
When reading a node at a particular revision, it first checks whether a node was deleted at that revision or not. That resolution first checks the revisions of _deleted locally, i.e. in the main document. Two cases currently exist:
- If it finds a value in the local _deleted map, it accepts that as the valid one.
- If it doesn't find a value in the local _deleted map, it reads the _deleted maps from any split documents and searches there for a valid value.
If there was a split of _deleted however, the first case is not sufficient - as that currently ignores split documents in that case, while the most recent revision (for a particular read revision) can be in a split doc, rather than the main doc. This happens if the newer split revisions (of _deleted) are from a different clusterId than older non-split revisions.