Repository navigation
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #19125 +/- ##
============================================
- Coverage 48.76% 48.75% -0.01%
- Complexity 674 689 +15
============================================
Files 5574 5588 +14
Lines 412340 412780 +440
Branches 54379 54406 +27
============================================
+ Hits 201068 201243 +175
- Misses 211272 211537 +265 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Revert the prior approach that exposed the complete client RPC surface by inheritance and renamed internal RPC methods. The replacement will keep IDataNodeRPCService stable and multiplex the client service on the existing internal endpoint.
Preserve IDataNodeRPCService as the default internal processor and expose IClientRPCService through a service-name prefix on the same endpoint. Add internal session, table pool, subscription, reconnect, and SSL support with passwordless internal login constrained by account policy.
Verify multiplexed and default processor routing, session reconnects, subscription SSL forwarding, and an internal-session integration path.
# Conflicts: # iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java # iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Description
Allow trusted internal callers to reuse the client session protocol on the existing DataNode internal endpoint without changing the legacy internal RPC protocol.
RPC routing and compatibility
IDataNodeRPCServiceas an independent service and preserve all existing internal RPC method names and semantics.IDataNodeRPCServiceprocessor.IClientRPCServiceunder the service name prefixIClientRPCService:on the samedn_internal_port.On the client side,
TBinaryProtocolorTCompactProtocolis wrapped byTMultiplexedProtocolfor internal sessions. The service name is retained across reconnects.Internal sessions
IInternalSessionBuilder<T>andbuildInternal(INodeSupplier)entry points for tree sessions, table sessions, table pools, subscription-management sessions, and table pull consumers.INodeSupplierlifecycle outside the session.Authentication and trust boundary
Internal client RPC is used for communication between trusted internal nodes through the DataNode internal endpoint. It is separate from the client-facing RPC service and relies on operator-controlled network isolation for the cluster internal network.
The internal login path therefore trusts the username supplied by the internal caller and does not require a password. It still validates that the user exists and applies the configured account login policy. Existing operation-level authorization, quota, and query-ownership checks remain in effect. External clients continue to use the normal password/TOTP authentication flow on the client RPC endpoint.
Session lifecycle
Validation
git diff --checkpassed.