You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Rishabh Daim (Jira)" <ji...@apache.org> on 2026/10/14 03:06:00 UTC
[jira] [Resolved] (OAK-12457) Oak-run check wrongly reports "No good revision found" when the corrupt path doesn't exist in older revisions
[ https://issues.apache.org/jira/browse/OAK-12457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rishabh Daim resolved OAK-12457.
--------------------------------
Fix Version/s: 2.8.0
Resolution: Fixed
> Oak-run check wrongly reports "No good revision found" when the corrupt path doesn't exist in older revisions
> -------------------------------------------------------------------------------------------------------------
>
> Key: OAK-12457
> URL: https://issues.apache.org/jira/browse/OAK-12457
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: run, segment-tar
> Affects Versions: 2.6.0
> Reporter: Shivam
> Assignee: Rishabh Daim
> Priority: Major
> Fix For: 2.8.0
>
>
> When the newer revision has a corrupt node that was added after an older, consistent revision, check rejects the older revision too, because it re-tests the corrupt path there and treats the missing path as invalid.
> The result is a misleading {*}No good revision found{*}.
> *Example:*
> To explain the bug, here are the contents of the revisions:
> * Valid Revision
> ** Adds child nodes a, b, c, d, e, f with various properties (blobs included).
> * Invalid Revision
> ** Adds child node z with some blob properties and then corrupts the NODE record holding z.
> When oak-run check is run, it detects that the second revision is broken and marks the path /z as corrupt. It then continues with the first revision, which is valid. Before traversing an older revision, the checker first re-tests the corrupt paths found in newer revisions. /z does not exist in the first revision, and a missing path is counted as invalid. The valid revision is therefore rejected without being traversed, and the check ends with:
> Error while traversing /z: ...Segment reference out of bounds
> Path /z not found
> No good revision found
> Running check on the first revision alone gives Path / is consistent.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)