On a UI cluster/node based on RHEL6 OS, the UI logs
/var/log/pa/pui/pui.log are growing rapidly during user activity in CCP v2, filling up with messages like:
14:20:16.084 [default task-241] ERROR c.o.a.s.booster.ejb.APSBoosterBean - Error occurred while handling HTTP request via Booster: com.parallels.pa.service.aps.api.APSEndpointExecutionException: unknown channel
You can find a great amount of session expiration statements as well:
22:10:08.995 [default task-66] DEBUG c.p.p.c.c.a.APS2ProxyServletResources - Session expired com.plesk.p2.security.SessionExpiredException: No such session at com.plesk.p2.security.SecurityManager.get(SecurityManager.java:365) at com.plesk.p2.security.SecurityManager.get(SecurityManager.java:351) at com.plesk.p2.security.SecurityManager.checkOperation(SecurityManager.java:330) at com.plesk.p2.cp.core.aps.APS2ProxyServlet.windowSessionFromRequest(APS2ProxyServlet.java:410) at com.plesk.p2.cp.core.aps.APS2ProxyServletResources.service(APS2ProxyServletResources.java:87)
The same messages could appear on OSS Core in
/var/log/pa/core.log in case APS Booster is not enabled on the UI node:
Mar 5 22:04:12.612 : DBG [aps-service:1412934 aps-service-task-157:662 pau]: c.p.p.tracer exit by exception: com.parallels.pa.service.connectivity.ejb.EndpointExecutorBean.call com.parallels.pa.service.aps.api.APSEndpointExecutionException: unknown channel: 75085084-34b7-4d12-ac67-b83c38b61ea8 at com.parallels.pa.service.connectivity.ejb.EndpointExecutorBean.throwResponseException(EndpointExecutorBean.java:394) at com.parallels.pa.service.connectivity.ejb.EndpointExecutorBean.sendRequestToApplication(EndpointExecutorBean.java:246)
CCP v2 onScreen notifications make use of the modern web-socket based protocol to deliver messages to end customers. For a RHEL6-based UI/Branding node, there is a RHEL issue related to malfunctioning mod_rewrite module that is unable to pass such requests as a proxy, reference:
The issue has no solution for RHEL6.
As a result of the issue, the onScreen notifications mechanism gets switched to long polling that results in eternal handling of browser sessions, until the user browser is closed. Such sessions generate a large amount of messages in the logs.
A permanent solution is to upgrade the Branding node(s) to RHEL7 based OS.
For all RHEL6 Branding nodes, correct the Apache configuration of all brands:
# sed -i 's/\tProxyPass "\/aps\/".*/\tProxyPass "\/ws\/" "ws:\/\/MN_IP:8080\/ws\/" disablereuse=on\n&/' brand_*.conf
MN_IP is the actual IP address of the Management Node.
Reload Apache service afterwards:
# apachectl graceful
IMPORTANT: the altered configuration may change any time, when a brand is re-configured in CP, so the above solution is to be re-applied again.
To be sure that the CCP v2 onScreen notifications started to work in web-socket mode, ensure the following lines appear in
/var/log/pa/core.log on OSS Core while opening a CCP v2 screen:
configuring client connection with notifications channel