You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
�rchiveGivenActionCollection iterates child JS actions and calls �rchiveGivenNewAction on each. Errors from that call are caught and swallowed via onErrorResume(throwable -> Mono.empty()). The parent ActionCollection is then archived unconditionally, regardless of how many child actions actually failed. Failed child actions remain as orphaned NewAction documents in MongoDB.
The same pattern exists in deleteUnpublishedActionCollection at lines 310-323.
Failure scenario
User deletes a JS query collection containing 5 actions.
�rchiveGivenNewAction fails for action 3 (transient MongoDB error).
The error is logged but swallowed - action 3 remains in the
ewAction collection.
The parent ActionCollection is archived.
Action 3 is now orphaned: invisible in the UI, unreachable through normal delete flows, but still returned by indByCollectionId queries and counted in analytics/audit logs.
Over time these orphaned documents accumulate, inflating collection sizes and causing phantom results in action queries.
Fix
Propagate the error instead of swallowing it, or collect failures and surface them after the bulk operation:
Activity
linear-code commentedon Aug 13, 2026
APP-15791
test(actionCollections): add regression test for error propagation in…