Replay feature in solace pub sub

dhanarupa Member Posts: 7

I am Explorign the replay fetaure in solace pubsub+. when replay is enabled on a VPN we have two queues created.#REPLAY_LOG_ReplayName and #REPLAY_TOPICS_ReplayName. the messages are spooled to REPLAY_LOG and the when i replay the messages are coming from that log. what is the use of REPLAY_TOPICS? where do we use them?
I tried replay from Queue endpoints and messages are gettin replayed. Can we configure a replay on a topic instead of whole VPN? to avoid storage limitations.
Also i need help on replay of topic endpoints?



  • TomF
    TomF Member, Employee Posts: 406 Solace Employee

    Hi @dhanarupa, #REPLAY_LOG.. and #REPLAY_TOPICS... are internal queues used for managing the replay log. Which log is used for what purpose is abstracted away by the replay API, so in actuality you never use either directly.
    The question of how topics fit in to replay is a good one. Replay happens on a queue. However, a queue can subscribe to a topic. Let's imagine that you have a queue subscribed to a/queued/topic. You have 2 producers, one producing to a/queued/topic and one to a/not/queued/but/still/persisted/topic. You can replay messages on your queue, which will give you messages produced on a/queued/topic.
    Now imagine you need the messages on a/not/queued/but/still/persisted/topic to be replayed. All you have to do is create a queue and place a subscription to this topic on it, hit replay, and viola - even though you never subscribed to this topic originally, you can replay the messages from it. You could even change the subscription on the original queue and get the same result. Magic!
    For this reason, replay is enabled at the VPN level, not at the topic level. To configure how much storage will be used, set the max-spool-usage on the replay log. If you want to only store messages from a certain topic, what you could do is disable replay on the current VPN and VPN bridge those topics to another VPN where you have replay enabled.
    Replay should work on Durable Topic Endpoints.

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 923 admin

    Hi @dhanarupa,
    If you want to see a simple way to test out replay @Aaron created this youtube video that might help.
    Hope that helps!

  • dhanarupa
    dhanarupa Member Posts: 7
    edited August 2020 #4

    Thanks Aron & Marc it was helpful.
    /#REPLAY_LOG.. and #REPLAY_TOPICS... are internal queues, but when does the #REPALYTOPICS is used? I could see that when replay is enabled on VPN, the published messages are getting spooled to REPLAY_LOG, and nothing is happening with #REPLAY_TOPICS, what happens with #REPLAY_TOPICS?Why is #REPLAY_TOPICS created?
    i understood the replay from Queues, but i could not do the replay from TopicEndpoint. do we have any example showing how to reply from TOPICENDPOINTS.
    I was working on Queues in my implementation , never worked on TopicEndpoints, really do not know how to create and publish message to them, any example on that will be helpful.