Skip to content

fix: preserve hard-strict priority when the worker pool is busy - #306

Open
0x0fee wants to merge 1 commit into
sonus21:masterfrom
0x0fee:fix/hard-strict-priority-busy-pool
Open

0x0fee wants to merge 1 commit into
sonus21:masterfrom
0x0fee:fix/hard-strict-priority-busy-pool

Conversation

@0x0fee

@0x0fee 0x0fee commented Sep 22, 2026

Copy link
Copy Markdown

Description

When the shared worker pool is busy, HardStrictPriorityPoller temporarily skips queues with pending messages, allowing lower-priority work to run first. Limit temporary queue deactivation to NO_MESSAGE so pending high-priority work remains visible.

Type of change

  • Bug fix

How Has This Been Tested?

  • Unit tests

Added 2 unit tests:

  1. A busy pool must not hide pending high-priority messages. This test fails before the fix and passes afterward.
  2. Empty queues must still be temporarily skipped.

Result: all 22 selected priority tests pass, including the 2 new tests.

./gradlew :rqueue-core:test --tests '*HardStrictPriorityPoller*' --tests '*RqueueMessageListenerContainerPriorityTest' --tests '*PriorityGroupListenerTest'

Test configuration: JDK 17, Gradle 9.3.0.

Checklist

  • Code reviewed and formatting checked
  • 2 unit tests added; all 22 selected tests pass

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant