Replay messages - Couple of Questions

RunningRoach
RunningRoach Member Posts: 7

I was wondering if the messages that go into Replay log, consume any of the quota limits that are present on the VMR / Appliance

example:

Number of delivered but unacknowledged messages

Number of replicated topics

Number of topic subscriptions that can be assigned to all queues

Maximum number of messages queued for delivery (message count)

Number of unique topic subscriptions


Second question is can we use non-durable queues as a model for the client subscription and replay? i don't see any documentation preventing it, and since the replay log is at topic level it should be an issue correct?

example:

message-vpn-a | publisher-a | subscriber-a, subscriber-b, subscriber-a1, subscriber-b1

Timepoint1 (T): publisher-a connects to vpn-a, and starts publishing on topic '/t/1'; there are no current subscribers but replay is enabled for '/t/*'

T2: subscriber-a joins vpn-a and creates an exclusive non-durable queue queA; request from replay from T1 till now

T2: subscriber-b joins vpn-a and creates a non-durable queue queB; request from replay from T1 till now

T3: subscriber-a1 joins vpn-a and joins non-durable queue queA; because it is an exclusive queue, it does not receive any messages currently but is ready to take over if subscriber-a dies.

T4: subscriber-b1 joins vpn-a and joins non-durable queue queB; because it is an exclusive queue, it does not receive any messages currently but is ready to take over if subscriber-b dies.

Answers

  • rtomkins
    rtomkins Member, Employee Posts: 23 Solace Employee

    Hi RunningRoach,

    I would consider the replay log to be another queue for the purposes of consuming resources against the limits you identify.

    Our documentation often refers to non-durable queues as temporary queues, which are a subset of temporary endpoints. If you search based on "temporary queues", you will find that only more recent releases support replay with non-durable/temporary queues. Note that a temporary endpoint is bound to the consumer that established them and is removed when that consumer disconnects. You cannot bind an alternate consumer to a temporary endpoint like a temporary queue.