You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.3 KiB
1.3 KiB
T6 聚焦修复 1:50 条并发边界
Prior Failure
W3-T6.md 在 MySQL 默认 REPEATABLE READ 等价测试下复现:49 条活动自定义项时并发发起两个创建请求,两个请求都通过计数检查,最终写入第 51 条,预期为一个成功、另一个 9703。
Objective
修复并发 50 条边界,保证在 MySQL 默认隔离级别下最多只能有 50 条活动企业自定义项。
Required Changes
- 在检查活动条目前使用当前读或锁定读,不得依赖事务早期快照。
- 企业行锁与活动条目计数必须处于同一事务,并确保计数读取看到锁等待前的已提交结果。
- 允许使用
PESSIMISTIC_WRITE查询公司自定义项、调整锁顺序或等效数据库级机制。 - 保留既有的幂等重放、9704、软删除和跨企业隔离行为。
- 将并发边界测试配置为重复读隔离级别,使其能在 H2
MODE=MySQL下复现并验证 MySQL 风险。
Evidence
cd D:\1\zhi\zhilai\mydreamjob-server
mvn -Dtest=OnboardingConcurrencyIntegrationTest,OnboardingCompanyChecklistServiceTest test
Repair Constraints
- 只做聚焦修复,不扩展接口或用户可见行为。
- 不修改 V1-V38。
- 修复后必须通过
Onboarding*Test,CompanyKnowledge*Test。