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

Michael Dürig updated OAK-2757:
-------------------------------
    Labels: gc resilience  (was: gc)

> Failed to read from tar file 
> -----------------------------
>
>                 Key: OAK-2757
>                 URL: https://issues.apache.org/jira/browse/OAK-2757
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segmentmk
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>            Priority: Minor
>              Labels: gc, resilience
>             Fix For: 1.3.0
>
>
> Under some rare circumstances there is a warning in the logs:
> {noformat}
> 11:57:47.375 WARN  [pool-1-thread-24] FileStore.java:865    Failed to read 
> from tar file target/SegmentCompactionIT1331315031754226278dir/data01460a.tar
> java.io.IOException: Stream Closed
>         at java.io.RandomAccessFile.seek(Native Method) ~[na:1.7.0_75]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.file.FileAccess$Random.read(FileAccess.java:105)
>  ~[classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.file.TarReader.readEntry(TarReader.java:502)
>  ~[classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.file.FileStore.readSegment(FileStore.java:860)
>  ~[classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentTracker.getSegment(SegmentTracker.java:128)
>  [classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentId.getSegment(SegmentId.java:108)
>  [classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.Segment.readString(Segment.java:348)
>  [classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.Segment.readPropsV11(Segment.java:476)
>  [classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.Segment.loadTemplate(Segment.java:449)
>  [classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.Segment.readTemplate(Segment.java:402)
>  [classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.Segment.readTemplate(Segment.java:396)
>  [classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:79)
>  [classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getChildNodeCount(SegmentNodeState.java:357)
>  [classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentCompactionIT$RandomReader.readRandomTree(SegmentCompactionIT.java:410)
>  [test-classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentCompactionIT$RandomPropertyReader.call(SegmentCompactionIT.java:446)
>  [test-classes/:na]
>         at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentCompactionIT$RandomPropertyReader.call(SegmentCompactionIT.java:439)
>  [test-classes/:na]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
> [na:1.7.0_75]
> {noformat}
> This happens due to a race between {{FileStore#readSegment}} reading from tar 
> files and already removed by {{FileStore#flush}}. This isn't a problem as the 
> tar file in question is still present at a newer generation and the 
> {{FileStore}} will eventually read from that one. However the warning looks 
> rather scaring and somewhat implies a defect. 
> We should either lower the log level or remove the race. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to