Dashboard

„Diesen Pull Request zu mergen könnte die Produktion beeinträchtigen.“ Polylane prüft jeden Pull Request gegen die laufende Produktion.

Auf die Warteliste
github.com/coreplane/orders-api/pull/482

Add trigram index for order search #482

Open rvidal wants to merge 1 commit into main from order-search-trgm
Conversation 1 Commits 1 Checks 2 Files changed 1
polylane bot commented 2 minutes ago ···
Caution

Merging this pull request may degrade production (high impact).

Merging this blocks every write to orders while the index builds. migrations/0114_order_search_trgm.sql:3 adds CREATE INDEX … USING gin (search_text gin_trgm_ops) without CONCURRENTLY, and a plain CREATE INDEX takes a full write lock on orders for the whole build. Checkout sustains ~38 writes/s on that table; each one queues behind the lock until the build finishes.

To make this safe: build the index with CREATE INDEX CONCURRENTLY outside the transactional migration.

orders-db · writes per second · last 48h projected lock window
02040
-48h -24h now
every one of these writes blocks while the index builds

Polylane analysed de91b47 for production impact.

Some checks were not successful 1 failing and 1 successful check
ci / test Successful in 2m 4s Details
Polylane production impact Non-concurrent index build locks writes on orders Details
Merging is blocked

Dein Linter sieht die Produktion nicht. Dieser Reviewer schon.

  • Geprüft gegen das, was läuft

    Der Diff wird gegen die Services geprüft, auf die er deployt wird: ihre Konfiguration, ihren Traffic, ihre jüngsten Incidents.

  • Standardmäßig bestanden

    Ein Fail muss genau belegen, wie eine Zeile im Diff die Produktion kaputtmacht. „Könnte“ zählt nicht.

  • Ein Kommentar

    Bei jedem Push an Ort und Stelle aktualisiert, nie ein Stapel. Doku- und Teständerungen gehen direkt durch.

  • Zähne, wenn du willst

    Schalte den blockierenden Check ein, und ein Fail hält den Merge, bis ein späterer Push ihn auflöst.

Der günstigste Incident ist der, der nie gemergt wird. Polylane fängt ihn im Review ab.