Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-2358

UIMA AS should add a global UncaughtExceptionHandler

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4.0AS
    • Component/s: Async Scaleout
    • Labels:
      None

      Description

      Currently UIMA AS process doesnt handle uncaught exceptions. Specifically, it should catch OOM Error and exit the process. When the OOM happens now, the jvm dumps an error (stack trace) and the UIMA AS process just hangs. Since JDK 1.5, java supports per thread as well a system wide (for all threads) custom UncaughtExceptionHandler. The application implements this interface and injects the handler to a specific thread via:

      Thread.currentThread().setUncaughtExceptionHandler(new MyExceptionHandler());

      Alternatively, one can set a global error handler via:

      Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler());

      The latter is the approach that I will implement. When OOM Error happens (and perhaps for all errors), the UIMA AS process should exit. For all other exceptions (not caught in a executing thread), the custom exception handler will simply log the exception at WARNING level.

        Attachments

          Activity

            People

            • Assignee:
              cwiklik Jerry Cwiklik
              Reporter:
              cwiklik Jerry Cwiklik
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: