Skip to content

[To dev/1.3] Fix repeated RPC dispatch reusing a released FragmentInstanceContext (NPE)#18235

Merged
JackieTien97 merged 1 commit into
dev/1.3from
ty/cp-17794-dev-1.3
Jul 17, 2026
Merged

[To dev/1.3] Fix repeated RPC dispatch reusing a released FragmentInstanceContext (NPE)#18235
JackieTien97 merged 1 commit into
dev/1.3from
ty/cp-17794-dev-1.3

Conversation

@JackieTien97

Copy link
Copy Markdown
Contributor

Summary

Backport #17794 (958ce45b13722f04bbc3837ab76caad207e15216) to dev/1.3.

  • add the non-retryable REPEATED_RPC_CALL status code
  • reject repeated FragmentInstance dispatches before reusing a cached, released context
  • preserve IoTDBRuntimeException status codes in both consensus-read and VirtualDataRegion paths
  • avoid retrying a remote dispatch after the query has timed out
  • map QueryTimeoutRuntimeException to QUERY_TIMEOUT
  • add regression coverage for repeated RPC status propagation

dev/1.3 adaptation

The conflicts were resolved against the branch's existing APIs and logging style: the pre-verbose createFragmentInstanceContext overload and inline log messages are retained, without pulling unrelated master-only i18n or verbose-query changes into the backport.

Validation

  • mvn clean test -pl iotdb-core/datanode -am -Dtest=RegionReadExecutorTest -Dsurefire.failIfNoSpecifiedTests=false
    • BUILD SUCCESS
    • RegionReadExecutorTest: 6 tests passed, 0 failures, 0 errors
    • Checkstyle and Spotless checks passed

@sonarqubecloud

Copy link
Copy Markdown

@JackieTien97
JackieTien97 marked this pull request as ready for review July 17, 2026 09:43
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 33.33333% with 32 lines in your changes missing coverage. Please review.
✅ Project coverage is 43.79%. Comparing base (8b10792) to head (0fe3f1a).

Files with missing lines Patch % Lines
...ne/execution/fragment/FragmentInstanceManager.java 0.00% 23 Missing ⚠️
...plan/scheduler/FragmentInstanceDispatcherImpl.java 0.00% 8 Missing ⚠️
.../org/apache/iotdb/db/utils/ErrorHandlingUtils.java 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             dev/1.3   #18235   +/-   ##
==========================================
  Coverage      43.78%   43.79%           
  Complexity       198      198           
==========================================
  Files           3633     3633           
  Lines         244245   244280   +35     
  Branches       29809    29812    +3     
==========================================
+ Hits          106954   106979   +25     
- Misses        137291   137301   +10     

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

@JackieTien97
JackieTien97 merged commit e86ef39 into dev/1.3 Jul 17, 2026
19 checks passed
@JackieTien97
JackieTien97 deleted the ty/cp-17794-dev-1.3 branch July 17, 2026 12:07
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