Introducing the "copy-message" command
Exciting news, Solace developers and administrators! You can now copy messages between queues!
PubSub+ Event Broker version 10.0.0 has a new management command, copy-message, that lets a broker administrator copy a message from the replay log to a queue, or from one queue to another (like from a DMQ to a client’s queue).
Why is this exciting? Well, when using guaranteed messaging, messages aren’t ever supposed to get lost. But in the real world, things aren’t always that simple. Your consumer might be offline for an extended period of time, causing time-to-live (TTL) to expire for the message. Or there might be an application issue preventing the app from processing the message, resulting in max-redeliveries being exceeded for the message. There could even be a subtle bug in the app, where it acknowledges receipt of the message just a bit too early, before it has fully completed processing of the message (for example, a database write that gets cached in RAM but doesn’t get flushed to disk before a power failure).
And let’s not forget operator error, where an administrator accidentally deletes the wrong message from the queue.
As long as the message is still available in either a dead-message-queue (DMQ) or the Replay log (you are enabling replay for your important message topics, right?), you can now easily get it back. The copy-message command lets you copy the message back to your consumer’s queue!
Copy-message is supported in CLI and SEMPv1 in PubSub+ Event Broker version 10.0.0 and later, and will be supported in PubSub+ Manager and SEMPv2 later this year.
Hopefully, you won’t need this command too often. But if you ever need to restore a message, it’s a great tool to have in your toolkit.