Skip to content

Isolate Pipe leader caches by receiver endpoints - #19064

Open
Caideyipi wants to merge 1 commit into
apache:masterfrom
Caideyipi:fix/pipe-realtime-forwarding-20261030
Open

Caideyipi wants to merge 1 commit into
apache:masterfrom
Caideyipi:fix/pipe-realtime-forwarding-20261030

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

Problem

When a sender writes the same device paths to multiple receiving clusters, the shared Pipe leader cache used only the device ID as its key. A redirect learned from one receiver could therefore route another sink's requests to that receiver, while the request still completed successfully.

Fix

  • Scope cached leaders by normalized configured receiver endpoints and device ID.
  • Resolve async, sync, and tablet-batch routing through each sink's client manager.
  • Preserve the existing bounded shared cache and keep transports without leader redirection on the default batch path.

Tests

  • IoTDBDataNodeAsyncClientManagerTest: 6 tests passed.
  • PipeTransferBatchReqBuilderTest: 4 tests passed.
  • IoTDBPipeForwardIT: 2 tests passed, including a three-cluster regression that writes directly to the middle cluster and verifies all clusters receive 60,000 points per device.
  • English and Chinese locale compilation passed for the changed module and dependency closure.

@Caideyipi
Caideyipi marked this pull request as ready for review October 30, 2026 08:31
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