[ 
https://issues.apache.org/jira/browse/OAK-1810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jukka Zitting updated OAK-1810:
-------------------------------

    Description: 
When reading the pre-compiled graph entries from OAK-1780, the TarMK uses a few 
sanity checks to verify that the graph hasn't been corrupted and that using it 
for the cleanup operation is safe.

It turns out that one of these sanity checks ({{bytes >= count * 24 + 16}}) is 
overly strict, as the minimum size limit for the graph entry is instead {{count 
* 16 + 16}}. The "24" factor applies only when checking the sanity of the the 
tar index entry.

The effect of this bug is not very critical, as a graph entry that fails the 
check will just be ignored with a warning and the cleanup code will fall back 
to the slower algorithm of instead reading the segment graph directly from the 
stored data segments.

  was:
When reading the pre-compiled graph entries from OAK-1780, the TarMK uses a few 
sanity checks to verify that the graph hasn't been corrupted and that using it 
for the cleanup operation is safe.

It turns out that one of these sanity checks ({{bytes >= count * 24 + 16}}) is 
overly strict, as the minimum size limit for the graph entry is instead {{count 
* 16 + 16}}. The "24" factor applies only when sanity of the the tar index 
entry.

The effect of this bug is not very critical, as a graph entry that fails the 
check will just be ignored with a warning and the cleanup code will fall back 
to the slower algorithm of instead reading the segment graph directly from the 
stored data segments.


> Incorrect TarMK graph metadata validation
> -----------------------------------------
>
>                 Key: OAK-1810
>                 URL: https://issues.apache.org/jira/browse/OAK-1810
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: segmentmk
>    Affects Versions: 1.0
>            Reporter: Jukka Zitting
>            Assignee: Jukka Zitting
>            Priority: Minor
>             Fix For: 1.1
>
>
> When reading the pre-compiled graph entries from OAK-1780, the TarMK uses a 
> few sanity checks to verify that the graph hasn't been corrupted and that 
> using it for the cleanup operation is safe.
> It turns out that one of these sanity checks ({{bytes >= count * 24 + 16}}) 
> is overly strict, as the minimum size limit for the graph entry is instead 
> {{count * 16 + 16}}. The "24" factor applies only when checking the sanity of 
> the the tar index entry.
> The effect of this bug is not very critical, as a graph entry that fails the 
> check will just be ignored with a warning and the cleanup code will fall back 
> to the slower algorithm of instead reading the segment graph directly from 
> the stored data segments.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to