Sprint 1 (2 wk)
Sprint 2 (2 wk)
Sprint 3 (1 wk)
| Item | Description |
|--------------------------|-------------|
| Ticket Summary | Add support for bulk import of transaction records from CSV files into the Financial‑Services‑Data‑Sync‑Service (FSDSS). |
| Primary Goal | Enable users to upload a CSV (up to 50 k rows) and have the service parse, validate, and persist the records atomically, returning a detailed import report. |
| Scope | – New REST endpoint /api/v1/transactions/import
– CSV parser utility (CsvTransactionParser)
– Validation layer (TransactionValidator)
– Bulk‑insert service (TransactionBulkService)
– Import‑report DTO (ImportReportDto)
– Integration tests and Swagger documentation. |
| Related Tickets | FSDSS‑421 (single‑record import), FSDSS‑487 (audit‑log enhancements). |
| Branch | feature/FSDSS-536-bulk-import | FSDSS-536
The change introduces a substantial new capability that will be heavily used by downstream reporting tools, so correctness, performance, and observability are critical. FSDSS-536 — Implementation & QA Guide 8
| Property | Pre‑Incident (v3.2.5) | Post‑Incident (v3.2.7) |
|----------|----------------------|------------------------|
| enable.auto.commit | true | true |
| auto.commit.interval.ms | 5000 | 5000 (unchanged) |
| max.poll.records | 500 | 500 |
| Added | – | commit.retry.backoff.ms = 2000commit.max.retries = 5 | README: setup, env vars, migrations, seed data
text/csv MIME type is accepted. The controller also checks the file extension for .csv.The process hangs at “Scanning directory” after processing ~9 950 files. No further progress is logged. The UI shows a spinner indefinitely.