ICEpush
  1. ICEpush
  2. PUSH-274

Pass the Browser-ID down the chain to the BlockingConnectionServer's constructor

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.3, EE-3.3.0.GA_P01
    • Fix Version/s: 4.0.BETA, 4.0
    • Component/s: Push Library
    • Labels:
      None
    • Environment:
      ICEpush
    • Assignee Priority:
      P1

      Description

      With the move of the ConfigurationServer up the chain (http://jira.icesoft.org/browse/PUSH-272) the Browser-ID should be known before creating the BlockingConnectionServer. The Browser-ID should therefor be passed down instead of letting the BlockingConnectionServer get it from the first incoming request.

        Activity

        Hide
        Jack Van Ooststroom added a comment -

        Sending core/src/main/java/org/icepush/BlockingConnectionServer.java
        Sending core/src/main/java/org/icepush/servlet/BrowserBoundServlet.java
        Sending core/src/main/java/org/icepush/servlet/MainServlet.java
        Transmitting file data ...
        Committed revision 37788.

        Sending core-ee/src/main/java/com/icesoft/icepush/BrowserBoundServlet.java
        Sending core-ee/src/main/java/com/icesoft/icepush/MainServlet.java
        Transmitting file data ..
        Committed revision 35348.

        Sending eps/src/main/java/com/icesoft/push/servlet/BrowserBoundServlet.java
        Sending eps/src/main/java/com/icesoft/push/servlet/MainServlet.java
        Transmitting file data ..
        Committed revision 35349.

        Show
        Jack Van Ooststroom added a comment - Sending core/src/main/java/org/icepush/BlockingConnectionServer.java Sending core/src/main/java/org/icepush/servlet/BrowserBoundServlet.java Sending core/src/main/java/org/icepush/servlet/MainServlet.java Transmitting file data ... Committed revision 37788. Sending core-ee/src/main/java/com/icesoft/icepush/BrowserBoundServlet.java Sending core-ee/src/main/java/com/icesoft/icepush/MainServlet.java Transmitting file data .. Committed revision 35348. Sending eps/src/main/java/com/icesoft/push/servlet/BrowserBoundServlet.java Sending eps/src/main/java/com/icesoft/push/servlet/MainServlet.java Transmitting file data .. Committed revision 35349.
        Hide
        Jack Van Ooststroom added a comment -

        Sending eps/src/main/java/com/icesoft/push/BlockingConnectionServer.java
        Sending eps/src/main/java/com/icesoft/push/servlet/BrowserBoundServlet.java
        Transmitting file data ..
        Committed revision 35350.

        Show
        Jack Van Ooststroom added a comment - Sending eps/src/main/java/com/icesoft/push/BlockingConnectionServer.java Sending eps/src/main/java/com/icesoft/push/servlet/BrowserBoundServlet.java Transmitting file data .. Committed revision 35350.
        Hide
        Arturo Zambrano added a comment -

        An issue was detected while working on ICE-6204. It starts to happen exactly at revision 37788 with a commit related to this issue. To reproduce, simply load the ICEfaces showcase app and navigate to the ace:fileEntry demo. The exception shown below is thrown right away in the server. It is thrown two more times after some short intervals. Then, a "Network Connection Interrupted" is displayed on the browser.

        Does this commit require some changes in the ace:fileEntry code or in the demo app code?

        WARNING: Failed to respond to request
        java.lang.NullPointerException
                at org.icepush.Browser.setPushIDSet(Browser.java:132)
                at org.icepush.BlockingConnectionServer$RunningServer.service(BlockingCo
        nnectionServer.java:333)
                at org.icepush.BlockingConnectionServer.service(BlockingConnectionServer
        .java:111)
                at org.icepush.SequenceTaggingServer.service(SequenceTaggingServer.java:
        54)
                at org.icepush.PushStormDetectionServer.service(PushStormDetectionServer
        .java:40)
                at org.icepush.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlock
        ingAdaptingServlet.java:45)
                at org.icepush.servlet.EnvironmentAdaptingServlet.service(EnvironmentAda
        ptingServlet.java:52)
                at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:39)
                at org.icepush.servlet.BrowserDispatcher$BrowserEntry.service(BrowserDis
        patcher.java:97)
                at org.icepush.servlet.BrowserDispatcher.service(BrowserDispatcher.java:
        45)
                at org.icepush.servlet.ConfigurationServlet.service(ConfigurationServlet
        .java:97)
                at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:39)
                at org.icepush.servlet.MainServlet.service(MainServlet.java:148)
                at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResource
        HandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:235)
                at org.icefaces.impl.push.servlet.ICEpushResourceHandler.handleResourceR
        equest(ICEpushResourceHandler.java:128)
                at org.icefaces.impl.push.DynamicResourceDispatcher.handleResourceReques
        t(DynamicResourceDispatcher.java:78)
                at org.icefaces.application.ResourceRegistry.handleResourceRequest(Resou
        rceRegistry.java:144)
                at org.icefaces.impl.application.WindowScopeManager.handleSessionAwareRe
        sourceRequest(WindowScopeManager.java:68)
                at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand
        leResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
        ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
        ResourceHandlerWrapper.java:125)
                at org.icefaces.impl.application.SessionTimeoutMonitor.handleSessionAwar
        eResourceRequest(SessionTimeoutMonitor.java:63)
                at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand
        leResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
        ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
        ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
        ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
        ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
        ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
        ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
        ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
        ResourceHandlerWrapper.java:125)
                at org.icefaces.impl.application.AuxUploadResourceHandler.handleResource
        Request(AuxUploadResourceHandler.java:82)
                at javax.faces.webapp.FacesServlet.service(FacesServlet.java:591)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
        icationFilterChain.java:304)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
        ilterChain.java:210)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
        alve.java:240)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
        alve.java:164)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
        torBase.java:462)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
        ava:164)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
        ava:100)
                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
        563)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
        ve.java:118)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
        a:399)
                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
        :317)
                at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
        ss(Http11Protocol.java:204)
                at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
        t.java:311)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
        utor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
        .java:908)
                at java.lang.Thread.run(Thread.java:662)
        5-Sep-2013 2:28:35 PM org.icepush.BlockingConnectionServer$RunningServer service
        
        Show
        Arturo Zambrano added a comment - An issue was detected while working on ICE-6204 . It starts to happen exactly at revision 37788 with a commit related to this issue. To reproduce, simply load the ICEfaces showcase app and navigate to the ace:fileEntry demo. The exception shown below is thrown right away in the server. It is thrown two more times after some short intervals. Then, a "Network Connection Interrupted" is displayed on the browser. Does this commit require some changes in the ace:fileEntry code or in the demo app code? WARNING: Failed to respond to request java.lang.NullPointerException at org.icepush.Browser.setPushIDSet(Browser.java:132) at org.icepush.BlockingConnectionServer$RunningServer.service(BlockingCo nnectionServer.java:333) at org.icepush.BlockingConnectionServer.service(BlockingConnectionServer .java:111) at org.icepush.SequenceTaggingServer.service(SequenceTaggingServer.java: 54) at org.icepush.PushStormDetectionServer.service(PushStormDetectionServer .java:40) at org.icepush.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlock ingAdaptingServlet.java:45) at org.icepush.servlet.EnvironmentAdaptingServlet.service(EnvironmentAda ptingServlet.java:52) at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:39) at org.icepush.servlet.BrowserDispatcher$BrowserEntry.service(BrowserDis patcher.java:97) at org.icepush.servlet.BrowserDispatcher.service(BrowserDispatcher.java: 45) at org.icepush.servlet.ConfigurationServlet.service(ConfigurationServlet .java:97) at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:39) at org.icepush.servlet.MainServlet.service(MainServlet.java:148) at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResource HandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:235) at org.icefaces.impl.push.servlet.ICEpushResourceHandler.handleResourceR equest(ICEpushResourceHandler.java:128) at org.icefaces.impl.push.DynamicResourceDispatcher.handleResourceReques t(DynamicResourceDispatcher.java:78) at org.icefaces.application.ResourceRegistry.handleResourceRequest(Resou rceRegistry.java:144) at org.icefaces.impl.application.WindowScopeManager.handleSessionAwareRe sourceRequest(WindowScopeManager.java:68) at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand leResourceRequest(SessionAwareResourceHandlerWrapper.java:40) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest( ResourceHandlerWrapper.java:125) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest( ResourceHandlerWrapper.java:125) at org.icefaces.impl.application.SessionTimeoutMonitor.handleSessionAwar eResourceRequest(SessionTimeoutMonitor.java:63) at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand leResourceRequest(SessionAwareResourceHandlerWrapper.java:40) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest( ResourceHandlerWrapper.java:125) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest( ResourceHandlerWrapper.java:125) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest( ResourceHandlerWrapper.java:125) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest( ResourceHandlerWrapper.java:125) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest( ResourceHandlerWrapper.java:125) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest( ResourceHandlerWrapper.java:125) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest( ResourceHandlerWrapper.java:125) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest( ResourceHandlerWrapper.java:125) at org.icefaces.impl.application.AuxUploadResourceHandler.handleResource Request(AuxUploadResourceHandler.java:82) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:591) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV alve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV alve.java:164) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica torBase.java:462) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j ava:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j ava:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: 563) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav a:399) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java :317) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce ss(Http11Protocol.java:204) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin t.java:311) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec utor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor .java:908) at java.lang.Thread.run(Thread.java:662) 5-Sep-2013 2:28:35 PM org.icepush.BlockingConnectionServer$RunningServer service
        Hide
        Jack Van Ooststroom added a comment -

        Art,

        I committed some changes, can you verify the fix?

        Show
        Jack Van Ooststroom added a comment - Art, I committed some changes, can you verify the fix?
        Hide
        Arturo Zambrano added a comment -

        Thanks Jack. The issue is now fixed. I cannot reproduce it any more.

        Show
        Arturo Zambrano added a comment - Thanks Jack. The issue is now fixed. I cannot reproduce it any more.
        Hide
        Jack Van Ooststroom added a comment -

        The Browser-ID is now correctly being passed down the chain ending in the BlockingConnectionServer's constructor, resulting in the removal of the logic to retrieve the Browser-ID from the incoming Request. Marking this one as FIXED.

        Show
        Jack Van Ooststroom added a comment - The Browser-ID is now correctly being passed down the chain ending in the BlockingConnectionServer's constructor, resulting in the removal of the logic to retrieve the Browser-ID from the incoming Request. Marking this one as FIXED.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: