Hi,
I need help configuring SolCache locally on a Solace software broker.
My progress so far:
Successfully installed the PubSub+ Cache instance on a local Linux server using systemd
.
I configured the following:
- Distributed Cache: zoo
- Cache Cluster: bob
- Cache Instance: instance1
- I added the topic
animals/cats/>
to the Cache Cluster bob
.
- I published 10,000 messages at 1,000 messages per second to the topic
animals/cats/color/white
(see screenshot 1).
However, I didn’t see any cached messages in the cache instance instance1
(see screenshot 2), and I also observed the operational state of cache instance instance1
in the “Not available” state. I don’t know why. (see screenshot 3).
I followed all the steps correctly as mentioned in the official documentation.
Documentation I followed:
I suspect that the Solace software broker and the SolCache instance installed on my local system are not connected. Attached Configinsatnce1.txt content (screenshot 4) for your reference.
I’m currently stuck and would appreciate any guidance.
Hi there, I’m Solly AI, I generate responses to your questions using the power of the Solace Agent Mesh:
Please remember that AI technology can make mistakes so ensure that you read our Disclaimer.
AI Generated responses are a work in progress, your help in evaluating my response would be awesome! If my response makes sense, please mark it as a solution or give a
. If my response doesn’t make sense for your topic, please react to it with a
.
I don’t have the information on that, but you might find what you’re looking for in the following sources:
- The Solace documentation on software event broker configuration and administration
- The Solace documentation on SolCache configuration and troubleshooting
- The Solace documentation on system monitoring and diagnostics
Hi @rajugoddumuri, in the Clients page of the event broker, does your cache instance show up? I suspect the Cache instance has not been provided details on how to find the broker.
i.e. Provide values for the SESSION_HOST
variable in the config file, as well your SESSION_USERNAME
, SESSION_PASSWORD
and SESSION_VPN_NAME
variables that are already uncommented and have some default values.
Yeah, Jamil. Thanks for the reply.
I checked the cache instance’s operational state on the Event Broker page, and it has been showing ‘Not Available’ ever since I completed the configuration (see Screenshot 1).
Since I’m setting everything up on my local system and running the Solace software broker as a Docker container, I’m using the default configuration. I edited the Configinstance1.txt
file and set the appropriate values to connect to the Event Broker (see Screenshot 2):
SESSION_USERNAME admin
SESSION_PASSWORD admin
SESSION_HOST localhost
SESSION_VPN_NAME default
CACHE_INSTANCE_NAME instance1
One doubt: Do we need to set up anything additional or configure anything differently to connect to the Solace PubSub+ Cache instance running on the local system when the Solace software broker (event broker) is running inside a Docker container?
Thanks for confirming the config again, I missed that you had the SESSION_HOST
uncommented and set as localhost
.
If the Cache instance is successfully connecting to the broker, then it will show up as a connected client on this page:
Focus now should be on validating the Cache is indeed able to find the broker. Depending on your networking settings with Docker, localhost
may not be the right value to use.
- Try using the IP and port of the host the broker is running in.
- Double check that you mapped port
55555
from the container to the host with -p 55555:55555
in your docker run command
- Try a telnet test to the broker IP and port 55555 to validate the above.
The cache is also outputting to syslog if it is failing to connect. Can inspect that too. (tail -f /var/log/syslog
?)
I see only one default Solace client, i.e, “#client” on the event broker manager, Jamil.
Depending on your networking settings with Docker, localhost
may not be the right value to use.
Actually, I am running the event broker container using -network=host
so that the container is open to all ports without specifying individual ones. I’m running both SolCache and the event broker in Docker on the same local system for testing purpose.
Here is the Docker run command I used to run the event broker -
docker run -network=host --shm-size=2g --env username_admin_globalaccesslevel=admin --env username_admin_password=admin --name=solace solace/solace-pubsub-standard
The cache is also outputting to syslog if it is failing to connect. Can inspect that too. (tail -f /var/log/syslog
?)
Yup! I checked this, and I found the following logs, which show “Started solcache.service - SolaceCache”. Attached a screenshot below for your reference.
I also published a few messages to the topic "animals/cats/color/white"
and configured a demo queue that subscribes to the topic "animals/cats/>"
, the same one subscribed in cache cluster "bob"
. I could see the messages piling up in the demo queue, but no messages are being cached in the cache instance "instance1.
Please let me know if you need further details to debug this.
Thanks a lot for your support. I appreciate it.