hutiefang76 opened a new issue, #12656:
URL: https://github.com/apache/seatunnel/issues/12656

   ### Search before asking
   
   - [x] Searched current issues and pull requests; related prior work is 
identified below.
   
   ### What happened
   
   `RetryUtils.retryWithException` repeats an operation rejected by its retry 
condition when `shouldThrowException` is false. The non-retriable branch only 
stops in throwing mode; otherwise the loop continues and can repeat side 
effects. Expected: execute once and return null.
   
   ### SeaTunnel Version
   
   dev at 11e4f5554973a66ba2d63d4df18ee22f10be121f. No claim about untested 
releases.
   
   ### SeaTunnel Config
   
   Not applicable: this is the shared Java utility contract, not a connector 
configuration.
   
   ### Running Command
   
   Invoke the public utility with `new RetryUtils.RetryMaterial(3, false, e -> 
false)` and an execution that increments an AtomicInteger then throws an 
IllegalStateException. After the call returns, assert the result is null and 
the invocation count is 1.
   
   ### Error Exception
   
   The result is null, but the invocation count is 3 instead of 1. This is a 
behavioral error rather than a missing log or exception.
   
   ### Zeta or Flink or Spark Version
   
   Not required for the isolated utility/format reproduction.
   
   ### Java or Scala Version
   
   JDK 17.0.18; regression cases also passed on JDK 1.8.0_492 in the original 
local repair batch.
   
   ### Anything else
   
   Existing retry-related RocketMQ changes concern connector routes/IT 
retrying. This report is limited to the shared utility's non-throwing mode; 
in-tree production callers inspected use throwing mode.
   
   ### Are you willing to submit PR?
   
   - [x] Yes I am willing to submit a PR.
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's Code of Conduct.
   
   AI assistance: DeepSeek and Codex assisted reproduction, implementation, 
tests and this description.
   


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