Pega Gateway fails with High Availability during quiescence
When using High Availability in conjunction with a Pega Mashup (IAC), a node is quiesced the administrators are expecting the users who are currently connected to be transferred to one of the other available nodes. However, instead they receive an HTTP 200 response code and an error message.
Redirection appears to be in a loop, terminating request: http://host:8247/prweb/IAC/f5eYUo7Ap54PI-o0jPBVZr2ZrfHVwT3qj7LGDGg1pYs%5B*/!MyIACTestFW/$STANDARD?pyActivity=Assign-.ProcessAssignment&InsHandle=ASSIGN-WORKLIST%20TEST-FW-MYIACTESTFW-WORK%20M-162!PZDEFAULTSTAGESTEP&InsClass=Assign-&CurrentWorkIndex=
Steps to Reproduce
1. Deploy PRGateway and PRPC onto two application servers.
2. Ensure that the Passivation is either configured to us the database or a common place on the file system.
<env name="storage/class/passivation:/rootpath" value="/commondir" />
3. In PRGateway administration screen, configure a host entry for each of the PRPC deployments.
4. Build a Pega Mashup / IAC Gadget for each PRPC node and deploy to the relative server.
5. Configure a Load Balancer to send the request to the Mashup.
6. In a browser connect to the Mashup via the Load Balancer address.
7. Verify that the expected information is returned.
8. Determine which node the request has been sent.
9. Connect to the load balancer and disable new requests to that node.
10. Connect to the same node using SMA.
11. Under Administration > High Availability Management click on the Begin Quiesce button.
12. (If AES is installed). Log into AES as a developer.
13. Choose Designer Studio > System > High Availability > HA Cluster Management to verify that the runstate reaches Quiesce Complete.
14. Return to the browser that is displaying the Pega Mashup and perform an action that will send a new request to the server.
When a node has been quiesced PRPC will return an HTTP status code of 303, indicating that the request will need to be redirected.
The PRGateway code attempts to re-establish the connection to the instances of PRPC that it is aware of. And in the event of 3 consecutive 303 responses it will build an error message and return the 200 HTTP response.
In order to use the High Availability Quiesce feature in a configuration that includes PRGateway / Pega Mashup a Load Balancer must be placed between the PRPC application server node(s) and the PRGateway application server node(s).
Enhancement request FDBK-14825 has been submitted to augment PRGateway so that it can send the HTTP 303 response directly back to the Load Balancer / Browser.
0% found this useful