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]
