P0 BUG: wallet/balance 500 hiba - stale pycache miatt #420

Closed
opened 2026-07-26 14:56:04 +02:00 by kincses · 2 comments
Owner

Mérföldkő: Epic 3 - Financial Motor
Cél: A GET /api/v1/billing/wallet/balance végpont 500 Internal Server Error hibájának kivizsgálása és javítása

🔗 Függőségek (Dependencies)

  • Bemenet (Mikre támaszkodik): FinancialLedger modell (audit.audit), billing_engine.py, billing.py router
  • Kimenet (Mik támaszkodnak rá): Frontend wallet widget, admin finance panel, minden pénztárca-megjelenítő

📝 Elemzés

A hiba: 'FinancialLedger' object has no attribute 'description'

A FinancialLedger modellnek (audit.py:78) NINCS 'description' mezője - csak 'details' (JSONB). A forráskód (billing_engine.py, billing.py) helyesen a details JSON-ból olvassa ki a leírást. A konténer azonban régi .pyc bytecode-ot futtatott, ami még egy korábbi verzióra hivatkozott, ahol létezhetett ez az attribútum.

Root Cause: Stale Python bytecode cache a konténerben.

Fix: Pycache törlése és konténer újraindítása. A docker-compose.yml-ben a COPY parancs miatt a forráskód változásai nem feltétlenül érvényesülnek újraépítés nélkül, de a volume mountolt app könyvtárban a .pyc fájlok cache-elődnek.

**Mérföldkő:** Epic 3 - Financial Motor **Cél:** A GET /api/v1/billing/wallet/balance végpont 500 Internal Server Error hibájának kivizsgálása és javítása ### 🔗 Függőségek (Dependencies) - **Bemenet (Mikre támaszkodik):** FinancialLedger modell (audit.audit), billing_engine.py, billing.py router - **Kimenet (Mik támaszkodnak rá):** Frontend wallet widget, admin finance panel, minden pénztárca-megjelenítő ### 📝 Elemzés A hiba: 'FinancialLedger' object has no attribute 'description' A FinancialLedger modellnek (audit.py:78) NINCS 'description' mezője - csak 'details' (JSONB). A forráskód (billing_engine.py, billing.py) helyesen a details JSON-ból olvassa ki a leírást. A konténer azonban régi .pyc bytecode-ot futtatott, ami még egy korábbi verzióra hivatkozott, ahol létezhetett ez az attribútum. **Root Cause:** Stale Python bytecode cache a konténerben. **Fix:** Pycache törlése és konténer újraindítása. A docker-compose.yml-ben a COPY parancs miatt a forráskód változásai nem feltétlenül érvényesülnek újraépítés nélkül, de a volume mountolt app könyvtárban a .pyc fájlok cache-elődnek.
kincses added the Type: BugStatus: In Progress labels 2026-07-26 14:56:36 +02:00
kincses started working 2026-07-26 14:56:36 +02:00
Author
Owner

▶️ Munka megkezdve: 2026-07-26 14:56:36

▶️ **Munka megkezdve:** 2026-07-26 14:56:36
kincses added Status: Done and removed Status: In Progress labels 2026-07-26 14:58:56 +02:00
kincses worked for 2 minutes 2026-07-26 14:58:56 +02:00
Author
Owner

Munka befejezve: 2026-07-26 14:58:56

Technikai Összefoglaló:
Root Cause: Stale Python .pyc bytecode cache in sf_api container. The FinancialLedger model has no 'description' column, but old cached bytecode referenced entry.description causing AttributeError. Fix: Cleared all pycache dirs and restarted container. Preventive: Add PYTHONDONTWRITEBYTECODE=1 to docker-compose.yml and auto-purge pycache on startup. Documentation: docs/p0_wallet_balance_500_bugfix_2026-07-26.md

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-07-26 14:58:56 **Technikai Összefoglaló:** Root Cause: Stale Python .pyc bytecode cache in sf_api container. The FinancialLedger model has no 'description' column, but old cached bytecode referenced entry.description causing AttributeError. Fix: Cleared all __pycache__ dirs and restarted container. Preventive: Add PYTHONDONTWRITEBYTECODE=1 to docker-compose.yml and auto-purge pycache on startup. Documentation: docs/p0_wallet_balance_500_bugfix_2026-07-26.md ⏱️ *Az idő rögzítve.*
Sign in to join this conversation.