# Log Eksekusi V2 - Task 5 (Pengujian Beban & Limitasi API)

## Tanggal Eksekusi
Minggu, 10 Mei 2026

## Deskripsi Eksekusi
Task 5 mengamanatkan untuk melakukan uji pemrosesan (*load testing*) pipeline _Small-to-Big Retrieval_ (V2) secara penuh dari awal pembacaan file lokal (*Parsing*) hingga ekstraksi LLM.

## Detail Aktivitas dan Observasi

1. **Inisialisasi Database**
   Skrip `setup_indexes.py` berhasil dijalankan dan memastikan bahwa index vektor di Neo4j dikonfigurasi dengan benar untuk dimensi 1024D (standar *cloud embedding* untuk struktur graf utama).

2. **Eksekusi Ingestion (app/services/ingestion.py)**
   Skrip dieksekusi dengan target awal 2 dokumen PDF akademik ("Reviving Life on the Edge..." dan "SemanticGraph2Vec...").
   
   - **Lapis 1 (Main Thread CPU-Bound) - SUKSES**: Proses ekstraksi dan pemotongan teks menggunakan `pymupdf4llm` berjalan secara sekuensial tanpa menemui masalah OOM (Out Of Memory) atau jebakan antrean (*deadlock*).
   - **Lapis 2 (Local Retrieval) - SUKSES**: Pustaka lokal `sentence-transformers` (`all-MiniLM-L6-v2`) berhasil memproses ratusan _child chunks_ secara luring (_offline_) dengan waktu latensi yang dapat diterima (sekitar 9 detik untuk file 1, dan 29 detik untuk file 2) menggunakan murni CPU.
   
3. **Penghalang Eksekusi (The Blocker)**
   Saat `ThreadPoolExecutor` berusaha menembak API *Alibaba DashScope* (`qwen3-30b-a3b-thinking-2507`) secara konkuren (yang telah dibungkus dengan *Semaphore* dan `tenacity`), permintaan ditolak oleh server *provider*.
   
   **Log Error:**
   `HTTP/1.1 400 Bad Request`
   `Error code: 400 - {'error': {'message': 'Access denied, please make sure your account is in good standing. For details, see: https://www.alibabacloud.com/help/en/model-studio/error-code#overdue-payment', 'type': 'Arrearage', 'param': None, 'code': 'Arrearage'}`

## Status Akhir & Kesimpulan
- Sesuai dengan instruksi dari *User*: *"jika terjadi kegagalan selama proses testing yang DIKARENAKAN LIMIT API silahkan hentikan terlebih dahulu"*. 
- Kegagalan ini bukan berasal dari kode arsitektur paralel kita, melainkan dari status akun tagihan (*Arrearage* / saldo habis / tagihan belum dibayar) pada API Key Alibaba DashScope yang diberikan di `.env`. 
- Pustaka `tenacity` telah bekerja dengan baik (mengulang *request* beberapa kali secara *backoff* eksponensial) sebelum akhirnya menyerah dan melempar *error* final tersebut ke *pipeline*.

**Oleh karenanya, uji coba (Task 5) dihentikan sementara.** Status pada papan rencana akan dibiarkan statis menunggu instruksi lebih lanjut.