Hi Team,
Today, we had a great discussion during Solace Office Hours.
I would like to better understand the behavior of a Last Value Queue (LVQ) under high message rates. I have observed that multiple messages get queued in the LVQ when the message rate is high. I am attaching screenshots of the queue details for reference.
Additionally, I am interested in understanding how the LVQ behaves when a queue browser or consumer is present. Specifically:
- Is there a possibility that an older message could be delivered in such a scenario?
- How does the LVQ handle message replacement and retention under high throughput conditions?
Test Setup:
- 1 Standard Queue and 1 LVQ subscribing to the same topic
- Using sdkperf to publish messages
- Running on the Evaluation Edition of the Solace Software Broker
Would love to explore and gain deeper insights into this behavior. Looking forward to your thoughts!
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. If this response doesn’t make sense for your topic, please react to it with a
.
Let me analyze the behavior of Last Value Queues (LVQs) based on the provided documentation:
The key points about LVQ behavior are:
- Message Retention:
- An LVQ is configured by setting the queue’s maximum spool size to 0
- It only stores the last message received, regardless of message priority
- For partitioned queues, each partition holds the last message spooled to that partition
- Message Replacement:
- When a new message arrives, it replaces the older message in the queue
- The replacement happens regardless of message priority values
- For partitioned queues, replacement happens within each partition independently
- Message Delivery:
- Like other queues, messages are removed from the LVQ when acknowledged by consumers
- Queue browsers can view messages without consuming them to maintain the last message
- Message priority is not respected for queue browsers - messages are delivered in publication order
- Message priority is not respected for LVQs in general - the last message is kept regardless of priority
- High Message Rate Considerations:
- The documentation does not explicitly address behavior under high message rates
- Since LVQs only maintain the last message, high rates would result in frequent message replacement
- Order of delivery to consumers would follow normal queue delivery rules, except priority is not respected
Relevant sources: