ICEfaces
  1. ICEfaces
  2. ICE-10391

Subdue noisy logging for icepush when browser window is closed before response returns to view

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: EE-3.3.0.GA_P02
    • Fix Version/s: EE-4.0.0.GA, EE-3.3.0.GA_P03
    • Component/s: Bridge, Framework
    • Labels:
      None
    • Environment:
      jsf2 icepush

      Description

      If it's noisy logging (from a user closing a window before the response for push can return to th w view window)..would be nice to have a warning perhaps state that "if this is not the result of a window being closed before push could respond, please contact support" or something similar...or with an error code the users could look up?

      To reproduce:-
      have a bean that does a PushRenderer.addCurrentSession
      have a application scoped bean that has a thread that runs every x seconds which, within, sends a .render request via a PortableRenderer
      load the bean
      close the tab/browser so that the bean goes out of scope
      see the error whenever the thread runs .render the first time

      Oct 17, 2014 3:39:25 PM org.icepush.BlockingConnectionServer run
      WARNING: Exception caught on org.icepush.BlockingConnectionServer TimerTask.
      java.lang.RuntimeException: java.net.SocketException: socket write error: Connection reset by peer.
      at org.icepush.BlockingConnectionServer.respondIfPendingRequest(BlockingConnectionServer.java:180)
      at org.icepush.BlockingConnectionServer.run(BlockingConnectionServer.java:109)
      at java.util.TimerThread.mainLoop(Timer.java:512)
      at java.util.TimerThread.run(Timer.java:462)
      Caused by: java.net.SocketException: socket write error: Connection reset by peer.
      at jrockit.net.SocketNativeIO.writeBytesPinned(Native Method)
      at jrockit.net.SocketNativeIO.socketWrite(SocketNativeIO.java:46)
      at java.net.SocketOutputStream.socketWrite0(SocketOutputStream.java)
      at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
      at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
      at weblogic.utils.io.ChunkedOutputStream.writeTo(ChunkedOutputStream.java:193)
      at weblogic.servlet.internal.ServletOutputStreamImpl.writeHeader(ServletOutputStreamImpl.java:167)
      at weblogic.servlet.internal.ResponseHeaders.writeHeaders(ResponseHeaders.java:444)
      at weblogic.servlet.internal.ServletResponseImpl.writeHeaders(ServletResponseImpl.java:1272)
      at weblogic.servlet.internal.ServletOutputStreamImpl.sendHeaders(ServletOutputStreamImpl.java:281)
      at weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:118)
      at org.icepush.http.standard.ContentTypeContentHandler.respond(ContentTypeContentHandler.java:52)
      at org.icepush.http.standard.FixedXMLContentHandler.respond(FixedXMLContentHandler.java:31)
      at org.icepush.BlockingConnectionServer$NoopResponseHandler.respond(BlockingConnectionServer.java:219)
      at org.icepush.SequenceTaggingServer$TaggingRequest$TaggingResponseHandler.respond(SequenceTaggingServer.java:112)
      at org.icepush.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:218)
      at org.icepush.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdapting
      Servlet.java:70)
      at org.icepush.SequenceTaggingServer$TaggingRequest.respondWith(SequenceTaggingServer.java:67)
      at org.icepush.BlockingConnectionServer.respondIfPendingRequest(BlockingConnectionServer.java:177)
      ... 3 more

        Activity

        Hide
        Judy Guglielmin added a comment -

        Also could be related (intermittent):-
        Oct 22, 2014 1:50:47 PM org.icepush.LocalPushGroupManager$QueueConsumerTask run
        WARNING: Notification queue encountered
        java.lang.RuntimeException: java.net.SocketException: socket write error: Connection reset by peer.
        at org.icepush.BlockingConnectionServer.respondIfPendingRequest(BlockingConnectionServer.java:180)
        at org.icepush.BlockingConnectionServer.respondIfNotificationsAvailable(BlockingConnectionServer.java:149)
        at org.icepush.BlockingConnectionServer.sendNotifications(BlockingConnectionServer.java:126)
        at org.icepush.BlockingConnectionServer.receive(BlockingConnectionServer.java:290)
        at org.icepush.LocalNotificationBroadcaster.broadcast(LocalNotificationBroadcaster.java:39)
        at org.icepush.LocalPushGroupManager$Notification.run(LocalPushGroupManager.java:394)
        at org.icepush.LocalPushGroupManager$QueueConsumerTask.run(LocalPushGroupManager.java:432)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
        Caused by: java.net.SocketException: socket write error: Connection reset by peer.
        at jrockit.net.SocketNativeIO.writeBytesPinned(Native Method)
        at jrockit.net.SocketNativeIO.socketWrite(SocketNativeIO.java:46)
        at java.net.SocketOutputStream.socketWrite0(SocketOutputStream.java)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at weblogic.utils.io.ChunkedOutputStream.writeTo(ChunkedOutputStream.java:193)
        at weblogic.servlet.internal.ServletOutputStreamImpl.writeHeader(ServletOutputStreamImpl.java:167)
        at weblogic.servlet.internal.ResponseHeaders.writeHeaders(ResponseHeaders.java:444)
        at weblogic.servlet.internal.ServletResponseImpl.writeHeaders(ServletResponseImpl.java:1272)
        at weblogic.servlet.internal.ServletOutputStreamImpl.sendHeaders(ServletOutputStreamImpl.java:281)
        at weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:118)
        at org.icepush.http.standard.ContentTypeContentHandler.respond(ContentTypeContentHandler.java:52)
        at org.icepush.http.standard.FixedXMLContentHandler.respond(FixedXMLContentHandler.java:31)
        at org.icepush.SequenceTaggingServer$TaggingRequest$TaggingResponseHandler.respond(SequenceTaggingServer.java:112)
        at org.icepush.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:218)
        at org.icepush.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdapting
        Servlet.java:70)
        at org.icepush.SequenceTaggingServer$TaggingRequest.respondWith(SequenceTaggingServer.java:67)
        at org.icepush.BlockingConnectionServer.respondIfPendingRequest(BlockingConnectionServer.java:177)
        at org.icepush.BlockingConnectionServer.respondIfNotificationsAvailable(BlockingConnectionServer.java:149)
        at org.icepush.BlockingConnectionServer.sendNotifications(BlockingConnectionServer.java:126)
        at org.icepush.BlockingConnectionServer.receive(BlockingConnectionServer.java:289)
        ... 5 more

        Show
        Judy Guglielmin added a comment - Also could be related (intermittent):- Oct 22, 2014 1:50:47 PM org.icepush.LocalPushGroupManager$QueueConsumerTask run WARNING: Notification queue encountered java.lang.RuntimeException: java.net.SocketException: socket write error: Connection reset by peer. at org.icepush.BlockingConnectionServer.respondIfPendingRequest(BlockingConnectionServer.java:180) at org.icepush.BlockingConnectionServer.respondIfNotificationsAvailable(BlockingConnectionServer.java:149) at org.icepush.BlockingConnectionServer.sendNotifications(BlockingConnectionServer.java:126) at org.icepush.BlockingConnectionServer.receive(BlockingConnectionServer.java:290) at org.icepush.LocalNotificationBroadcaster.broadcast(LocalNotificationBroadcaster.java:39) at org.icepush.LocalPushGroupManager$Notification.run(LocalPushGroupManager.java:394) at org.icepush.LocalPushGroupManager$QueueConsumerTask.run(LocalPushGroupManager.java:432) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Caused by: java.net.SocketException: socket write error: Connection reset by peer. at jrockit.net.SocketNativeIO.writeBytesPinned(Native Method) at jrockit.net.SocketNativeIO.socketWrite(SocketNativeIO.java:46) at java.net.SocketOutputStream.socketWrite0(SocketOutputStream.java) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at weblogic.utils.io.ChunkedOutputStream.writeTo(ChunkedOutputStream.java:193) at weblogic.servlet.internal.ServletOutputStreamImpl.writeHeader(ServletOutputStreamImpl.java:167) at weblogic.servlet.internal.ResponseHeaders.writeHeaders(ResponseHeaders.java:444) at weblogic.servlet.internal.ServletResponseImpl.writeHeaders(ServletResponseImpl.java:1272) at weblogic.servlet.internal.ServletOutputStreamImpl.sendHeaders(ServletOutputStreamImpl.java:281) at weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:118) at org.icepush.http.standard.ContentTypeContentHandler.respond(ContentTypeContentHandler.java:52) at org.icepush.http.standard.FixedXMLContentHandler.respond(FixedXMLContentHandler.java:31) at org.icepush.SequenceTaggingServer$TaggingRequest$TaggingResponseHandler.respond(SequenceTaggingServer.java:112) at org.icepush.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:218) at org.icepush.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdapting Servlet.java:70) at org.icepush.SequenceTaggingServer$TaggingRequest.respondWith(SequenceTaggingServer.java:67) at org.icepush.BlockingConnectionServer.respondIfPendingRequest(BlockingConnectionServer.java:177) at org.icepush.BlockingConnectionServer.respondIfNotificationsAvailable(BlockingConnectionServer.java:149) at org.icepush.BlockingConnectionServer.sendNotifications(BlockingConnectionServer.java:126) at org.icepush.BlockingConnectionServer.receive(BlockingConnectionServer.java:289) ... 5 more
        Hide
        Arran Mccullough added a comment -

        Another customer is seeing logging as follows with a similar behavior:

        Warnung: Exception caught on org.icepush.BlockingConnectionServer TimerTask.
        java.lang.RuntimeException: ClientAbortException: java.net.SocketException: Broken pipe
        at org.icepush.BlockingConnectionServer.respondIfPendingRequest(BlockingConnectionServer.java:180)
        at org.icepush.BlockingConnectionServer.run(BlockingConnectionServer.java:109)
        at java.util.TimerThread.mainLoop(Timer.java:555)
        at java.util.TimerThread.run(Timer.java:505)
        Caused by: ClientAbortException: java.net.SocketException: Broken pipe
        at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:371)
        at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:333)
        at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:101)
        at org.icepush.http.standard.ContentTypeContentHandler.respond(ContentTypeContentHandler.java:52)
        at org.icepush.http.standard.FixedXMLContentHandler.respond(FixedXMLContentHandler.java:31)
        at org.icepush.BlockingConnectionServer$NoopResponseHandler.respond(BlockingConnectionServer.java:219)
        at org.icepush.SequenceTaggingServer$TaggingRequest$TaggingResponseHandler.respond(SequenceTaggingServer.java:112)
        at org.icepush.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:218)
        at org.icepush.servlet.AsyncAdaptingServlet$AsyncRequestResponse.respondWith(AsyncAdaptingServlet.java:72)
        at org.icepush.SequenceTaggingServer$TaggingRequest.respondWith(SequenceTaggingServer.java:67)
        at org.icepush.BlockingConnectionServer.respondIfPendingRequest(BlockingConnectionServer.java:177)
        ... 3 more
        Caused by: java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
        at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:119)
        at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:805)
        at org.apache.coyote.Response.action(Response.java:174)
        at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:366)
        ... 13 more

        Show
        Arran Mccullough added a comment - Another customer is seeing logging as follows with a similar behavior: Warnung: Exception caught on org.icepush.BlockingConnectionServer TimerTask. java.lang.RuntimeException: ClientAbortException: java.net.SocketException: Broken pipe at org.icepush.BlockingConnectionServer.respondIfPendingRequest(BlockingConnectionServer.java:180) at org.icepush.BlockingConnectionServer.run(BlockingConnectionServer.java:109) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) Caused by: ClientAbortException: java.net.SocketException: Broken pipe at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:371) at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:333) at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:101) at org.icepush.http.standard.ContentTypeContentHandler.respond(ContentTypeContentHandler.java:52) at org.icepush.http.standard.FixedXMLContentHandler.respond(FixedXMLContentHandler.java:31) at org.icepush.BlockingConnectionServer$NoopResponseHandler.respond(BlockingConnectionServer.java:219) at org.icepush.SequenceTaggingServer$TaggingRequest$TaggingResponseHandler.respond(SequenceTaggingServer.java:112) at org.icepush.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:218) at org.icepush.servlet.AsyncAdaptingServlet$AsyncRequestResponse.respondWith(AsyncAdaptingServlet.java:72) at org.icepush.SequenceTaggingServer$TaggingRequest.respondWith(SequenceTaggingServer.java:67) at org.icepush.BlockingConnectionServer.respondIfPendingRequest(BlockingConnectionServer.java:177) ... 3 more Caused by: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113) at java.net.SocketOutputStream.write(SocketOutputStream.java:159) at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:119) at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:805) at org.apache.coyote.Response.action(Response.java:174) at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:366) ... 13 more
        Hide
        Mircea Toma added a comment -

        Please verify if these exceptions are still logged when running with ICEfaces libraries built off the 3.3 maintenance branch. To me it looks like the exceptions are already captured and logged as expected.

        Show
        Mircea Toma added a comment - Please verify if these exceptions are still logged when running with ICEfaces libraries built off the 3.3 maintenance branch. To me it looks like the exceptions are already captured and logged as expected.
        Hide
        Mircea Toma added a comment -

        This issue is already solved by the fixes for ICE-10072.

        Show
        Mircea Toma added a comment - This issue is already solved by the fixes for ICE-10072 .

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Judy Guglielmin
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: