Skip to content

Avoid unnecessary IoTConsensus batch accumulation delay - #18522

Open
Caideyipi wants to merge 1 commit into
apache:masterfrom
Caideyipi:fix/iot-consensus-batch-accumulation
Open

Avoid unnecessary IoTConsensus batch accumulation delay#18522
Caideyipi wants to merge 1 commit into
apache:masterfrom
Caideyipi:fix/iot-consensus-batch-accumulation

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

What is changed?

The accumulation/config-reload changes from #18501 are preserved, but the dispatcher no longer sleeps for the full accumulation interval after a batch has already filled. It now waits on the pending-entry queue with a deadline and stops immediately when the configured entry limit is reached.

This removes the sustained-write throughput regression in IoTConsensus; IoTv2 does not use this dispatcher path. A regression test covers the full-batch case.

How Has This Been Tested?

  • mvn -pl iotdb-core/consensus -Dtest=LogDispatcherTest test
  • mvn -pl iotdb-core/consensus test (fails in unrelated IoTConsensusRPCServiceProcessorTest.testMissingConsensusGroupReturnsSpecificStatus: expected 2206, actual 305)
  • mvn spotless:apply -pl iotdb-core/consensus
  • git diff --check

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