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
(v6.4.14#64029)

Mime
View raw message