ai-yang opened a new pull request, #758:
URL: https://github.com/apache/rocketmq-dashboard/pull/758

   ## Summary
   
   - give ACL rule updates atomic replace semantics instead of unconditional 
upsert semantics
   - return `404` when the requested rule ID no longer exists
   - preserve the stored creation timestamp during a successful replacement 
without mutating the request object
   - cover the service/repository behavior and the controller error response
   
   Fixes #757.
   
   ## Root cause
   
   `AclService.updateRule` delegated to the same `saveRule` operation as the 
create path. The in-memory repository implements that operation with 
`ConcurrentHashMap.put`, so an update for an unknown ID silently inserted a new 
rule and returned success. The replacement now uses `computeIfPresent` and 
publishes a detached value while retaining the stored `createdAt`.
   
   ## Verification
   
   - unmodified Java 21 baseline: deterministic regression failed in 5/5 
isolated Maven processes
   - fixed targeted regressions: 20 isolated Java 21 Maven processes, 3/3 each 
(60/60)
   - complete backend suite: 489 tests, 0 failures, 0 errors, 0 skipped
   - Maven package: passed
   - Checkstyle: passed
   - `git diff --check`: passed
   


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