DanielLeens commented on PR #10680:
URL: https://github.com/apache/seatunnel/pull/10680#issuecomment-5412582707

   Hi @SEZ9 and @xyueji, before going further with the rebase plan I want to 
flag something that changes the picture here.
   
   I independently re-checked the merge conflict just now with `git merge-tree` 
against the current `dev` HEAD, and confirmed it live via the GitHub API 
(`mergeable: CONFLICTING`, `mergeStateStatus: DIRTY`). The conflict is entirely 
inside the same two files this PR touches: `StarRocksSinkManager.java` and 
`StarRocksStreamLoadVisitor.java`.
   
   Tracing why: `dev` already contains commit `46fefa7c61` — 
**[Fix][Connector-V2] Prevent silent StarRocks batch data loss (#11431)**, 
merged 2026-07-21, authored by @davidzollo. Its own PR description says 
explicitly: *"Related to #10680. Thanks to @xyueji for identifying the 
label-reuse failure mode."* That patch:
   - retains the pending rows and Stream Load label across failed `flush()` 
calls instead of clearing the batch,
   - queries the existing label's state before deciding to finish or retry,
   - creates a replacement label only when StarRocks reports `ABORTED`,
   - adds a regression matrix covering 
`VISIBLE`/`COMMITTED`/`ABORTED`/`UNKNOWN`/retry-exhaustion/interruption for 
exactly this scenario.
   
   That is functionally the same fix this PR's own commit `0570563e5b` 
describes ("checks the existing StarRocks label state before deciding whether 
to finish or retry, only creates a new label after an ABORTED transaction, 
preserves the batch for UNKNOWN/errors/interruption"), and it's why the 
conflict lands in exactly these two methods — `dev` didn't drift incidentally, 
it independently solved the same problem this branch is solving.
   
   So the concrete question before anyone spends effort on a 657-commit rebase: 
**is there anything in this branch's approach that `dev`'s current 
`StarRocksSinkManager`/`StarRocksStreamLoadVisitor` (post-#11431) doesn't 
already cover?** If not, the right outcome is closing this PR as superseded by 
#11431 rather than carrying the rebase/CI-retrigger/approval sequence forward 
for a fix that already shipped. If there is a real gap #11431 missed, that's 
worth stating explicitly so the remaining work is scoped to the delta, not a 
full resync.
   
   @xyueji, could you take a look at the current `dev` implementation of those 
two files and confirm either way? That's a faster path to closure than the 
rebase-then-CI-then-approval sequence discussed above, and avoids duplicating 
test coverage that already exists on `dev`.


-- 
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]

Reply via email to