[ https://issues.apache.org/jira/browse/OAK-3303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14718350#comment-14718350 ]
Michael Dürig commented on OAK-3303: ------------------------------------ bq. take the call to the Thread#start method out of the constructor +1. My reading of the JLS is that final variables are initialised once the constructor returns. Now calling {{start}} inside the {{BackgroundThread}} constructor might cause its {{run}} method to already start *before* the final variables are properly initialised. bq. throwing an error when the interval value is 0 You mean inside {{Thread.run}}? I don't think this would do any good as it would most likely just terminate that thread. IMO we should special case 0 and have it do what it is supposed to do (i.e. run an iteration). At least this is what a user of {{BackgroundThread}} would expect when explicitly specifying 0 for the interval. > FileStore flush thread can get stuck > ------------------------------------ > > Key: OAK-3303 > URL: https://issues.apache.org/jira/browse/OAK-3303 > Project: Jackrabbit Oak > Issue Type: Bug > Components: segmentmk > Reporter: Alex Parvulescu > Assignee: Alex Parvulescu > Fix For: 1.3.6 > > > In some very rare circumstances the flush thread was seen as possibly stuck > for a while following a restart of the system. This results in data loss on > restart (the system will roll back to the latest persisted revision on > restart), and worse off there's no way of extracting the latest head revision > using the tar files, so recovery is not (yet) possible. -- This message was sent by Atlassian JIRA (v6.3.4#6332)