[ 
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)

Reply via email to