zowe / zowe/api-layer

Bug encountered when caching-service infinispan is running with same ports as another Zowe server

Open
#3,883 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Priority: High size/S V3
Dominant language
Java
Stars
92
Forks
81
Avg merge
1d 9h
Merged PRs (30d)
46

Description

Describe the bug
While using the new caching-service infinispan I ran into some bugs. The first one is that the Zowe start up doesnt check if the ports for jgroup or keyExchange are already in use. The other bug I encountered is that, I had the same ports for jgroup and keyExchange as another user that was running Zowe and it started using that other uses workspace/caching-service/index and workspace/caching-service/data. I tried to use the presistence.dataLocation parameter but that didn't work. I believe its missing an option to update the cluster name as well, avoiding these unrelated zowe instances to unknowingly join the same cluster.

Steps to Reproduce

  1. Start two Zowe with the same ports under jgroup and keyExchange
  2. You will see the second Zowe start but the caching service will throw errors in the log and doesn't start.

Expected behavior
Zowe should fail during startup if ports are taken.

Additional context
I also noticed infinspan starting to use random ports and its due to its behavior to chose available ports, I believe we should update this info in the Zowe docs since its missing.

Willingness to help
Sure, i can help debug and test this.

https://github.com/zowe/api-layer/wiki/Issue-management

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing two Zowe instances with identical jgroup and keyExchange ports, then inspect the caching-service logs and the workspace/caching-service/index and workspace/caching-service/data locations. Done means startup detects occupied ports, instances do not unintentionally share a cluster or data, and the documented random-port behavior is covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.