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
delete-user-data kit/extension parity. Priority: critical. User data is left undeleted, and no error is reported.
Difference
The kit's functions use the 2nd gen defaults, so one instance takes up to 80 events at once. The extension's 1st gen functions take one event per instance. When auto-discovery fans out, many handleSearch events land on the same kit instance and it goes over 256 MiB. Every event in flight on that instance is then lost: retries are off, and Cloud Run still logs the requests as 200.
Extension and kit deployed side by side with the same config: auto-discovery depth 1, 20 root collections × 2,500 docs, and one user-owned doc in each collection. Then one user was deleted.
Extension: 20/20 user docs deleted.
Kit: 1/20 deleted. Logs show Memory limit of 256 MiB exceeded and 18 × The request failed because ... connection to the instance had an error.
Kit redeployed with concurrency: 1, cpu: "gcf_gen1": 20/20 deleted, no errors.
Kit: no runtime options on clearData, handleSearch or handleDeletion (index.ts#L112-L135).
Resolution
Declare concurrency: 1 and cpu: "gcf_gen1" on all three functions, as #3209 (firestore-bigquery-export) and #3233 (firestore-send-email) do. #3206 already sets concurrency: 1 (and internal-only ingress) for this kit, but it is open with conflicts. Either land the delete-user-data part on its own with cpu added, or add cpu to #3206.
Intentional difference
Ingress is always ALLOW_INTERNAL_ONLY, the extension's default. The extension's install-time ingress setting, which ext:migrate carries over with setGlobalOptions, doesn't apply to the kit. Recorded under Intentional Differences in #3249.
The ext:migrate path has the same gap. I migrated an extension instance with firebase ext:migrate (CLI 15.31, migration template, kit from kits @ fcdd555). The kit deployed with concurrency 80, 1 vCPU, ALLOW_ALL ingress and the default 100-instance cap. The migration template copies the extension's region, memory, timeout and min instances, but not concurrency or CPU, and the export has no ingress setting. So the kit itself needs to declare these.
Activity
delete-user-datakit tracking issue #3249CorieW commentedon Oct 20, 2026
The
ext:migratepath has the same gap. I migrated an extension instance withfirebase ext:migrate(CLI 15.31, migration template, kit fromkits@ fcdd555). The kit deployed with concurrency 80, 1 vCPU,ALLOW_ALLingress and the default 100-instance cap. The migration template copies the extension's region, memory, timeout and min instances, but not concurrency or CPU, and the export has no ingress setting. So the kit itself needs to declare these.fix(delete-user-data): match the extension's cpu, concurrency and ing…