mikebridge commented on PR #43490: URL: https://github.com/apache/superset/pull/43490#issuecomment-5637558385
@sadpandajoe — thanks for the careful reviews. The two older threads (force-purge exemption, the UPDATING key/default) are resolved. On the lock-hold concern (`prune_audit.py:436`): reworked in `ad34aeee0f`. Discovery now runs **unlocked** (a ≤500-id hint), then under the coordination lock a re-check re-applies the same candidacy predicates and deletes survivors by literal id — so the locked work is bounded to per-PK + per-entity index probes, not an O(blocked-rows) scan. The streak boundary is now a correlated per-entity scalar shared by both discovery and re-check (one predicate list, so they can't drift), and the backdated-write invariant holds — a row a concurrent `write_ahead` turns into a survivor between discovery and the lock fails the re-check and isn't deleted. Added a two-session test that commits a pending row in the discovery→lock window under **REPEATABLE READ** (fails without the fix, passes with it). Mind taking another look? Happy to walk through any of it. -- 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]
