|
All checks were successful
CI / changes (pull_request) Successful in 8s
CI Trade-In / changes (pull_request) Successful in 9s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m57s
1. cian_history_backfill.py listings block was missing the same db.rollback() the houses block already has: save_detail_enrichment() runs several unprotected db.execute() and only commits at the end. A single bad row (e.g. a non-standard Cian change_time hitting CAST(:ct AS timestamptz)) leaves the session in a failed-transaction state, and every subsequent listing in the batch (up to 49) then fails with PendingRollbackError -- one real failure looked like N independent ones in the logs. 2. account_estimate_usage.used had no floor. Prod audit: praktika 2026-06 shows used=-3 against 42 real estimates. Migration 185 already fixed this class of bug for user2 (negative used from a retired SQL-runbook bonus hack) but only reset that one username. No decrement path exists anywhere in app.services.account_quota -- increment() only ever does used+1 under a WHERE used < lim guard (#747) -- so the minus is external (manual UPDATE), not an app bug. Migration 189 resets all remaining negative used rows and adds CHECK (used >= 0) so a future manual UPDATE can't reintroduce it. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| asking_to_sold_ratio.py | ||
| avito_detail_backfill.py | ||
| backfill_listings_coords_geoportal.py | ||
| cadastral_geo_match.py | ||
| cian_history_backfill.py | ||
| deactivate_stale_avito.py | ||
| deals_freshness_monitor.py | ||
| domclick_detail_backfill.py | ||
| domrf_kapremont_load.py | ||
| ekb_geoportal_ingest.py | ||
| gar_flats_load.py | ||
| geocode_missing.py | ||
| listing_source_snapshot.py | ||
| newbuilding_enrich_backfill.py | ||
| osm_poi_ekb_refresh.py | ||
| refresh_search_matview.py | ||
| rosreestr_quarter_poll.py | ||
| sber_freshness_monitor.py | ||
| sber_index_pull.py | ||
| yandex_address_backfill.py | ||
| yandex_detail_backfill.py | ||
| yandex_newbuilding_sweep.py | ||
| zhkh_flats_load.py | ||