Welcome
Sign in to start your session
Login
Login
[app info]
Brief app info: ENV: [DEV] commitId: 7a182b60989a4295b9c7ca2be5c90da7c5fe5d65 branch: develop build date: 2026-10-26T14:44:39Z build version: 2026.08.06.1-SNAPSHOT commit message: #39044 Postback polling: a partial index on the undelivered postbacks instead of a full scan every 6 s Every dispatcher (Customer.io, GA, Keitaro) polls TrackerPostbackRepository.findNotProcessed every 6 s, and tracker_postback had no index for it: Seq Scan + Sort over the whole table, ~28M rows on prod, per poll. Under the I/O load of the #38839 catch-up those scans outran the bridge's JDBC socket timeout: "An I/O error occurred while sending to the backend ... Read timed out" after 39 s and 60 s in CustomerIoPostbackTaskImpl#executeTask (Glowroot traces 2026-10-26 14:11 and 14:12 UTC). - idx_tracker_postback_pending ON tracker_postback (affiliate_tracker_id, created_at) WHERE status_id IN (10, 20): holds only the queue, ordered the way the query reads it, so the LIMIT stops after the first rows. CREATE INDEX CONCURRENTLY, runInTransaction:false. - The query spells QUEUED/PENDING_RETRY as literals instead of a bound list: a parameter cannot be proven against a partial-index predicate in a generic prepared-statement plan (the #38682 lesson). TrackerPostbackRepositoryQueryTest pins the literals to TrackerPostbackDeliveryStatus; TrackerPostbackPendingIndexITTest asserts the planner can use the index for the exact query text and that the query runs for every tracker. UPTIME: 0d 0h 34m 49s Git log: 36bed... | 2026-10-26T15:47:20+02:00 | Rodion | #38839 Rounds aggregation: catch up one 6-hour ... 60105... | 2026-10-26T13:29:32+02:00 | Rodion | #38839 External game statistics: step over days... d81bf... | 2026-10-26T13:24:46+02:00 | Rodion | #38839 Scheduler IT fixtures: leave the job fla... 64e3e... | 2026-10-26T13:15:34+02:00 | Rodion | #38839 External game statistics: aggregate one ... acebe... | 2026-10-23T13:34:35+03:00 | Rodion | #38839 Bootstrap IT: seed the SGS transaction t... 23f61... | 2026-10-23T13:12:47+03:00 | Rodion | #38839 Rounds aggregation: bootstrap from an em... 4e223... | 2026-10-23T12:30:33+03:00 | Rodion | #38864 Promotion partner-code scope: an empty a... e1f2f... | 2026-10-22T17:05:04+03:00 | Rodion | #38862 Access log: one query per page instead o... e51b9... | 2026-10-22T13:50:43+03:00 | Rodion | #38170 Admin chain pages IT: tolerate a ROLE_MA... 67c44... | 2026-10-21T14:39:14+03:00 | Rodion | #38857 Referral hub: every currency in the refe...
copy to clipboard