Thanks Vignesh.
I've commented on the PR.

On Mon, Oct 5, 2026 at 11:17 AM vignesh a <[email protected]> wrote:

> Hi,
>
> Opened a small fix for NoSQL maintenance where spilled index stripes can
> get purged even though the catalog still needs them [1].
>
> Once an index goes past maxEmbeddedIndexSize, the entries live in
> IndexStripeObj (ix). CatalogRetainedIdentifier walks things like
> nameToObjRef / acls / policy mappings during identify, but only
> indexRetain’s a subset (stableIdToName, locations, changes).
> refRetainIndexToSingleObj keeps the entity objs, not the stripe segments.
> After purge the next read can fail with “references a reference index,
> which does not exist”.
>
> The PR makes refRetainIndexToSingleObj also indexRetain the IndexContainer
> it walks, and fills in the manual walks (CatalogsObj.nameToObjRef, policy
> mappings, PrincipalsObj.byClientId). There’s a regression that lowers
> maxEmbeddedIndexSize so spill actually happens in the test..
>
> Curious if auto-retaining inside refRetainIndexToSingleObj feels right, or
> if you’d rather keep that explicit at every caller. Also if there are other
> indexes we should be keeping that identify doesn’t walk today.
>
> Thanks
> *Vignesh*
>
> [1] https://github.com/apache/polaris/pull/5701
>

Reply via email to