windyboy
|
879d658159
|
refactor(flight-state): 按 flight-state.md 审计定稿全量重构脚手架与 SQL (ACM2-31)
- SQL 基线 V1__flight_state_baseline.sql 整体取代 V1.0.0–V1.4.0:
PIPELINE_LOCK/PROC_STATE/MSG_EVENT/REQ_TRACK/BACKFILL_TODO/FLIGHT_SCHD
+ 8 张资源明细表 + FLIGHT_ROUTE_POINT + SCHD_SNAP_LOG 留痕层
- 废除 FDAY 日代/SCHD_GEN/名单差删:OPERATION_DAY 不可变(应用层校验 +
条件更新强化 §7.4),STATE 仅 ACTIVE/DELETED,物理清除只在历史归档后
- 处理器化:applyScheduleRecords(§5.1 七步同一事务,重放判定/整包
DEAD(PROTOCOL)/归属冲突不落地)+ FLOP/FDEL/ADFT(tombstone 仅
ACTIVE→DELETED,重复 FDEL 幂等不推进版本)
- 投递:KAFKA_SCHD 同 FLID 按最新 STATE_VERSION 合并,被压掉事件关闭,
TOMBSTONE 发 null 值消息(键缺失=删除旧值 §7.3)
- 回填待办改为业务事务内预登记,消除提交后写待办的崩溃窗口(§7.2/§10)
- XML 解码改为 jackson-dataformat-xml 数据类直接映射(SIS 信封强类型,
FLTR 开放标签泛型承载)
- 历史归档/物理清除顺序不可颠倒:归档确认成功集才物理删除,未接通删 0 条
- 移除 PUMP_JOB 队列/ReferenceService/FlightStoreDiffTool 等旧机制与测试,
新增运营日/引擎/快照/FDEL/归档顺序不变性回归测试
|
2026-09-09 17:53:08 +08:00 |
|
windyboy
|
1fc2b2c895
|
fix(persistence): 差删先按 FDAY 圈定删除成员,修复保留航班明细误删 (ACM2-30)
|
2026-09-08 18:50:02 +08:00 |
|
windyboy
|
06a1081bdd
|
test(migration): 带数据 V1.1→最新升级链验证 + DELY Apply 拒绝 (ACM2-29 P2-4)
- FlywayMigrationTest 新增升级链用例:隔离 schema 迁至 V1.1.0、写入含
*_TXT 的存量行、一路升级到最新——断言标量数据存活、v2 追踪列默认就位、
display 视图/backfill_todo/明细表可用、*_TXT 列按已知损失边界消失(评审 F6:
升级前必须导出或重放,测试固化该边界)
- L2 收尾:DELY 无协议序号属性(DLNO 非法)——SEQ_ATTR 移除 DELY,Apply 对
DELY fail fast 拒绝(语义矩阵 §2 同步口径)
- 级联回归已在 P2-2 落地(deleteByFlids/deleteDiffByDay 明细级联断言)
验证:MSGX_PG_PORT=5433 真实 PG 全量 107 用例 0 失败 0 跳过
|
2026-09-08 15:54:50 +08:00 |
|
windyboy
|
20aafb9ab0
|
feat(processing): 快照流程锁内复核收敛 + 异常显式清除语义 + 语义矩阵定稿 (ACM2-29 P2-5/M3)
- SnapshotFlow 收敛到 v2 §5 事务顺序:锁外仅解析校验;取得 PIPELINE_LOCK 后
锁内复核快照身份(last_message_id 重放短路)→ 锁内读代与当前航班态 →
计算 nextState → 写入 → CAS → 事件 → SUCCEEDED。锁内 CAS 失败属数据异常,
一律回滚 FAILED(INFRA),删除「版本号相同即视为重放」的推断路径(评审 F7/F8 收口)
- M3/F4:异常对象(FDIV/FRET/FLAB)显式清除语义——null 字面量/空对象/空串
翻译为 Clear 命令;FlightNextState.clearedKeys 携带本次清除键;增量路径按
映射把前缀标量列置 NULL;库内清除后读视图无该键(线格式保持键缺失,显式
清除表达留待阶段 2 按下游契约定)
- StubFlightSchd 增量分支改为 nextState 权威整体替换(引擎已合并当前态),
天然承载 Clear;flattenScalarsOnly 去除冗余循环(L2)
- docs/flight-state-semantics.md:16 类结构语义矩阵定稿(P0-A 交付物落库)
- 新测试:引擎 0 标记/异常清除/混排 fail-fast 单测;JDBC 异常清除回环用例
验证:MSGX_PG_PORT=5433 真实 PG ./gradlew test --rerun-tasks
105 用例 0 失败 0 跳过
|
2026-09-08 15:44:48 +08:00 |
|
windyboy
|
44fbac0d8b
|
feat(persistence): FLIGHT_SCHD_DISPLAY 兼容视图 + 生产读切明细权威 (ACM2-29 P2-2)
- V1.3.1 迁移:flight_schd_display 视图投影首个/第二个资源与总数(gate1/gate2/
gate_total、chkc1/chkc2/checkin_total、belt1/belt_total、dely_code/strt),
完整明细仍在各明细表可查;PG LATERAL 方言,11g 随 P3-B 单独提供
- 生产读路径 mapFlightRow 切 assembleDetailOnly:集合键仅由明细表重建,
不再回退 V1.2.0 槽位/里程碑列(过渡双读仅保留在 FS7 对拍工具内)
- FlightStateEngine 正确性修复:序号属性 "0" 条目现在正确翻译为显式 Clear
(原实现 items 非空走 Replace,会存出 GTNO=0 脏明细行);混入常规条目的
0 标记 fail fast 拒绝猜测(v2 §4 非法结构显式失败)
- JDBC 用例全部切 v2 写路径(persistNextStates),删除 legacy 写路径断言;
新增:显示视图投影/替换同步用例、明细级联删除断言、引擎 0 标记语义单测
验证:MSGX_PG_PORT=5433 真实 PG ./gradlew test --rerun-tasks
97 用例 0 失败 0 跳过
|
2026-09-08 12:11:57 +08:00 |
|
windyboy
|
c432492a81
|
test: GTDT e2e, v2 write-path guards, and PG test env support
Add JacksonXmlCodec/GtdtHandler/Pipeline tests, PgTestSupport for MSGX_PG_*,
and update smoke/poller expectations for real decode semantics.
|
2026-09-08 11:26:21 +08:00 |
|