Skip to content

Conversation

popduke
Copy link
Contributor

@popduke popduke commented Oct 14, 2025

  • Optimizations:
    • Reduce reset and I/O overhead in InboxStore/DistWorker
    • Optimize TopicLevelTrie to reduce remove overhead
    • Dynamic sending window for QoS1/2 messages
  • Fixes:
    • Fix range lookup key in InboxCheckSubScheduler
    • Enforce strict FIFO for permission checks
    • Conditionally clear batch-call state to avoid task leaks
    • Fix DistWorkerCleaner halting
    • Schedule on-demand hint/confirm timeout to keep the fetch loop running
  • Enhancements:
    • Add API to retrieve inbox state
    • Report drop events on delete
    • New event for successful retained-message matching
    • RedundantRangeRemovalBalancer detects and removes zombie ranges
    • Add @JsonMerge to service config classes to simplify config merging

2. Simplify client range router patching mechanism
2. Only report tenant metrics from leader co-proc
2. adjust default values of gc params
1. do not early confirm when single node
2. reduce message complexity
2. Fix potential consistency issue in TenantRouteCache and TopicIndex
2. try drain staging buffer immediately after buffering message
}
List<CompletableFuture<Void>> distFutures = new LinkedList<>();
ConcurrentMap<String, TopicFanout.Builder> tenantTopicFanOuts = new ConcurrentHashMap<>();
ConcurrentMap<String, Map<String, AtomicInteger>> tenantTopicFanOuts = new ConcurrentHashMap<>();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like "tenantTopicFanOuts" is a local var, is it possiable to use HashMap and Integer for fanout tracking?


public void reset(boolean abort) {
if (abort) {
batchedTasks = new LinkedList<>();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For batch schedulers, some are Dequeue with length limit some are unbounded. Here is a linked list. So what is the design tradeoff behind that?

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.

2 participants