jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] [Assigned] (OAK-6890) Background threads might not be automatically restarted
Date Mon, 06 Nov 2017 10:54:00 GMT

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

Michael Dürig reassigned OAK-6890:

    Assignee: Michael Dürig

> Background threads might not be automatically restarted
> -------------------------------------------------------
>                 Key: OAK-6890
>                 URL: https://issues.apache.org/jira/browse/OAK-6890
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: segment-tar
>            Reporter: Francesco Mari
>            Assignee: Michael Dürig
>              Labels: resilience
>             Fix For: 1.8, 1.7.12
> The background threads used in {{FileStore}} are implemented by wrapping {{Runnable}}
instances in {{SafeRunnable}}, and by handing the {{SafeRunnable}} instances over to a {{ScheduledExecutorService}}.

> The documentation of {{ScheduledExecutorService#scheduleAtFixedRate}} states that "if
any execution of the task encounters an exception, subsequent executions are suppressed".
But a {{SafeRunnable}} always re-throws any {{Throwable}} that it catches, effectively preventing
itself from executing again in the future.
> There is more than one solution to this problem. One of these is to never re-throw any
exception. Even if it doesn't always make sense, e.g. in case of an {{OutOfMemoryError}},
never re-throwing an exception would better fulfil the assumption that background threads
should always be up and running even in case of error.

This message was sent by Atlassian JIRA

View raw message