0AyanamiRei opened a new pull request, #68275:
URL: https://github.com/apache/doris/pull/68275

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Related PR: selectdb/selectdb-core#12025, apache/doris#60953
   
   Problem Summary: With enable_memtable_on_sink_node enabled, destinations
   report final tablet results to their last closing streams, which can belong
   to different source BEs. A source receiving one failed replica and no local
   success records incorrectly rejects an INSERT even when two replicas succeed.
   Count distinct failed backend IDs together with version-gap backends and
   reject only when known failures exceed the tolerated count. Continue sending
   successful commit records to FE for its aggregate quorum check.
   
   Add table-scoped fault injection to force results to different sources,
   three unit tests, and an INSERT regression with generated expected output.
   On master, save session variables through SELECT @@ to support experimental
   variables. Keep test tables and compare row counts and both set differences.
   
   ### Release note
   
   Fix false INSERT quorum failures when replica results are reported to
   different source BEs while preserving version-gap handling.
   
   ### Check List (For Author)
   
   - Test: Unit Test / Regression test / Manual test
       - BUILD_TYPE=ASAN ./build.sh --be --fe -j48: passed
       - ./run-be-ut.sh --run --filter='TestVTabletWriterV2.*' -j48: 19 passed
       - test_insert_quorum_split_reports and 
test_multi_replica_fault_injection:
         2 suites passed on a local one-FE/three-BE cluster; 2048 rows, 0 
differences
       - clang-format 16, build hygiene, and git diff --check passed
       - clang-tidy blocked by pre-existing unmatched NOLINTEND in 
core/types.h:576;
         final diagnostics contain no warnings on modified lines
   - Behavior changed: Yes. Missing local success reports no longer cause false
     quorum failures; write failures and version gaps remain counted.
   - Does this need documentation: No
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to