Dedup incremental checkpoint blobs for redundant delta sends

What & why

Make incremental checkpoint blob storage idempotent so that a redundant re-send of the same channel delta is skipped rather than duplicated. This is a safe follow-up to the incremental-checkpoint write path (gitlab-org/gitlab!239247), landing before the gateway starts sending deltas redundantly (for resilience against failed requests) and before the read/reconstruction fold goes live — whichever ships first is the deadline.

Today created_at is Time.current per request, so retries never collide on the unique index and would double-store.

How

  • Deterministic created_at — derived from thread_ts (the LangGraph checkpoint id, a UUID whose leading bits encode the creation time: v6 from the gateway, v7 in specs). A retry therefore produces an identical unique-index key and lands in the same daily partition.
  • step_action added to the unique index — new idx_duo_wf_checkpoint_blobs_dedup on (project_id, workflow_id, thread_ts, channel, version, step_action, created_at), replacing idx_duo_wf_checkpoint_blobs_unique. A conversation (tail delta) and a compaction (full value) can share a (channel, version); keying on step_action keeps them from collapsing into one row under ON CONFLICT DO NOTHING. created_at stays in the key because a partitioned table's unique index must include the partition key.
  • bulk_insert!(skip_duplicates: true, unique_by: :idx_duo_wf_checkpoint_blobs_dedup)unique_by is required: otherwise BulkInsertSafe targets the composite [id, created_at] primary key, whose trigger-assigned id never collides, so dedup would silently no-op.

The migration is a regular (not post-deploy) migration so the new index exists before the code that names it deploys.

Out of scope

The read/reconstruction fold is not touched: no such path exists in Rails yet (only the write flag duo_workflow_incremental_checkpoints). Its idempotent compaction-precedence lands with that path. Confirmed with the issue author that a restart cannot re-emit an already-persisted version as a compaction, so the dual-representation collision is only theoretical — step_action in the index is kept as low-cost insurance on that invariant.

Testing

  • CheckpointBlob.created_at_from_thread_ts unit specs (v6, v7, deterministic, non-time-UUID fallback).
  • Service specs: created_at derived from thread_ts; a redundant re-send is skipped; a compaction re-send at an already-stored (channel, version) is stored alongside the conversation delta.
  • db/structure.sql regenerated; migration reversible (up/down).

Database

Migration on the new, small, transient p_duo_workflows_checkpoint_blobs partitioned table: swaps one unique index for another (concurrent, per partition). Regular (not post-deploy) migration so the new index exists before the code naming it deploys. Reversible. Requesting database review.

Query plan

The only consumer of the new index is the bulk_insert!(skip_duplicates: true, unique_by: :idx_duo_wf_checkpoint_blobs_dedup) — an INSERT … ON CONFLICT DO NOTHING. The read/reconstruction path is out of scope and does not exist yet, so there is no SELECT plan to show. EXPLAIN confirms Postgres picks the new 7-column index as the conflict arbiter:

EXPLAIN INSERT INTO p_duo_workflows_checkpoint_blobs
  (project_id, workflow_id, thread_ts, channel, version, step_action,
   write_type, data, current_thread, created_at, updated_at)
VALUES (24, 582, '1f1706fd-9fab-6386-bfff-b4040df83a3c', '__start__', '1',
        'compaction', 'msgpack', '\x00'::bytea, 0,
        '2026-06-25 08:28:32.663407+00', now())
ON CONFLICT (project_id, workflow_id, thread_ts, channel, version, step_action,
             created_at) DO NOTHING;
 Insert on p_duo_workflows_checkpoint_blobs  (cost=0.00..0.01 rows=0 width=0)
   Conflict Resolution: NOTHING
   Conflict Arbiter Indexes: idx_duo_wf_checkpoint_blobs_dedup
   ->  Result  (cost=0.00..0.01 rows=1 width=244)

EXPLAIN (ANALYZE, BUFFERS, VERBOSE) re-sending an already-stored row (run in a transaction and rolled back) — the redundant blob is skipped via the arbiter:

 Insert on public.p_duo_workflows_checkpoint_blobs  (actual time=0.725..0.725 rows=0 loops=1)
   Conflict Resolution: NOTHING
   Conflict Arbiter Indexes: idx_duo_wf_checkpoint_blobs_dedup
   Tuples Inserted: 0
   Conflicting Tuples: 1
   Buffers: shared hit=221 dirtied=1
   ->  Result  (cost=0.00..0.01 rows=1 width=244) (actual time=0.001..0.001 rows=1 loops=1)
 Planning Time: 0.122 ms
 Trigger assign_..._id_trigger on p_duo_workflows_checkpoint_blobs_20260625: time=0.115 calls=1
 Execution Time: 0.933 ms

Migration output

Per-partition add_index/remove_index blocks repeat once per daily partition (local GDK has ~40); trimmed of advisory-lock lines.

db:migrate:up
main: == 20260701190000 ReplacePDuoWorkflowsCheckpointBlobsUniqueIndex: migrating ===
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_name_exists?(:p_duo_workflows_checkpoint_blobs, "idx_duo_wf_checkpoint_blobs_dedup")
main:    -> 0.0101s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260603", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b4bcfa217f", :algorithm=>:concurrently})
main:    -> 0.0011s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0003s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260603", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b4bcfa217f", :algorithm=>:concurrently})
main:    -> 0.0013s
main: -- execute("RESET statement_timeout")
main:    -> 0.0002s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260604", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_86a618e397", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260604", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_86a618e397", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260605", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b11bb6cbab", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260605", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b11bb6cbab", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260606", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_c2d9c97497", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260606", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_c2d9c97497", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260607", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_22e438dcac", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260607", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_22e438dcac", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260608", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_1fe4ece1fe", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260608", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_1fe4ece1fe", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260609", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_4b768faf07", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260609", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_4b768faf07", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260610", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b91033746a", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260610", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b91033746a", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260611", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_1cc3d6ab35", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260611", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_1cc3d6ab35", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260612", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_2a8d34d044", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260612", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_2a8d34d044", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260613", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_33b7dfda66", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260613", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_33b7dfda66", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260614", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_463f842827", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260614", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_463f842827", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260615", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_1b7d0f4c2a", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260615", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_1b7d0f4c2a", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260616", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_2da31a9ac7", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260616", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_2da31a9ac7", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260617", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_ca644feb04", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260617", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_ca644feb04", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260618", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_c90af8b377", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260618", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_c90af8b377", :algorithm=>:concurrently})
main:    -> 0.0010s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260619", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_144db42618", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260619", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_144db42618", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260620", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_73876120f5", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260620", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_73876120f5", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260621", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_029fc6a7bb", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260621", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_029fc6a7bb", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260622", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_04b2531d61", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260622", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_04b2531d61", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260623", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b302336389", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260623", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b302336389", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260624", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_71e7f54737", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260624", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_71e7f54737", :algorithm=>:concurrently})
main:    -> 0.0023s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260625", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_e392e1d59d", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260625", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_e392e1d59d", :algorithm=>:concurrently})
main:    -> 0.0009s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260626", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_4bf81e4acc", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260626", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_4bf81e4acc", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260627", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_2f8be64c83", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260627", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_2f8be64c83", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260628", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_de4ce3f091", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260628", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_de4ce3f091", :algorithm=>:concurrently})
main:    -> 0.0223s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260629", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_26e563fa8f", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260629", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_26e563fa8f", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260630", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_9eaca1b772", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260630", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_9eaca1b772", :algorithm=>:concurrently})
main:    -> 0.0009s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260701", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_c7b3bc2b76", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260701", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_c7b3bc2b76", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260702", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_444def793d", :algorithm=>:concurrently})
main:    -> 0.0009s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260702", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_444def793d", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260703", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_db63bc8389", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260703", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_db63bc8389", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260704", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_3baadc325c", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260704", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_3baadc325c", :algorithm=>:concurrently})
main:    -> 0.0009s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260705", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b4ccc889e5", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260705", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b4ccc889e5", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260706", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_97643b6066", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260706", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_97643b6066", :algorithm=>:concurrently})
main:    -> 0.0009s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260707", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_06c9b5662e", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260707", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_06c9b5662e", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260708", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_87fe8ff978", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260708", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_87fe8ff978", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260709", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_6f4bfd6228", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260709", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_6f4bfd6228", :algorithm=>:concurrently})
main:    -> 0.0009s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260710", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_5204f915e5", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260710", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_5204f915e5", :algorithm=>:concurrently})
main:    -> 0.0068s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260711", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_37df7bc961", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260711", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_37df7bc961", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260712", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_89985759cb", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260712", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_89985759cb", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260713", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b6333142ac", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260713", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b6333142ac", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260714", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_50e9e8153d", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260714", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_50e9e8153d", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260715", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_7ddde503a8", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260715", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_7ddde503a8", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260716", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_e82b14169b", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260716", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_e82b14169b", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260717", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_e59f55b49c", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260717", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_e59f55b49c", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260718", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_3d6d8e02a5", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260718", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_3d6d8e02a5", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260719", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_4751493bc9", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260719", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_4751493bc9", :algorithm=>:concurrently})
main:    -> 0.0009s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260720", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_905571e055", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260720", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_905571e055", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260721", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_5afa56c589", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260721", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_5afa56c589", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260722", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_136c2678da", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260722", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_136c2678da", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260723", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_a488252f14", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260723", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_a488252f14", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260724", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_82057a6cb3", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260724", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_82057a6cb3", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260725", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_4706aa942d", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260725", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_4706aa942d", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260726", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_3789faa304", :algorithm=>:concurrently})
main:    -> 0.0005s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260726", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_3789faa304", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260727", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_93728dfc1b", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260727", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_93728dfc1b", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260728", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_6e32ca39ba", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260728", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_6e32ca39ba", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260729", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_f0e2b21d77", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260729", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_f0e2b21d77", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260730", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_a9506fa2b7", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- add_index("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260730", [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_a9506fa2b7", :algorithm=>:concurrently})
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- add_index(:p_duo_workflows_checkpoint_blobs, [:project_id, :workflow_id, :thread_ts, :channel, :version, :step_action, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"idx_duo_wf_checkpoint_blobs_dedup"})
main:    -> 0.0026s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_name_exists?(:p_duo_workflows_checkpoint_blobs, "idx_duo_wf_checkpoint_blobs_unique")
main:    -> 0.0004s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- remove_index(:p_duo_workflows_checkpoint_blobs, {:name=>"idx_duo_wf_checkpoint_blobs_unique"})
main:    -> 0.0016s
main: == 20260701190000 ReplacePDuoWorkflowsCheckpointBlobsUniqueIndex: migrated (0.2204s) 
db:migrate:down
main: == 20260701190000 ReplacePDuoWorkflowsCheckpointBlobsUniqueIndex: reverting ===
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_name_exists?(:p_duo_workflows_checkpoint_blobs, "idx_duo_wf_checkpoint_blobs_unique")
main:    -> 0.0179s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260603", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_708741956d", :algorithm=>:concurrently})
main:    -> 0.0014s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260603, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260604", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_4dc7b34c74", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260604, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260605", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_230ea8167f", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260605, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260606", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_059bda7253", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260606, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260607", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_434dabcc33", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260607, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260608", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_8846ff0658", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260608, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260609", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_7920177cbf", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260609, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260610", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_3a23263919", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260610, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260611", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b7b97d8738", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260611, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260612", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_36aefbb775", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260612, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260613", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_75c195ba72", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260613, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260614", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_a24da0eec3", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260614, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260615", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_deca24ee5a", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260615, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260616", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_bf2a07a105", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260616, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260617", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b7e58cc0ad", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260617, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260618", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_a8fefbff0c", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260618, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260619", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_6b9d4daf55", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260619, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260620", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_d011a50919", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260620, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260621", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b63070b35a", :algorithm=>:concurrently})
main:    -> 0.0009s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260621, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260622", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_e399e08593", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260622, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260623", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_c3bfc4774a", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260623, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260624", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_5753000450", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260624, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260625", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_3b297650f2", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260625, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260626", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_3ae68a9900", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260626, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260627", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b2d164d2a3", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260627, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260628", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_012e15b012", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260628, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260629", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_add7c383ad", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260629, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260630", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_beb34f2b8f", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260630, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260701", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_65405e205d", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260701, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260702", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_425133e293", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260702, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260703", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_0add04e020", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260703, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260704", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_d0f9e74091", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260704, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260705", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_9acd89ab1d", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260705, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260706", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_1e369b265e", :algorithm=>:concurrently})
main:    -> 0.0007s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260706, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260707", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_1ff843a081", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260707, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260708", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_03a7a13890", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260708, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260709", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_f171ef147a", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260709, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260710", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_169ca48740", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260710, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260711", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_aa0a197725", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260711, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260712", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_1578b7306a", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260712, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260713", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_69483f0cb6", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260713, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260714", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_ff48e680e5", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260714, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260715", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_cdd0e9a5f8", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260715, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260716", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_6275fba67c", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260716, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260717", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_e3a50cd132", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260717, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260718", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_12dee5b57d", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260718, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260719", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_faa093732c", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260719, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260720", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_0645a8a720", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260720, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260721", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_6454bae0f0", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260721, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260722", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_57eae02b18", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260722, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260723", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_631718bc43", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260723, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260724", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_bb429cc56e", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260724, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260725", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_047777de64", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260725, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260726", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_cdd9c84904", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260726, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260727", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_d0438b338a", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260727, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260728", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_2d8b3833c0", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260728, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260729", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_b68ec20ad1", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260729, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_exists?("gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260730", [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"index_828e699ab4", :algorithm=>:concurrently})
main:    -> 0.0009s
main: -- Index not created because it already exists (this may be due to an aborted migration or similar): table_name: gitlab_partitions_dynamic.p_duo_workflows_checkpoint_blobs_20260730, column_name: [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at]
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- add_index(:p_duo_workflows_checkpoint_blobs, [:project_id, :workflow_id, :thread_ts, :channel, :version, :created_at], {:unique=>true, :nulls_not_distinct=>true, :name=>"idx_duo_wf_checkpoint_blobs_unique"})
main:    -> 0.0035s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- index_name_exists?(:p_duo_workflows_checkpoint_blobs, "idx_duo_wf_checkpoint_blobs_dedup")
main:    -> 0.0004s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- remove_index(:p_duo_workflows_checkpoint_blobs, {:name=>"idx_duo_wf_checkpoint_blobs_dedup"})
main:    -> 0.0016s
main: == 20260701190000 ReplacePDuoWorkflowsCheckpointBlobsUniqueIndex: reverted (0.1262s) 

References

Edited by Eduardo Bonet

Merge request reports

Loading