Support Article
Load Balancer health check fails with exception after upgrade
Summary
Load Balancer health check fails with NullPointerException after upgrade to Pega 7.3.1.
Error Messages
[ WebContainer : 0] [ STANDARD] [ ] [ Apex:01.24.01] (ngineinterface.service.HttpAPI) ERROR java.lang.NullPointerException
java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Matcher.java:1294) ~[?:1.8.0]
at java.util.regex.Matcher.reset(Matcher.java:320) ~[?:1.8.0]
at java.util.regex.Matcher.<init>(Matcher.java:240) ~[?:1.8.0]
at java.util.regex.Pattern.matcher(Pattern.java:1104) ~[?:1.8.0]
at com.pega.pegarules.exec.internal.PRExecProviderImpl.createClientDevice(PRExecProviderImpl.java:757) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.initializeLocaleAndUserAgents(HttpAPI.java:2094) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.setThreadData(HttpAPI.java:5515) ~[prprivate.jar:?]
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequestInner(EngineAPI.java:385) ~[prenginext.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) ~[?:1.8.0]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) ~[?:1.8.0]
at java.lang.reflect.Method.invoke(Method.java:508) ~[?:2.6 (10-13-2016)]
Steps to Reproduce
- Upgrade from PRPC 6.2 to Pega 7.3.1
- Configure a health check 'ping' that calls /prweb/PRServlet
- Run the flow
Root Cause
The health check 'ping' was configured to access /prweb/PRServlet and to check both HTTP 200 and HTTP 303 as successful responses.
A call to /prweb/PRServlet with a HTTP 303 response by default has a location header that adds directs the browser to the URL containing the unauthenticated AccessGroup hash.
The client had a new prconfig.xml file that configured Authentication/RedirectGuests = false. With this prconfig.xml setting after the server restart, the redirection to HTTP 303 did not occur.
Resolution
Perform the following local-change:Use the below REST service for Load Balancer health checks:
/prweb/PRRestService/monitor/pingService/ping.
Published August 19, 2019 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.