Salesforce

PASOE clustering with tomcat load balancer is not working

« Go Back

Information

 
TitlePASOE clustering with tomcat load balancer is not working
URL NamePASOE-clustering-with-tomcat-load-balancer-is-not-working
Article Number000114780
EnvironmentProduct: OpenEdge
Version: 11.6.x, 11.7.x
Platform: Windows
Others: PASOE
Question/Problem Description
PASOE clustering with a tomcat load balancer is not working.
Session replication between two PASOE instances on the same server fails with the following error in the catalina.out file: Context manager doesn't exist:[]
 
Steps to Reproduce1. Login to a clustered PAS Instance using POSTMAN
2. Make a request
3. Stop that PAS instance
4. Make another request
5. The session information is not replicated to the other instance
Clarifying Information
Since OpenEdge 11.6, load balancing is supported for all PASOE transports

conf/workers.properties specifies the load balancer (lb) and the workers (instances) available to the load balancer as servers that can handle requests
$CATALINA_HOME/tcman.sh workers [general_options] [worker_list]

A PAS for OpenEdge instance that is dedicated to load balancing, without any web applications deployed to the load balancer.
The AJP13 port is enabled in the /conf/server.xml file to pass requests for the PAS LB instance: instance/bin/tcman feature AJP13=on

PAS instances were added to the cluster after turning on the cluster property in the /conf/server.xml file of the instance: instance/bin/tcman.sh feature Cluster=on
Error Messagecatalina.out file:
WARNING [Tribes-Task-Receiver[Catalina-Channel]-1] org.apache.catalina.ha.session.ClusterSessionListener.messageReceived Context manager doesn't exist:[]
Defect Number
Enhancement Number
Cause
Sticky Sessions and Clustering are independent:
  • In worker.properties file sticky session is enabled. This means the Load Balancer routes requests with the same JSESSION:ID back to the same worker instance on the same machine until the client terminates.
  • Session information is shared with any PASOE instance in a defined cluster of instances to handle subsequent client requests with the correct context. The cluster will failover on another "worker" without losing client session information.
Resolution
Option 1: Disable sticky sessions for the APSV transport

This means the Load Balancer will check the status of PAS instances and Clustering handles the session replication.
The Tomcat servlet container in PASOE does not allow web applications to change a session to a sticky session.

Change the following from true to false  in the worker.properties file:
worker.lb.sticky_session=false
worker.lb.sticky_session_force=false

Option 2: use sticky sessions for the APSV transport but don't force them 

This means if the one PAS instance goes down, the Load Balancer will recognize this and move the request on to another PAS instance and Clustering handles the session replication.

Change the following from true to false  in the worker.properties file:
worker.lb.sticky_session=true
worker.lb.sticky_session_force=false

 
Workaround
Notes
Progress Article:

Is it possible to configure a third-party load balancer with PASOE?    

References to Other Documentation:

Apache Tomcat Connectors - Reference Guide [ Version 1.2.48, Mar 9 2020 ]
https://tomcat.apache.org/connectors-doc/reference/workers.html   

Progress Application Server for OpenEdge: Administration Guide, Load balancing options for PAS for OpenEdge - Tomcat load balancing
https://docs.progress.com/bundle/pas-for-openedge-management/page/Tomcat-load-balancing.html   

Manage Progress Application Server (PAS) for OpenEdge, Load balance PAS for OpenEdge instances
https://docs.progress.com/bundle/pas-for-openedge-management/page/Load-balance-PAS-for-OpenEdge-instances.html   

PAS for OpenEdge Administration Tools Reference, TCMAN Reference, Server actions - Create a Tomcat worker configuration file (workers)
https://docs.progress.com/bundle/pas-for-openedge-reference/page/Create-a-Tomcat-worker-configuration-file-workers.html
 
Keyword Phrase
Last Modified Date5/20/2021 8:13 PM

Powered by