feat(pl24): Faz 3 — backfill anahtarı + Mitsubishi parça-listesi düzeltmesi #270
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Faz 3 = arka plan backfill'ini açmak. Raporun koyduğu üç ön koşuldan biri (VW sahte ağaç kırpması) mühendislik işiydi. Musluğu açmadan önce hacmi ölçtüm ve raporun işaret ettiğinden çok daha büyük bir israf çıktı.
1. Mitsubishi'nin parça listesi grup sanılıyordu
link_wid'e göre prod ölçümü:partInfoTablesatırlarının %100'ü Mitsubishi ve her biri tek bir PARÇA: "SCREW,LOCK CYLINDER", "BOLT,STEERING COLUMN WASHER", "WEATHERSTRIP,RR DOOR OPENING".Ağaç şöyle çıkmış:
Canlı doğrulama.
/p5mitsubishi/extern/details/vinDetails?bomDetails=...çağrıldı: HTTP 200, 16 kayıt, hepsindepartnoveqty. Yani bu bir parça listesi. Her kaydın kendi linkipartInfoTableolduğu için sınıflandırıcı listeyi grup sanıyor:detailsTableneLEAF_WIDS'te neGROUP_WID_PATTERN'de, yolu da (/details/vinDetails)LEAF_PATH_PATTERN'e uymuyor.Sonuç: 2.193 parça listesinin yalnız 9'unda parça var (%0,4), buna karşılık 1.747'sinde sahte çocuk var.
Düzeltme
detailsTableartık yaprak.isPl24PartDetailNode()eklendi:partInfoTable//details/vinpartinfone grup ne liste, hiç kuyruklanmıyor.isLeafLinkPathartıklinkWid'i de geçiriyor. Okuma yolu bu güvenilir sinyali hep kullanıyordu ama kuyruklama yolu düşürüyordu — sınıflandırıcıdetailsTable'ı öğrense bile burada yine grup sayılacaktı.Prod'da kuru çalıştırma: 19.576 kategori, 9 araç, 2 parça, Mitsubishi dışı 0 satır.
2. Backfill anahtarı
PL24_BACKFILL_ENABLEDeklendi, varsayılan KAPALI. EskiPL24_TR_DISABLEDadı "tr hesabı öldü" diyordu ama gerçek işi "toplu yükü tek sağ kalan hesaptan uzak tut"tu; yeni ad ne yaptığını söylüyor. Eski değişken hâlâ kapatabiliyor ama açamıyor, böylece yarım uygulanmış bir deploy musluğu sessizce açamaz.Kullanıcı tetikli fast-lane bu anahtardan etkilenmiyor, bugüne kadar olduğu gibi akmaya devam ediyor.
Faz 3 ön koşullarının durumu
Bu PR musluğu açmıyor, yalnız açılabilir hale getiriyor ve açıldığında boşa gidecek ~19,6 bin isteği ortadan kaldırıyor. Env'i
trueyapmak ayrı bir adım.Not: silme sonrası 2.193
detailsTabledüğümü parçasız yaprak olarak kalır ve bir kereye mahsus ~2.193 istekle gerçek parçalarını çeker. Günlük tavanın altında, kademeli.Test
9 yeni test (Mitsubishi sınıflandırması, parça-detay kırpması, backfill anahtarının üç hali, fast-lane muafiyeti). api paketi 647 test geçiyor, tsc ve biome temiz.
🤖 Generated with Claude Code
Faz 3 backfill'i açmadan önce hacmi ölçtüm ve raporun işaret ettiğinden çok daha büyük bir israf çıktı. **Mitsubishi'nin parça listesi grup sanılıyordu.** `/p5mitsubishi/extern/details/vinDetails` yanıtı `partno`/`qty` taşıyan bir PARÇA listesi (canlı doğrulama: 16 kayıt), ama her kaydın kendi linki `partInfoTable` ve ne wid ne yol sınıflandırıcıda karşılık buluyordu. Sonuç (prod ölçümü): 2.193 parça listesi grup düğümüne döndü, içlerindeki 19.576 tekil parça ("SCREW,LOCK CYLINDER", "BOLT,STEERING COLUMN WASHER") kategori olarak kaydedildi. Bu 19.576 sahte düğümün TOPLAM 2 tanesinde parça var ve hepsi her prefetch turunda yeniden çekiliyor. İkisi de %100 Mitsubishi. - `detailsTable` artık yaprak, `isPl24PartDetailNode()` ile `partInfoTable` hiç kuyruklanmıyor. - `isLeafLinkPath` artık `linkWid`'i de geçiriyor. Okuma yolu bu güvenilir sinyali hep kullanıyordu ama kuyruklama yolu düşürüyordu — sınıflandırıcı `detailsTable`'ı öğrense bile burada yine grup sayılacaktı. - Migration 0036: 19.576 sahte kategori siliniyor. Okuma yolu bir düğümün ÖNCE çocuklarına baktığı için bu silme düzeltmenin parçası, ayrı temizlik değil. Kuru çalıştırma: 19.576 kategori, 9 araç, 2 parça, Mitsubishi dışı 0. **Backfill anahtarı.** `PL24_BACKFILL_ENABLED` eklendi, varsayılan KAPALI. Eski `PL24_TR_DISABLED` adı "tr hesabı öldü" diyordu ama işi "toplu yükü tek sağ kalan hesaptan uzak tut"tu. Eski değişken hâlâ kapatabiliyor — yarım deploy musluğu sessizce açamasın. Kullanıcı tetikli fast-lane bu anahtardan etkilenmiyor. 9 yeni test. api 647 test geçiyor. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>