ICEpush
  1. ICEpush
  2. PUSH-208

Guard against Exceptions that can occur in TimerTasks running on the Timer

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.0.0.GA_P01, 3.2
    • Fix Version/s: EE-3.2.0.GA, 3.3
    • Component/s: Push Library, Push Server
    • Labels:
      None
    • Environment:
      ICEpush and ICEpush-EE

      Description

      If a TimerTask running on the Timer throws an Exception it can kill the Timer itself, resulting in subsequent execution of TimerTasks on the Timer to result in an IllegalStateException being thrown stating "Timer already cancelled". We should guard against this to avoid the Timer being killed. Instead the caught Exception can be logged as a warning.

        Activity

        Hide
        Jack Van Ooststroom added a comment -

        This is in relation to PUSH-206 to avoid the cascading of Exceptions effect.

        Show
        Jack Van Ooststroom added a comment - This is in relation to PUSH-206 to avoid the cascading of Exceptions effect.
        Hide
        Jack Van Ooststroom added a comment -

        Sending icepush-ee/core/src/main/java/org/icepush/BlockingConnectionServer.java
        Sending icepush-ee/core/src/main/java/org/icepush/LocalPushGroupManager.java
        Transmitting file data ..
        Committed revision 32919.

        Show
        Jack Van Ooststroom added a comment - Sending icepush-ee/core/src/main/java/org/icepush/BlockingConnectionServer.java Sending icepush-ee/core/src/main/java/org/icepush/LocalPushGroupManager.java Transmitting file data .. Committed revision 32919.
        Hide
        Jack Van Ooststroom added a comment -

        All TimerTasks that are scheduled on the Timer managed by LocalPushGroupManager and BlockingConnectionServer now include a try-catch for Exception in their run() implementations in order to catch any Exception, log it as a warning and avoid killing the Timer. Marking this one as FIXED.

        Show
        Jack Van Ooststroom added a comment - All TimerTasks that are scheduled on the Timer managed by LocalPushGroupManager and BlockingConnectionServer now include a try-catch for Exception in their run() implementations in order to catch any Exception, log it as a warning and avoid killing the Timer. Marking this one as FIXED.

          People

          • Assignee:
            Jack Van Ooststroom
            Reporter:
            Jack Van Ooststroom
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: