Skip to content

Throttle async pipe sink on receiver reject#17928

Merged
jt2594838 merged 2 commits into
masterfrom
fix-pipe-receiver-backpressure
Jun 17, 2026
Merged

Throttle async pipe sink on receiver reject#17928
jt2594838 merged 2 commits into
masterfrom
fix-pipe-receiver-backpressure

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

Summary

  • add per-receiver endpoint backoff in the async data region pipe sink when the receiver reports temporary unavailable/write reject
  • record receiver status in the common async transfer handler and wait before subsequent sends to the same endpoint
  • cover the common handler behavior with a focused unit test

Tests

  • mvn "-Ddevelocity.off=true" spotless:apply -pl iotdb-core/datanode
  • git diff --check
  • mvn "-Ddevelocity.off=true" -pl iotdb-core/datanode "-Dtest=PipeTransferTrackableHandlerTest" test (fails during existing datanode compile errors unrelated to this change, e.g. missing PipePeriodicalLogReducer, parser identifier(), CalcMessages fields)

@codecov

codecov Bot commented Jun 12, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 14.77273% with 75 lines in your changes missing coverage. Please review.
✅ Project coverage is 41.04%. Comparing base (aec7dfb) to head (79c41c5).
⚠️ Report is 11 commits behind head on master.

Files with missing lines Patch % Lines
...rotocol/thrift/async/IoTDBDataRegionAsyncSink.java 3.12% 62 Missing ⚠️
...ft/async/handler/PipeTransferTrackableHandler.java 45.83% 13 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             master   #17928     +/-   ##
===========================================
  Coverage     41.04%   41.04%             
  Complexity      318      318             
===========================================
  Files          5252     5258      +6     
  Lines        364388   365618   +1230     
  Branches      47096    47276    +180     
===========================================
+ Hits         149551   150083    +532     
- Misses       214837   215535    +698     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sonarqubecloud

Copy link
Copy Markdown

@jt2594838 jt2594838 merged commit 757f900 into master Jun 17, 2026
43 of 45 checks passed
@jt2594838 jt2594838 deleted the fix-pipe-receiver-backpressure branch June 17, 2026 01:04
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