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

Reply via email to