xiangfu0 opened a new pull request, #19468:
URL: https://github.com/apache/pinot/pull/19468

   Deleting a table removes its manager before shutdown finishes. A concurrent 
segment transition can therefore initialize a replacement for the same table 
while the old owner's resources are still live; the old shutdown can then 
remove the lease extender that the replacement reused, leaving later consuming 
segments with a null extender during commit.
   
   Serialize manager creation and deletion with lifecycle locks, holding the 
lock through old-manager shutdown and releasing it before segment-add 
callbacks. Shutdown stays outside the map computation. The locks use a bounded 
set of stripes, so colliding table names can wait together; existing in-flight 
segment additions and exceptional shutdown cleanup retain their current 
behavior.
   
   Validation: 13 focused unit cases passed 
(`HelixInstanceDataManagerLifecycleTest` and `HelixInstanceDataManagerTest`), 
with zero failures or skips. Both recreation regressions fail with the old 
runtime ordering. Spotless, Checkstyle, license formatting/checks and 
warning-enabled compilation passed; reported deprecations are on existing code.
   


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to