ICEfaces
  1. ICEfaces
  2. ICE-5298

ServletRequestResponse throws RuntimeException due to "Query does not contain parameter named: ice.pushid"

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha1
    • Fix Version/s: 2.0-Alpha3, 2.0.0
    • Component/s: Bridge, Framework
    • Labels:
      None
    • Environment:
      ICEfaces 2 Push Glassfish 3

      Description

      The following exception is occasionally thrown when running Auction on Glassfish 3 although the problem may not be limited to that environment:

      [#|2010-01-21T10:59:40.295-0700|WARNING|glassfishv3.0|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=28;_ThreadName=http-thread-pool-8080-(3);|StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
      java.lang.RuntimeException: java.lang.RuntimeException: Query does not contain parameter named: ice.pushid
        at org.icefaces.push.servlet.ICEpushResourceHandler.handleResourceRequest(ICEpushResourceHandler.java:65)
        at org.icefaces.push.servlet.ICEfacesResourceHandler.handleResourceRequest(ICEfacesResourceHandler.java:108)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
        at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
        at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.RuntimeException: Query does not contain parameter named: ice.pushid
        at org.icepush.servlet.ServletRequestResponse.checkExistenceOf(ServletRequestResponse.java:304)
        at org.icepush.servlet.ServletRequestResponse.getParameterAsStrings(ServletRequestResponse.java:141)
        at org.icepush.BlockingConnectionServer$3.service(BlockingConnectionServer.java:93)
        at org.icepush.BlockingConnectionServer.service(BlockingConnectionServer.java:123)
        at org.icepush.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:46)
        at org.icepush.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:51)
        at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:44)
        at org.icepush.servlet.BrowserDispatcher$BrowserEntry.service(BrowserDispatcher.java:109)
        at org.icepush.servlet.BrowserDispatcher.service(BrowserDispatcher.java:50)
        at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:44)
        at org.icepush.servlet.MainServlet.service(MainServlet.java:44)
        at org.icefaces.push.servlet.ICEpushResourceHandler.handleResourceRequest(ICEpushResourceHandler.java:63)
        ... 26 more

        Activity

        Deryk Sinotte created issue -
        Deryk Sinotte made changes -
        Field Original Value New Value
        Salesforce Case []
        Assignee Priority P2
        Assignee Mircea Toma [ mircea.toma ]
        Deryk Sinotte made changes -
        Salesforce Case []
        Fix Version/s 2.0-Beta [ 10032 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #20365 Mon Jan 25 15:51:18 MST 2010 mircea.toma ICE-5298 Send noop message when request is missing ice.pushid parameters.
        Files Changed
        Commit graph MODIFY /scratchpads/snowplow/core/src/main/java/org/icepush/BlockingConnectionServer.java
        Hide
        Mircea Toma added a comment -

        The solution chosen was to send a 'noop' message back to the client if no ice.pushid parameters where present in the request. If the browser is still active then the blocking connection should be recreated by the bridge, hopefully with the correct list of pushIDs in the request. If the request was made by a bridge that was about to shutdown then the 'noop' response will terminate the blocking connection without any side effects.

        Show
        Mircea Toma added a comment - The solution chosen was to send a 'noop' message back to the client if no ice.pushid parameters where present in the request. If the browser is still active then the blocking connection should be recreated by the bridge, hopefully with the correct list of pushIDs in the request. If the request was made by a bridge that was about to shutdown then the 'noop' response will terminate the blocking connection without any side effects.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Theo Schumacher added a comment -

        I'am using 2.0.3 alpha release and still having this issue. Strange enough, it only happens with IE8 as browser but not when using firefox (on a linux platform).

        Show
        Theo Schumacher added a comment - I'am using 2.0.3 alpha release and still having this issue. Strange enough, it only happens with IE8 as browser but not when using firefox (on a linux platform).
        Ken Fyten made changes -
        Fix Version/s 2.0.0 [ 10230 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P2

          People

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

            Dates

            • Created:
              Updated:
              Resolved: