Skip to content

Add SHOW RECEIVERS support - #17869

Merged
jt2594838 merged 54 commits into
masterfrom
feat/show-receivers
Sep 14, 2026
Merged

jt2594838 merged 54 commits into
masterfrom
feat/show-receivers

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

Summary

  • add tree-model SHOW RECEIVERS and table-model information_schema.receivers support
  • track active pipe receiver sessions, sender endpoints, pipe IDs, handshake/transfer timestamps, and request counts
  • wire DataNode/ConfigNode thrift and air-gap receiver runtime recording

Tests

  • mvn "-Ddevelocity.off=true" -pl iotdb-core/node-commons -Dtest=PipeReceiverRuntimeRegistryTest test
  • mvn "-Ddevelocity.off=true" -DskipTests compile -pl iotdb-core/antlr,iotdb-core/relational-grammar,iotdb-core/node-commons,iotdb-core/confignode
  • mvn "-Ddevelocity.off=true" -DskipTests spotless:check -pl iotdb-core/node-commons,iotdb-core/datanode,iotdb-core/confignode,iotdb-core/relational-grammar,iotdb-core/antlr
  • git diff --check

Notes

  • DataNode focused compile is still blocked by unrelated generated Freemarker/calc symbols such as IFill, LinearFill, Accumulator, ComparatorChain, and IoTDBConfig.getModeMapSizeThreshold().
  • ConfigNode receiver records proxied through DataNode use receiver_node_id = -1 because the current proxy path does not expose the exact target ConfigNode id.

@Caideyipi
Caideyipi marked this pull request as ready for review June 11, 2026 10:46
@codecov

codecov Bot commented Jun 11, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 53.17797% with 442 lines in your changes missing coverage. Please review.
✅ Project coverage is 42.81%. Comparing base (9d91245) to head (f808ea4).
⚠️ Report is 23 commits behind head on master.

Files with missing lines Patch % Lines
...eceiver/protocol/thrift/IoTDBDataNodeReceiver.java 10.83% 107 Missing ⚠️
...mmons/pipe/sink/client/IoTDBSyncClientManager.java 0.00% 60 Missing ⚠️
...ipe/receiver/protocol/IoTDBConfigNodeReceiver.java 0.00% 25 Missing ⚠️
...b/queryengine/plan/planner/LogicalPlanBuilder.java 0.00% 24 Missing ⚠️
...db/pipe/sink/protocol/writeback/WriteBackSink.java 62.00% 19 Missing ⚠️
...db/db/queryengine/plan/analyze/AnalyzeVisitor.java 0.00% 18 Missing ⚠️
...gent/task/subtask/sink/PipeSinkSubtaskManager.java 0.00% 14 Missing ⚠️
.../pipe/agent/task/subtask/sink/PipeSinkSubtask.java 13.33% 13 Missing ⚠️
...ueryengine/plan/planner/OperatorTreeGenerator.java 0.00% 13 Missing ⚠️
...e/iotdb/commons/pipe/agent/task/PipeTaskAgent.java 13.33% 13 Missing ⚠️
... and 31 more
Additional details and impacted files
@@             Coverage Diff              @@
##             master   #17869      +/-   ##
============================================
+ Coverage     42.65%   42.81%   +0.16%     
- Complexity      414      442      +28     
============================================
  Files          5451     5451              
  Lines        394061   395406    +1345     
  Branches      51608    51798     +190     
============================================
+ Hits         168089   169303    +1214     
- Misses       225972   226103     +131     

☔ 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.

Caideyipi added 22 commits June 18, 2026 09:37
# Conflicts:
#	iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiverTest.java
# Conflicts:
#	iotdb-core/relational-grammar/src/main/antlr4/org/apache/iotdb/db/relational/grammar/sql/RelationalSql.g4
…ow-receivers

# Conflicts:
#	iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/writeback/WriteBackSink.java
#	iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
#	iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
#	iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/StatementVisitor.java
#	iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/sink/PipeSinkTest.java
# Conflicts:
#	iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/receiver/protocol/IoTDBConfigNodeReceiver.java
#	iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiver.java
#	iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/receiver/IoTDBFileReceiver.java
…ow-receivers

# Conflicts:
#	iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/sink/PipeSinkTest.java
…ow-receivers

# Conflicts:
#	integration-test/src/test/java/org/apache/iotdb/pipe/it/single/IoTDBPipeReceiverIT.java
#	integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBDatabaseIT.java
#	iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/receiver/protocol/airgap/IoTDBAirGapReceiverTest.java
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

…ow-receivers

# Conflicts:
#	iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/sink/PipeSinkSubtaskManager.java
#	iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/client/ConfigNodeClient.java
#	iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/client/ConfigNodeInfo.java
@apache apache deleted a comment from Caideyipi Sep 14, 2026
@jt2594838
jt2594838 merged commit 63ae0f3 into master Sep 14, 2026
39 of 40 checks passed
@jt2594838
jt2594838 deleted the feat/show-receivers branch September 14, 2026 06:18
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