Parse job_arguments returned by Postgres.ai

What does this MR do and why?

Postgres.ai returns jsonb columns as Strings, and BatchedMigration does not parse them. When the queueing migration has been squashed, Keeps::OverdueFinalizeBackgroundMigration builds the finalize migration from that record, so job_arguments was written as ["[]"]. ensure_batched_background_migration_is_finished then matches no batched migration and finalizes nothing.

This parses job_arguments before building the record.

References

How to set up and validate locally

bundle exec rspec spec/keeps/overdue_finalize_background_migration_spec.rb

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #596337

Merge request reports

Loading
Loading