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

Reply via email to