Skip to content

[Enhancement] Make HashedWheelTimer parameters configurable in QueueLevelConsumerOrderInfoLockManager #10381

@f1amingo

Description

@f1amingo

Before Creating the Enhancement Request

  • I have confirmed that this should be classified as an enhancement rather than a bug/feature.

Summary

Make HashedWheelTimer parameters configurable in QueueLevelConsumerOrderInfoLockManager via BrokerConfig.

Motivation

The HashedWheelTimer in QueueLevelConsumerOrderInfoLockManager uses hardcoded tick duration (100ms) and default ticksPerWheel (512). These parameters affect timer precision and memory usage but cannot be tuned without code changes.

Describe the Solution You'd Like

Add two fields to BrokerConfig:

  • popOrderLockTimerTickMs (default: 100)
  • popOrderLockTimerTicksPerWheel (default: 512)

Use them in QueueLevelConsumerOrderInfoLockManager to construct HashedWheelTimer. Defaults preserve backward compatibility.

Describe Alternatives You've Considered

  • Keep hardcoded values: simple but inflexible.
  • Use system properties: less discoverable and inconsistent with existing config style.

Additional Context

None.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions