ICEpush
  1. ICEpush
  2. PUSH-144

ICEpush gets into a tight loop of requests for browser id when running as a portlet

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha3
    • Fix Version/s: 3.0
    • Component/s: Push Library
    • Labels:
      None
    • Environment:
      ICEfaces 2 ICEpush 2 portlets portal

      Description

      You can easily reproduce the problem by running the chat-portlet example on Liferay. Only once instance is needed on a portal page. Bring up up the initial login panel and create a handle then click the button. This will start push and you can see in the client the tight request loop for getting the browser id.

      Adding some logging shows odd behaviour when the BrowserDispatcher.service method is called. The first time through, no servlet has been registered yet:

      BrowserDispatcher.service:
        browserId : 1gu01haq9
        dispatcher : org.icepush.servlet.MainServlet$1@12773a6
        servlets : {}

      24-Oct-2011 7:08:05 PM org.icepush.servlet.EnvironmentAdaptingServlet <init>
      INFO: Adapting to Thread Blocking environment

      24-Oct-2011 7:08:05 PM org.icepush.servlet.BrowserDispatcher$BrowserEntry <init>
      FINEST: New browser detected, assigning ID '1gu01haq9'.

      But the next request that comes in has a different browser id in the cookie which doesn't match the one we originally stored:

      BrowserDispatcher.service:
        browserId : 1gu5ua3fe
        dispatcher : org.icepush.servlet.MainServlet$1@12773a6
        servlets : {1gu01haq9=org.icepush.servlet.BrowserDispatcher$BrowserEntry@18476474}

      24-Oct-2011 7:08:06 PM org.icepush.servlet.EnvironmentAdaptingServlet <init>
      INFO: Adapting to Thread Blocking environment

      24-Oct-2011 7:08:06 PM org.icepush.servlet.BrowserDispatcher$BrowserEntry <init>
      FINEST: New browser detected, assigning ID '1gu5ua3fe'.

      This cycle is just repeated where the new cookie value coming in does not match any of the values in the map of servlets.

        Issue Links

          Activity

          Deryk Sinotte created issue -
          Deryk Sinotte made changes -
          Field Original Value New Value
          Salesforce Case []
          Fix Version/s 2.1 [ 10259 ]
          Fix Version/s 2.0-Beta [ 10232 ]
          Assignee Priority P1
          Description You can easily reproduce the problem by running the chat-portlet example on Liferay. Only once instance is needed on a portal page. Bring up up the initial login panel and create a handle then click the button. This will start push and you can see in the client the tight request loop for getting the browser id.

          Adding some logging shows odd behaviour when the BrowserDispatcher.service method is called. The first time through, no servlet has been registered yet:

          BrowserDispatcher.service:
            browserId : 1gu01haq9
            dispatcher : org.icepush.servlet.MainServlet$1@12773a6
            servlets : {}

          24-Oct-2011 7:08:05 PM org.icepush.servlet.EnvironmentAdaptingServlet <init>
          INFO: Adapting to Thread Blocking environment

          24-Oct-2011 7:08:05 PM org.icepush.servlet.BrowserDispatcher$BrowserEntry <init>
          FINEST: New browser detected, assigning ID '1gu01haq9'.

          But the next request that comes in has a different browser id in the cookie which doesn't match the one we originally stored:

          BrowserDispatcher.service:
            browserId : 1gu5ua3fe
            dispatcher : org.icepush.servlet.MainServlet$1@12773a6
            servlets : {1gu01haq9=org.icepush.servlet.BrowserDispatcher$BrowserEntry@18476474}

          24-Oct-2011 7:08:06 PM org.icepush.servlet.EnvironmentAdaptingServlet <init>
          INFO: Adapting to Thread Blocking environment

          24-Oct-2011 7:08:06 PM org.icepush.servlet.BrowserDispatcher$BrowserEntry <init>
          FINEST: New browser detected, assigning ID '1gu5ua3fe'.
          You can easily reproduce the problem by running the chat-portlet example on Liferay. Only once instance is needed on a portal page. Bring up up the initial login panel and create a handle then click the button. This will start push and you can see in the client the tight request loop for getting the browser id.

          Adding some logging shows odd behaviour when the BrowserDispatcher.service method is called. The first time through, no servlet has been registered yet:

          BrowserDispatcher.service:
            browserId : 1gu01haq9
            dispatcher : org.icepush.servlet.MainServlet$1@12773a6
            servlets : {}

          24-Oct-2011 7:08:05 PM org.icepush.servlet.EnvironmentAdaptingServlet <init>
          INFO: Adapting to Thread Blocking environment

          24-Oct-2011 7:08:05 PM org.icepush.servlet.BrowserDispatcher$BrowserEntry <init>
          FINEST: New browser detected, assigning ID '1gu01haq9'.

          But the next request that comes in has a different browser id in the cookie which doesn't match the one we originally stored:

          BrowserDispatcher.service:
            browserId : 1gu5ua3fe
            dispatcher : org.icepush.servlet.MainServlet$1@12773a6
            servlets : {1gu01haq9=org.icepush.servlet.BrowserDispatcher$BrowserEntry@18476474}

          24-Oct-2011 7:08:06 PM org.icepush.servlet.EnvironmentAdaptingServlet <init>
          INFO: Adapting to Thread Blocking environment

          24-Oct-2011 7:08:06 PM org.icepush.servlet.BrowserDispatcher$BrowserEntry <init>
          FINEST: New browser detected, assigning ID '1gu5ua3fe'.

          This cycle is just repeated where the new cookie value coming in does not match any of the values in the map of servlets.
          Assignee Mircea Toma [ mircea.toma ]
          Ken Fyten made changes -
          Salesforce Case []
          Affects [Documentation (User Guide, Ref. Guide, etc.)]
          Deryk Sinotte made changes -
          Link This issue blocks ICE-7190 [ ICE-7190 ]
          Deryk Sinotte made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Affects [Documentation (User Guide, Ref. Guide, etc.)]
          Resolution Fixed [ 1 ]
          Assignee Mircea Toma [ mircea.toma ] Deryk Sinotte [ deryk.sinotte ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P1

            People

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

              Dates

              • Created:
                Updated:
                Resolved: