Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: feedback over Setting Up High Availability Deployments section #427

Open
Zerrossetto opened this issue Dec 9, 2024 · 1 comment
Open

Comments

@Zerrossetto
Copy link

Hi,
for our company deployment we are following the Hazelcast Management Center guide in order to create our deployments. And at the chapter "Production Checklist." In the section Setting Up High Availability Deployments it's stated that

HTTP sessions are not shared between Management Center instances. Load balancing options are limited to sticky sessions or round-robin connections with basic authentication.

but we noticed the JSESSIONID is always set as <random-string-value>.node0 in each deployment node, so we cannot set the routes for sticky session appropriately.

From what I managed to find on the Jetty documentation "node0" is actually the default worker name, and in normal Jetty deployments the worker name can be customized by setting jetty.sessionIdManager.workerName=<node-name> via properties.
As you can well imagine this is not the case for Management Center because it relies on Spring Boot.
What we have tried until now is launching the app with some Spring-Boot-standard values (like server.jetty.sessionIdManager.workerName=<node-name>, server.jetty.sessionIdManager.workerName=<node-name>, server.jetty.session-id-manager.worker-name=<node-name>) with no success.

In my opinion if the documentation has a "High Availability" section this aspect of the configuration should addressed, at the moment we just excluded all nodes except one, but we would like to close this issue in the future.

@Zerrossetto
Copy link
Author

Zerrossetto commented Dec 9, 2024

I found the answer myself the variable JETTY_WORKER_INSTANCE is appended in substitution of the "0" in the Jetty worker name value. Therefore JETTY_WORKER_INSTANCE=foo becomes nodefoo as the worker name. As a consequence JSESSIONID will become <random-string-value>.nodefoo. This for sure should be mentioned in the documentation, it is not trivial at all for non Jetty experts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant