ダッシュボード

「このプルリクエストをマージすると本番環境が劣化する可能性があります。」 Polylaneはすべてのプルリクエストを稼働中の本番環境に照らしてレビューします。

ウェイトリストに登録
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

リンターには本番環境が見えません。 このレビュアーには見えます。

  • 稼働中の状態に照らしてレビュー

    差分はデプロイ先のサービスに照らして検査されます。その設定、そのトラフィック、その最近のインシデントです。

  • 既定はpass

    failにするには、差分のどの行がどのように本番環境を壊すかを正確に証明する必要があります。「かもしれない」は数えません。

  • コメントは1つ

    プッシュごとにその場で更新され、積み重なることはありません。ドキュメントとテストの変更はそのまま通ります。

  • 望むなら、強制力も

    ブロッキングチェックを有効にすると、failは後続のプッシュで解消されるまでマージを止めます。

最も安いインシデントは、マージされなかったインシデントです。 Polylaneはレビューで捕まえます。