Follow-up from #452. The migration wizard (spp.encryption.migration.wizard) processes each field in batches within one synchronous transaction — honest and safe for the data volumes of a fresh deployment, but a table with millions of classified rows would hold a long transaction and tie up the HTTP worker.
When a real large-scale adopter appears, move the migrate step to odoo-job-worker jobs (one job per field or per batch range), with:
- progress reporting back to the wizard (or a migration-run model the wizard polls)
- per-batch commit semantics and resumability
- the same failed-record isolation the synchronous path has (failed ids excluded, reported per field)
Not needed before the first spp.encrypted.field.mixin adopter lands (see the gate in #451); sized for whoever wires up the first big migration.
Follow-up from #452. The migration wizard (
spp.encryption.migration.wizard) processes each field in batches within one synchronous transaction — honest and safe for the data volumes of a fresh deployment, but a table with millions of classified rows would hold a long transaction and tie up the HTTP worker.When a real large-scale adopter appears, move the migrate step to odoo-job-worker jobs (one job per field or per batch range), with:
Not needed before the first
spp.encrypted.field.mixinadopter lands (see the gate in #451); sized for whoever wires up the first big migration.