justinmclean opened a new issue, #10169:
URL: https://github.com/apache/gravitino/issues/10169

   ### What would you like to be improved?
   
   AsyncQueueListener.logDropEventsIfNecessary() uses atomic counters, but its 
60-second log-throttling timestamp (lastRecordDropEventTime) is unsynchronized 
shared state. Under concurrent drops, threads can evaluate the time gate with 
stale data, causing throttling to break (duplicate warnings within the same 
window, or incorrect skip behavior).
   
   
   ### How should we improve?
   
   Make the rate-limit decision and update the atomic state across both the 
counter and timestamp. A minimal fix is to ensure visibility of the timestamp 
(e.g., with volatile) and keep update ordering consistent; a stronger fix is to 
guard the entire check-and-update block with a lock (or equivalent atomic 
structure) so that “time gate + counter CAS + timestamp update” behaves as a 
single critical section.


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