[
https://issues.apache.org/jira/browse/UIMA-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Richard Eckart de Castilho resolved UIMA-5539.
----------------------------------------------
Resolution: Abandoned
DUCC has been retired.
> UIMA-DUCC: review and fix code where Throwable is caught
> ---------------------------------------------------------
>
> Key: UIMA-5539
> URL: https://issues.apache.org/jira/browse/UIMA-5539
> Project: UIMA
> Issue Type: Bug
> Components: DUCC
> Reporter: Jaroslaw Cwiklik
> Assignee: Jaroslaw Cwiklik
> Priority: Major
>
> Catching Throwable which includes both java Error and Exception is not a good
> practice. If a java error is thrown, say OOM, the application code should let
> the jvm handle it.
> In one concrete instance, the JD was experiencing an OOM due to a faulty user
> CR. Instead of trying to send CASes by reference it was trying to pass them
> by value. The OOM was caught and immediately wrapped in RuntimeException and
> subsequently rethrown. The jvm did not have a chance to catch the OOM leaving
> JD process running and eventually it hung with multiple JPs in limbo.
> Review all ducc code where we catch Throwable and determine if this can be
> changed to catching Exceptions, letting the jvm handle the Errors.
> Optionally, ducc can plug in an UncaughtErrorHandler to the java main thread
> where we can decide what to do with each error that is caught. I think all
> java Errors should cause the jvm to exit immediately via halt().
> Since Ducc daemons, JPs, JDs, etc use other frameworks like Spring, ActiveMQ,
> Jetty we should test what happens if Throwables are not caught in ducc code.
> Hopefully these frameworks dont catch Throwables and allow them to float up
> to be caught by java or custom UncaughtErrorHandler.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)