← Kembali ke daftar challenge
Stock Movement Integrity - Race-Safe & Audit Chain
lockForUpdate + movement_logs immutable + delta-based recompute untuk konsistensi stok.
Masalah
Stock OUT konkuren bisa membuat current_stock negatif; koreksi menghapus jejak audit.
Keputusan
DB transaction + lockForUpdate, pisahkan movement_logs immutable dari stock_movements.
Hasil
Race-safe stock IN/OUT, audit chain utuh walau ada koreksi atau soft-delete.
Implementasi
- Race condition Stock OUT teratasi via row-level lock dalam DB transaction.
- Audit chain movement_logs terpisah dari data mutable - tidak menghapus jejak.