Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
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
-
Labels:None
-
Environment:jsf2 icepush
-
Assignee Priority:P2
-
Support Case References:
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
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
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