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

>

Reply via email to