Project

General

Profile

Actions

CR #895

open
RA

[CR-081] POC-16 帳單批次真機驗證發現:parallelism/resumeFromCheckpoint 未接線/checkpoint 錯誤原因未入明細/效能目標未驗證

CR #895: [CR-081] POC-16 帳單批次真機驗證發現:parallelism/resumeFromCheckpoint 未接線/checkpoint 錯誤原因未入明細/效能目標未驗證

Added by Redmine Admin 1 day ago. Updated 1 day ago.

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 確認)。

RA Updated by Redmine Admin 1 day ago Actions #1

【追蹤中(POC-16)】功能小樣本已真機成功;未解項:parallelism 欄位未接(javadoc 表明單執行緒)、resumeFromCheckpoint 未讀取(目前同月冪等跳過非任意 checkpoint 精準續跑)、計息錯誤原因只在 WARN 未入 checkpoint 明細;效能 2M 客戶/10M 交易1小時、online 200 TPS/P99≤20% 均無指定規模環境而未驗證,不外推。另 scheduler UI 需確認。證據 docs/08-evidence/POC-16_*,詳細動畫 docs/09-demo/poc-16-statement/。

RA Updated by Redmine Admin 1 day ago Actions #2

【CR-081 三項程式面缺口已修復並實測(2026-10-25,#A-396)】規格先行:SCS-011 v1.12 新增 §7.3(並行/續跑/錯誤明細語意)+契約 gen_openapi.py 重產(CycleRunView +errorEntries、RunErrorEntry;131 端點 0 錯誤)。實作:①parallelism(1..8 夾擠)帳戶層並行——sequence 取號、單一寫入者合併進度、連續前綴 checkpoint(D-046);②resumeFromCheckpoint=true 跳過前次同週期 checkpoint 前綴(BRD 16-6 RERUN),checkpoint≥帳戶數則全跳不重算;③新表 STATEMENT_RUN_ERRORS(Flyway V5)+CycleRunView.errorEntries——帳戶級錯誤(BALANCE/INTEREST/GENERATE)逐筆入明細;getBalance 失敗由整批 FAILED 改帳戶級跳過。品質:statement-service 91 測 0 失敗(新增 StatementParallelResumeTest 6 測:並行峰值觀測、夾擠、前綴跳過、陳舊 checkpoint、混合失敗入明細)。真機 8102:parallelism=4 新月份 201(checkpoint=1);resume 再跑 201;run detail 含 errorEntries;Flyway V5 遷移成功。證據 docs/08-evidence/CR-081_修復驗證_20261025/。★ 未解:2M/10M/1hr 與 ONLINE 200 TPS/P99 劣化≤20% 仍缺 G-04 效能環境——本 CR 維持 In Progress。

Actions

Also available in: PDF Atom