Skip to content

[P1] NewOrder 语义:无效商品回滚、远程比例、stock 升序去重锁定 #11

Description

@Kosthi

父任务 / 依赖

背景

赛题要求 NewOrder:正确分配订单号;写 orders/new_orders/order_line;更新 stock;任一明细失败整笔回滚。无效商品为业务预期回滚,计入完成样本但不计入 NewOrder 成功提交。

客户端还规定:先按 (supply_warehouse, item_id) 升序去重锁定全部库存行,再按原明细顺序读改,避免热点商品死锁环。

当前缺口

  • 无 1% 无效商品路径
  • 远程供货约 1%(应为约 8%)
  • 无 stock 排序加锁
  • 未区分 expected rollback vs 系统 abort

任务清单

  • 按 TPC-C/赛题比例生成无效 item id;路径上写入此前有效明细后 ABORT
  • 回滚后无残留订单/索引(依赖 DB;客户端断言 ABORT 成功)
  • 远程 supply warehouse 约 8%
  • 明细生成后构造 lock 顺序:升序去重 stock 键
  • 迁入 2-batch 依赖阶段(赛题 §7)
  • 统计:expected_rollbackcommitted 分离
  • 重试时复用同一组参数

验收标准

  • 无效商品路径稳定返回业务回滚且不计入 NewOrder/min 分子
  • 正常路径可成功提交;冲突可 TRANSACTION_ABORT 重试
  • 文档描述 batch 边界与 SQL 模板列表

参考

赛题第三章(四)、附件 A §7

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    2026-final2026 final contest alignmentarea/transactionTPC-C transactionsenhancementNew feature or requestpriority/p1Ranking workload & semantics

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions