Actions
CR #895
open
RA
[CR-081] POC-16 帳單批次真機驗證發現:parallelism/resumeFromCheckpoint 未接線/checkpoint 錯誤原因未入明細/效能目標未驗證
CR #895:
[CR-081] POC-16 帳單批次真機驗證發現:parallelism/resumeFromCheckpoint 未接線/checkpoint 錯誤原因未入明細/效能目標未驗證
Status:
In Progress
Priority:
P0-Urgent
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:
0%
Estimated time:
Story Points:
Description
【發現情境】POC-16 帳單批次真機小樣本驗證(2026-10-24,statement-service 8102;statement-service 85 測 0 失敗)。BRD-004 §3.16 指定規模:200 萬客戶、350 萬卡、1,000 萬筆交易;1 小時完成,批次期間 ONLINE ≥200 TPS。
【真機(功能)】
- POST /statement-cycles/M01/runs(businessDate=2027-05-01,parallelism=4,resumeFromCheckpoint=true)→ 201 GENERATED、processed=1、statementCount=1、skipped=0、checkpoint=1;帳單 STMT2027050015 實際產生。
- 同一 cycle 再跑(parallelism=9、resumeFromCheckpoint=true)→ 201 GENERATED、processed=1、statementCount=0、skipped=1、checkpoint=1(週期冪等跳過)。
- 小樣本 1 戶首跑約 3.49 秒;不外推至 2M 客戶/10M 交易。
【16-3 多工參數無效】
- DTO
CycleRunRequest含parallelism,javadoc 明載「本期為單一執行緒循序處理,參數已收未實作並行」;實際StatementGenerationService為逐帳戶 for-loop,未讀parallelism。
【16-6 resumeFromCheckpoint 未接線】
- DTO 有
resumeFromCheckpoint,但 application 中無任何讀取該欄位;目前具備的是 checkpoint 持久化+同月已有帳單跳過(冪等),不是從任意 checkpoint 精準續跑。 - 故「第 135 萬筆異常,排除後從第 135 萬筆 RERUN」未實作/未證明不重不漏。
【16-5 異常可見性不足】
- 外層例外會將 CycleRun 設 FAILED+errorDetail;帳戶計息失敗則 WARN、跳過該帳戶並推進 checkpoint;但原因僅記日誌、未納入 Checkpoint 明細(SCS-011 §10)。
- 本次未注入第 135 萬筆異常資料,資料級錯誤定位未驗證。
【性能要求未驗證】
- 16-1 1 小時內 2M 客戶/10M 交易、16-4 批次期間 ONLINE ≥200 TPS/P99 劣化≤20%:本地僅 1 seeded account,無客戶要求之性能環境/各節點與 DB CPU/RAM/DISK;未執行性能測試,不宣稱達標。
- 16-2 手動 run API 與 runs 查詢 API 存在;未見可視化 scheduler 管理介面(若驗收要求排程設定 demo,需 PMO 確認)。
Actions