btlqql opened a new issue, #2484:
URL: https://github.com/apache/rocketmq-dashboard/issues/2484

   ## Problem
   
   `AuthService` first counts the enabled administrators and then performs the 
update without shared protection. Two concurrent requests disabling different 
administrators can both read a count of 2 and both proceed, leaving the system 
with zero enabled administrators.
   
   Location: 
`server/src/main/java/org/apache/rocketmq/studio/auth/AuthService.java` 
(disable path).
   
   ## Expected behavior
   
   "Confirm at least one other enabled administrator remains" and the disable 
update run under the same protection (lock the enabled-administrator rows, or 
use a conditional atomic update), so at most one of two concurrent disables of 
the last two administrators succeeds and the other fails with 409.
   
   ## Verification
   
   Concurrency test with two threads and a barrier: exactly one disable 
succeeds, the other returns 409.
   


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