ICEpush
  1. ICEpush
  2. PUSH-293

AsyncAdaptingServlet and ThreadBlockingAdaptingServlet should take the up-to-date heartbeatInterval value into account for the timeout

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 3.3, EE-3.3.0.GA_P01
    • Fix Version/s: 4.0.BETA, EE-3.3.0.GA_P02, 4.0
    • Component/s: Push Library
    • Labels:
      None
    • Environment:
      ICEpush (asynchronous and thread blocking mode)

      Description

      - Found an issue with AsyncAdaptingServlet:
        * When using async-supported we use the AsyncAdaptingServlet and its AsyncRequestResponse class
        * Upon an incoming request we get the AsyncContext and set the timeout as follows:

                  long heartbeatTimeout = configuration.getAttributeAsLong("heartbeatTimeout", ConfigurationServlet.DefaultHeartbeatTimeout);
                  asyncContext.setTimeout(heartbeatTimeout * 2);

        * If I'm not mistaken, this ends up to be a constant 30 seconds
        * Meaning it will automatically timeout after 30 seconds and sends some default request (which I don't know the details of)
        * As we're using the Adaptive Heartbeat, these 30 seconds won't be enough
        * ThreadBlockingRequestResponse does have an additional timeout mechanism as well, but it's set to 600 seconds
      - As the ICEpush mechanism itself in any environment times out using a <noop /> response after 3 * heartbeatTimeout or after configured maxHeartbeatInterval, the AsyncRequestResponse's AsyncContext.setTimeout(timeout) and ThreadBlockingRequestResponse's Semaphore.tryAcquire(timeout, TimeUnit) should exceed the 3 * heartbeatTimeout or configured maxHeartbeatInterval

        Issue Links

          Activity

          Jack Van Ooststroom created issue -
          Jack Van Ooststroom made changes -
          Field Original Value New Value
          Assignee Jack Van Ooststroom [ jack.van.ooststroom ]
          Jack Van Ooststroom made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Jack Van Ooststroom made changes -
          Comment [ Sending core/src/main/java/org/icepush/servlet/AsyncAdaptingServlet.java
          Sending core/src/main/java/org/icepush/servlet/BrowserBoundServlet.java
          Sending core/src/main/java/org/icepush/servlet/EnvironmentAdaptingServlet.java
          Sending core/src/main/java/org/icepush/servlet/ThreadBlockingAdaptingServlet.java
          Transmitting file data ....
          Committed revision 40351.

          Sending core-ee/src/main/java/com/icesoft/icepush/BrowserBoundServlet.java
          Sending eps/src/main/java/com/icesoft/push/servlet/BrowserBoundServlet.java
          Transmitting file data ..
          Committed revision 37630.

          Sending src/main/java/com/icesoft/notify/push/servlet/AsyncAdaptingServlet.java
          Sending src/main/java/com/icesoft/notify/push/servlet/EnvironmentAdaptingServlet.java
          Sending src/main/java/com/icesoft/notify/push/servlet/ThreadBlockingAdaptingServlet.java
          Sending src/main/java/com/icesoft/notify/server/NotificationResource.java
          Transmitting file data ....
          Committed revision 37631.
          ]
          Jack Van Ooststroom made changes -
          Status In Progress [ 3 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Jack Van Ooststroom made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Jack Van Ooststroom made changes -
          Priority Major [ 3 ] Blocker [ 1 ]
          Jack Van Ooststroom made changes -
          Fix Version/s EE-3.3.0.GA_P02 [ 11370 ]
          Jack Van Ooststroom made changes -
          Link This issue blocks PUSH-316 [ PUSH-316 ]
          Jack Van Ooststroom made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Fix Version/s 4.0 [ 11383 ]
          Fix Version/s EE-4.0.0.GA [ 11170 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            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: