Hi all, Quick follow-up on the cleanup gating for Phase 1: holding the identifier until the entity cleanup and its child tasks finish, then releasing it.
While implementing this, I found that the coupling is in the metastore manager. dropEntityIfExists removes the entity (freeing the name) and schedules the cleanup task in the same transaction, by design. To keep the name reserved until cleanup completes, I'd need to separate these operations: keep the dropped entity, schedule cleanup, and remove the entity only after the cleanup task and its child tasks have finished. We don't currently have a way to detect when a task tree has completed. Tasks are fire-and-forget and self-remove on success, so I'd also need to add a small completion check. This touches PolarisMetaStoreManager, which has both JDBC (atomic and transactional) and NoSQL implementations. I wanted to check the direction before coding, in line with our interface-change guidance. Does keeping the entity reserved and gating its removal on cleanup completion sound right, or would you prefer a different approach, such as a dedicated purge task that handles the final entity removal? Thanks, Prithvi >
