remove unused dropStrategy config setting for event queues

This commit is contained in:
Göran Sander
2025-11-17 22:55:13 +01:00
parent e536f0e18f
commit 7e03cefbe1
8 changed files with 9 additions and 32 deletions

View File

@@ -55,8 +55,7 @@ Butler-SOS:
# Message queue settings
messageQueue:
maxConcurrent: 10 # Max concurrent message processing
maxSize: 200 # Max queue size before dropping
dropStrategy: oldest # Drop 'oldest' or 'newest'
maxSize: 200 # Max queue size before rejecting
backpressureThreshold: 80 # Warn at this % utilization
# Rate limiting (optional)
@@ -91,7 +90,6 @@ Butler-SOS:
messageQueue:
maxConcurrent: 10
maxSize: 200
dropStrategy: oldest
backpressureThreshold: 80
rateLimit:
@@ -114,11 +112,7 @@ Butler-SOS:
- **maxConcurrent** (default: 10): Number of messages processed simultaneously. Higher values = more throughput but more CPU/memory usage. Recommended: 5-20 depending on server capacity.
- **maxSize** (default: 200): Maximum queue size. When exceeded, messages are dropped. Higher values provide more buffer during spikes but use more memory. Recommended: 100-500.
- **dropStrategy** (default: 'oldest'): Which messages to drop when queue is full:
- `oldest`: Drop oldest queued messages (FIFO) - keeps most recent data
- `newest`: Drop newest incoming messages - preserves historical sequence
- **maxSize** (default: 200): Maximum queue size. When exceeded, new messages are rejected and dropped. Higher values provide more buffer during spikes but use more memory. Recommended: 100-500. Note: Queue size only counts pending messages (not currently processing), so total capacity is maxSize + maxConcurrent.
- **backpressureThreshold** (default: 80): Queue utilization percentage that triggers warnings. Recommended: 70-90%.
@@ -173,7 +167,6 @@ Butler-SOS:
messageQueue:
maxConcurrent: 10
maxSize: 200
dropStrategy: oldest
backpressureThreshold: 80
rateLimit:
enable: false

View File

@@ -124,7 +124,6 @@ Butler-SOS:
messageQueue:
maxConcurrent: 10 # Max number of messages being processed simultaneously (default: 10)
maxSize: 200 # Max queue size before messages are dropped (default: 200)
dropStrategy: oldest # Drop 'oldest' or 'newest' messages when queue is full (default: oldest)
backpressureThreshold: 80 # Warn when queue utilization reaches this % (default: 80)
# Rate limiting to prevent message flooding
rateLimit:
@@ -181,7 +180,6 @@ Butler-SOS:
messageQueue:
maxConcurrent: 10 # Max number of messages being processed simultaneously (default: 10)
maxSize: 200 # Max queue size before messages are dropped (default: 200)
dropStrategy: oldest # Drop 'oldest' or 'newest' messages when queue is full (default: oldest)
backpressureThreshold: 80 # Warn when queue utilization reaches this % (default: 80)
# Rate limiting to prevent message flooding
rateLimit:

View File

@@ -93,7 +93,6 @@ describe('config-file-schema', () => {
messageQueue: {
maxConcurrent: 10,
maxSize: 200,
dropStrategy: 'oldest',
backpressureThreshold: 80,
},
rateLimit: {
@@ -128,7 +127,6 @@ describe('config-file-schema', () => {
messageQueue: {
maxConcurrent: 10,
maxSize: 200,
dropStrategy: 'oldest',
backpressureThreshold: 80,
},
rateLimit: {

View File

@@ -64,7 +64,6 @@ describe('UdpQueueManager', () => {
messageQueue: {
maxConcurrent: 5,
maxSize: 10,
dropStrategy: 'oldest',
backpressureThreshold: 80,
},
rateLimit: {

View File

@@ -34,12 +34,7 @@ export const logEventsSchema = {
},
backpressureThreshold: { type: 'number', default: 80 },
},
required: [
'maxConcurrent',
'maxSize',
'dropStrategy',
'backpressureThreshold',
],
required: ['maxConcurrent', 'maxSize', 'backpressureThreshold'],
additionalProperties: false,
},
rateLimit: {

View File

@@ -46,12 +46,7 @@ export const userEventsSchema = {
},
backpressureThreshold: { type: 'number', default: 80 },
},
required: [
'maxConcurrent',
'maxSize',
'dropStrategy',
'backpressureThreshold',
],
required: ['maxConcurrent', 'maxSize', 'backpressureThreshold'],
additionalProperties: false,
},
rateLimit: {

View File

@@ -2019,7 +2019,7 @@ export async function postUserEventQueueMetricsToInfluxdb() {
}
try {
globals.influx.writePoints([point]);
await globals.influx.writePoints([point]);
globals.logger.verbose(
'USER EVENT QUEUE METRICS INFLUXDB: Sent queue metrics data to InfluxDB v1'
);
@@ -2172,7 +2172,7 @@ export async function postLogEventQueueMetricsToInfluxdb() {
}
try {
globals.influx.writePoints([point]);
await globals.influx.writePoints([point]);
globals.logger.verbose(
'LOG EVENT QUEUE METRICS INFLUXDB: Sent queue metrics data to InfluxDB v1'
);

View File

@@ -189,10 +189,9 @@ export class UdpQueueManager {
*
* @param {object} config - Configuration object
* @param {object} config.messageQueue - Queue configuration
* @param {number} config.messageQueue.maxConcurrent - Max concurrent message processing
* @param {number} config.messageQueue.maxSize - Max queue size
* @param {string} config.messageQueue.dropStrategy - Drop strategy ('oldest' or 'newest')
* @param {number} config.messageQueue.backpressureThreshold - Backpressure warning threshold (%)
* @param {number} config.messageQueue.maxConcurrent - Maximum concurrent operations
* @param {number} config.messageQueue.maxSize - Maximum queue size
* @param {number} config.messageQueue.backpressureThreshold - Backpressure threshold percentage
* @param {object} config.rateLimit - Rate limit configuration
* @param {boolean} config.rateLimit.enable - Enable rate limiting
* @param {number} config.rateLimit.maxMessagesPerMinute - Max messages per minute