[
https://issues.apache.org/jira/browse/OAK-10526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Egli updated OAK-10526:
------------------------------
Description: When a document grows too large, part of it is split into
previous documents. Those also called split documents are marked with
_sdMaxRevTime reflecting the newest (max) revision timestamp the document
contains. GC later can delete split documents where _sdMaxRevTime is older than
24h or any existing checkpoint. This is based on the assumption that
_sdMaxRevTime can be compared to "older than 24h or any existing checkpoint" -
while _sdMaxRevTime only indicates the newest revision contained within. There
can thus be a situation when a split document contains a revision that is still
referenced by a current (not older than 24h) head revision or a checkpoint -
but it _sdMaxRevTime is old enough for GC to remove it. (was: When a document
grows too large, part of it is split into previous documents. Those also called
split documents are marked with _sdMaxRevTime reflecting the newest (max)
revision timestamp the document contains. GC then deletes split documents where
_sdMaxRevTime is older than 24h or any existing checkpoint.)
> split doc can contain still referenced revisions without _sdMaxRevTime
> indicating so
> ------------------------------------------------------------------------------------
>
> Key: OAK-10526
> URL: https://issues.apache.org/jira/browse/OAK-10526
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: documentmk
> Affects Versions: 1.58.0
> Reporter: Stefan Egli
> Priority: Major
>
> When a document grows too large, part of it is split into previous documents.
> Those also called split documents are marked with _sdMaxRevTime reflecting
> the newest (max) revision timestamp the document contains. GC later can
> delete split documents where _sdMaxRevTime is older than 24h or any existing
> checkpoint. This is based on the assumption that _sdMaxRevTime can be
> compared to "older than 24h or any existing checkpoint" - while _sdMaxRevTime
> only indicates the newest revision contained within. There can thus be a
> situation when a split document contains a revision that is still referenced
> by a current (not older than 24h) head revision or a checkpoint - but it
> _sdMaxRevTime is old enough for GC to remove it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)