Question
Cognizant Technologies Solutions US
CA
Last activity: 4 Feb 2019 19:05 EST
/PRPushServlet in Pega v7.3.1
From Pega v7.2.1 onwards we seeing in webserver logs there are many entries, now we are on v7.3.1... what is this /PRPushServlet used for and why it hitting these many times... can we remove /PRPushServelet entries from web.xml file, so that it won't hit these many times.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Pegasystems Inc.
IT
PRPushServlet is used to support real time push notifications on web clients.
Features like Operator Presence and Notification Channels are based on push notifications to work.
What are the entries that you're seeing in the logs and what application server version is being used?
It could be that the server is not supporting JSR 356 (Java API for WebSocket) or JSR-315 (Java Servlet 3.0) causing issues in determining the transport protocol for push notifications.
-
Dharanitharan Ravindran purama gopi Tom Yunus
Cognizant Technologies Solutions US
CA
Hello..
Thanks for info..
We are using JBossEAP v7.0.9 which supports JSR-356 as well as JSR-315 but still we see it is unable to establish connect over websocket.. ( getting HTTP code 501) so connecting over long-pooling.
As you said purpose why Pega using PRPushServlet... we don't need in our project, is this fine if we can disable this functionality.. if so will you please guide us how can this be done ( seen entries in web.xml file.. if we comment below section will that be fine).
Thanks
Pegasystems Inc.
IT
While you can disable Push features by applying the Resolution provided in the following Support Article: https://community.pega.com/support/support-articles/http-server-logs-rapidly-filling
I advise you against doing it unless you are experiencing a real issue.
Are you seeing any exception in the server logs?
Can you please provide the server bootstrap logs?
Using in-house JBoss EAP 7.0.9 I can see the following logs at bootstrap proving successful initialization of the Atmosphere framework:
While you can disable Push features by applying the Resolution provided in the following Support Article: https://community.pega.com/support/support-articles/http-server-logs-rapidly-filling
I advise you against doing it unless you are experiencing a real issue.
Are you seeing any exception in the server logs?
Can you please provide the server bootstrap logs?
Using in-house JBoss EAP 7.0.9 I can see the following logs at bootstrap proving successful initialization of the Atmosphere framework:
INFO [org.atmosphere.cpr.AtmosphereFramework] (as-jboss7-ora-740) Atmosphere Framework 2.4.5 started.
INFO [stdout] (Log4j2-AsyncLoggerConfig-1) 2018-07-23 07:44:02,864 [ as-jboss7-ora-740] [ STANDARD] [ ] [ ] (tmosphere.AtmospherePushEngine) INFO - Async support implementation used by framework: org.atmosphere.container.JSR356AsyncSupport
INFO [stdout] (Log4j2-AsyncLoggerConfig-1) 2018-07-23 07:44:02,899 [ as-jboss7-ora-740] [ STANDARD] [ ] [ ] (.PushSubscriptionCleanerDaemon) INFO - Push Subscription Cleaner Daemon initialized in e-tier.
INFO [stdout] (Log4j2-AsyncLoggerConfig-1) 2018-07-23 07:44:02,905 [ as-jboss7-ora-740] [ STANDARD] [ ] [ ] (senceSessionStateTrackerDaemon) INFO - Presence Session State Tracker Daemon initialized in e-tier.
INFO [stdout] (Log4j2-AsyncLoggerConfig-1) 2018-07-23 07:44:02,905 [ as-jboss7-ora-740] [ STANDARD] [ ] [ ] (ervlet.WebAppLifeCycleListener) INFO - Push engine initialization finished!
Then, opening the User Portal, I can see that WebSocket is working properly:
GET ws://desktop:9740/prweb/PRPushServlet/!@aba4103dae9dcbc2b623c375782dd7aa!?PZSRVRPSH=true&portalName=AESManagerV7&X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.3.1-javascript&X-Atmosphere-Transport=websocket&X-Atmosphere-TrackMessageSize=true&Content-Type=application/json&X-atmo-protocol=true HTTP/1.1
Host: desktop:9740
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket
Origin: http://desktop:9740
Sec-WebSocket-Version: 13
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: JSESSIONID=I8if9gtA3QwHVeBCxbZ0OxioFFp0vdOEC0BtWkUC; Pega-RULES=HC3D81M3I3SQ8SIAILMTMXGPI5KXZO230
Sec-WebSocket-Key: cxe3hUoZ7TzlXBg6dxswyw==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
HTTP/1.1 101 Switching Protocols
X-Powered-By: Undertow/1
Server: JBoss-EAP/7
Origin: http://desktop:9740
Upgrade: WebSocket
Sec-WebSocket-Accept: QnwNJUbeHNXCjAXQNnxpwi1x2vw=
Date: Mon, 23 Jul 2018 07:46:47 GMT
Connection: Upgrade
Sec-WebSocket-Location: ws://desktop:9740/prweb/PRPushServlet/!@aba4103dae9dcbc2b623c375782dd7aa!?PZSRVRPSH=true&portalName=AESManagerV7&X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.3.1-javascript&X-Atmosphere-Transport=websocket&X-Atmosphere-TrackMessageSize=true&Content-Type=application/json&X-atmo-protocol=true
Are you sure that the HTTP 501 Response code is returned by JBoss and not by any other element in the call stack (LB, Reverse Proxy,...)?
In case of WebSocket issues in the network stack a much better solution would be to go with non-blocking long polling by applying the following resolution: https://community.pega.com/support/support-articles/weblogic-websockets-are-not-supported
Wipro Ltd
IN
Hi,
we are also facing the same kind of issue. below is the log got in webserver.
"GET /prweb/PRPushServlet/!@53dd8ce0ee1198c6de0cb92c3eac65d8!?PZSRVRPSH=true&portalName=CPMInteractionPortal&X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.3.1-javascript&X-Atmosphere-Transport=websocket&X-Atmosphere-TrackMessageSize=true&Content-Type=application/json&X-atmo-protocol=true HTTP/1.1" 501 2426 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko" "JSESSIONID=mcaeN-En17V1lY42q3Kw3xtP; Pega-RULES=HAA8A8EDB7759FD24EED37998B7F224EF" "-"
Could you help me.
Cognizant Technologies Solutions US
CA
guess pega not aware of this issue... my SR ran nearly 6 months nothing done and closed.
Cognizant Technologies Solutions US
CA
as said earlier issue recording in webserver log not at AppServer level... it wasn't about JBossEAP even in WAS env also seeing same even though AppServers supports JSR-356 as well as JSR-315.
Pegasystems Inc.
AU
Hi Sreecharan,
These are not errors but log messages happening because a client heartbeat mechanism polls web socket connections to monitor the connection status. The default interval is 20 seconds and can be updated via server-push/client-heartbeat/interval prconfig setting.
Having said that are you using Operator Presence or Push notifications? If not, you can disable them as mentioned above by Domenico.
Lastly, can you please elaborate on the actual concern? Is it the volume of the lines logged or any exceptions?
As Domenico requested:
Are you seeing any exception in the server logs?
Can you please provide the server bootstrap logs?