🎄 Happy Holidays! 🥳
Most of Solace is closed December 24–January 1 so our employees can spend time with their families. We will re-open Thursday, January 2, 2024. Please expect slower response times during this period and open a support ticket for anything needing immediate assistance.
Happy Holidays!
Please note: most of Solace is closed December 25–January 2, and will re-open Tuesday, January 3, 2023.
Issue with replication mode: Messages stuck in "Pending Replication" state
Hello all,
I am trying to set up replication here between 2 nodes.
I tried to follow the instructions as mentioned in the Steps-for-Replication-Configuration page.
I tried to reach the replication state starting from both:
- kubernetes HA deployment
- fresh docker deployments (so not HA, just standalone instances (initially)).
I seem to always be getting to the same state where I see a message in a queue, on primary node as "Pending Replication" and then on the secondary node (stand-by) I can't see the message in the queue (expected based on what the primary node reports).
I am not really sure what to post in terms of helpful information as I cannot seem to be making much out of the logs. Could you please advice on what information I could be posting.
I can see my created message VPN showing
in the primary node as: Status: Up/ Replication: Active
in the secondary node as: Status: Standby/ Replication: Standby
In terms of show replication
command I am getting:
In primary node:
Replication Interface:
Replication Mate: v:f5948d15ebb4
Plain Text: 172.17.0.3:55555
Compressed:
SSL:
SSL:
Default Cipher Suite List: Yes
Cipher Suites: ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES128-GCM-SHA256
Trusted Common Names:
ConfigSync:
Bridge:
Admin State: Enabled
State: up
Authentication:
Scheme: Basic
Compressed: No
SSL: No
Message Spool:
Window Size: 65535
Retry Delay: 3
SSL Server Certificate Validation:
Enforce Trusted Common Name: No
Maximum Chain Depth: 3
Validate Certificate Dates: Yes
Validate Server Name: Yes
In secondary node:
Replication Interface:
Replication Mate: v:f698e5bce89a
Plain Text: 172.17.0.2:55555
Compressed:
SSL:
SSL:
Default Cipher Suite List: Yes
Cipher Suites: ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES128-GCM-SHA256
Trusted Common Names:
ConfigSync:
Bridge:
Admin State: Enabled
State: up
Authentication:
Scheme: Basic
Compressed: No
SSL: No
Message Spool:
Window Size: 65535
Retry Delay: 3
SSL Server Certificate Validation:
Enforce Trusted Common Name: No
Maximum Chain Depth: 3
Validate Certificate Dates: Yes
Validate Server Name: Yes
Thank you
Answers
-
So I managed to get it working.
I think what I was missing was enabling message spooling in both nodes (although not 100 % sure), so:enable
solace# configure
solace(configure)# hardware message-spool
solace(configure/hardware/message-spool)# no shutdown
I put together a few quick-start commands which seem to be working, in case it might be helpful to someone (and also for feedback in case something stands out). Please note I used default Message VPN:1. Enable message spooling (in both nodes):
enable
solace# configure
solace(configure)# hardware message-spool
solace(configure/hardware/message-spool)# no shutdown2. Bridges (specify user for the bridge) (in both nodes):
solace(configure/message-vpn/replication)# bridge
solace(configure/message-vpn/replication/bridge)# authentication basic
solace(...plication/bridge/authentication/basic)# client-username <name> [password <password>]
(I went with client-username default)
3. Configure Mates (in both nodes):solace(configure)# replication
solace(configure/replication)# mate
solace(configure/replication/mate)# virtual-router-name v:<take peer router name with running commandshow router-name
in peer node>
solace(configure/replication/mate)# connect-via <IP of peer>:55555
4. Turn on replication (in both nodes, 1 of them need to be active, rest in standby mode):I did this through the admin UI.
So enable and then set mode to active for primary node / standby for secondary. I left the default values to the rest (so for auth: Basic - user: default).
5. Create a replicated topic:
Again did this from the admin UI. So, under
Replication/ Replicated topics
, e.g. "aReplicatedTopic".6. Queue creation.
Because we want to create the queue in primary node only and have it propagated in secondary, we need to turn on config-sync for this in both nodes.
enable
configure
config-sync
no shutdownThen back on the admin UI create the Queue in primary node only (we can see that it is also created in secondary), and add a subscription to match the replicated topic above, "aReplicatedTopic" in this case.
And that should hopefully work.0