ICEpush
  1. ICEpush
  2. PUSH-264

Make settings of PushStormDetectionServer configurable

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.3, EE-3.3.0.GA
    • Fix Version/s: 4.0, EE-3.3.0.GA_P03
    • Component/s: Push Library
    • Labels:
      None
    • Environment:
      Push
    • Assignee Priority:
      P3
    • Salesforce Case Reference:
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.)

      Description

      Work was done in PUSH-235 and PUSH-238 to prevent push storms from occurring under various circumstances. As part of that work the PushStormDetectionServer was introduced that attempts to detect when a number of push request arrives within a certain time frame. These settings should perhaps be made configurable and/or the detection turned off if desired. They are current set at:

      private static final long LoopInterval = 700;
      private static final long MaxTightLoopRequests = 25;

        Activity

        Deryk Sinotte created issue -
        Deryk Sinotte made changes -
        Field Original Value New Value
        Support Customer Ref. #s 12333
        Deryk Sinotte made changes -
        Salesforce Case Reference 5007000000VGWfcAAH
        Deryk Sinotte made changes -
        Assignee Mircea Toma [ mircea.toma ]
        Fix Version/s EE-3.3.0.GA_P01 [ 11175 ]
        Priority Major [ 3 ] Minor [ 4 ]
        Assignee Priority P2 [ 10011 ]
        Hide
        Deryk Sinotte added a comment -

        The customer noted that the Push Storm detection was being triggered by a flaw in their application that has now been fixed. However, they did suggest that our current strategy of "detect and disable" might be a bit blunt and that perhaps some refinements could be made (e.g. throttling rather than disabling completely) and that allowing some configuration might still be valuable.

        Since this is no longer critical, I'm not going to close it but I will move the targeted version out to 3.4 and reduce the priority. We can revisit this later.

        Show
        Deryk Sinotte added a comment - The customer noted that the Push Storm detection was being triggered by a flaw in their application that has now been fixed. However, they did suggest that our current strategy of "detect and disable" might be a bit blunt and that perhaps some refinements could be made (e.g. throttling rather than disabling completely) and that allowing some configuration might still be valuable. Since this is no longer critical, I'm not going to close it but I will move the targeted version out to 3.4 and reduce the priority. We can revisit this later.
        Deryk Sinotte made changes -
        Fix Version/s 3.4 [ 10971 ]
        Fix Version/s EE-3.3.0.GA_P01 [ 11175 ]
        Description Work was done in PUSH-235 and PUSH-238 to prevent push storms from occurring under various circumstances. As part of that work the PushStormDetectionServer was introduced that attempts to detect when a number of push request arrives within a certain time frame. These settings should perhaps be made configurable and/or the detection turned off if desired. They are current set at:

        {code:java}
        private static final long LoopInterval = 700;
        private static final long MaxTightLoopRequests = 25;
        {code}
        Work was done in PUSH-235 and PUSH-238 to prevent push storms from occurring under various circumstances. As part of that work the PushStormDetectionServer was introduced that attempts to detect when a number of push request arrives within a certain time frame. These settings should perhaps be made configurable and/or the detection turned off if desired. They are current set at:

        private static final long LoopInterval = 700;
        private static final long MaxTightLoopRequests = 25;
        Assignee Priority P2 [ 10011 ] P3 [ 10012 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #37341 Thu Aug 08 15:23:56 MDT 2013 mircea.toma PUSH-264 Make push storm detector parameters configurable.
        Files Changed
        Commit graph MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/PushStormDetectionServer.java
        Commit graph MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/servlet/BrowserBoundServlet.java
        Hide
        Mircea Toma added a comment -

        Made push storm detection configurable. The new context parameters are:

        org.icepush.notificationStormLoopInterval – an interval between two successive requests that is smaller than the specified value is considered as generated by a push storm (defaults to 700ms)

        org.icepush.notificationStormLoopInterval – the maximum number of successive tight loop requests after which the blocking connection would be terminated (defaults to 25)

        Show
        Mircea Toma added a comment - Made push storm detection configurable. The new context parameters are: org.icepush.notificationStormLoopInterval – an interval between two successive requests that is smaller than the specified value is considered as generated by a push storm (defaults to 700ms) org.icepush.notificationStormLoopInterval – the maximum number of successive tight loop requests after which the blocking connection would be terminated (defaults to 25)
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Affects Documentation (User Guide, Ref. Guide, etc.) [ 10003 ]
        Resolution Fixed [ 1 ]
        Hide
        Ken Fyten added a comment -

        Let's document these in the public Wiki and note that they are for specialized configurations only and that any PushStorm errors received generally indicate application issues that should be investigated, etc.

        Show
        Ken Fyten added a comment - Let's document these in the public Wiki and note that they are for specialized configurations only and that any PushStorm errors received generally indicate application issues that should be investigated, etc.
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        Mircea Toma added a comment -
        Show
        Mircea Toma added a comment - Added parameters documentation in http://www.icesoft.org/wiki/display/PUSH/ICEpush+Configuration+Parameters .
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Mircea Toma added a comment -

        Back-port changes to 3.3 maintenance branch.

        Show
        Mircea Toma added a comment - Back-port changes to 3.3 maintenance branch.
        Mircea Toma made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Mircea Toma made changes -
        Fix Version/s EE-3.3.0.GA_P03 [ 11571 ]
        Mircea Toma made changes -
        Fix Version/s 4.1 [ 11570 ]
        Fix Version/s 4.0.BETA [ 10971 ]
        Hide
        Mircea Toma added a comment -

        Back-ported fix.

        Show
        Mircea Toma added a comment - Back-ported fix.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 4.0 [ 11383 ]
        Fix Version/s 4.1 [ 11570 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: