Skip to content

<feature>[errorcode]: ZSTAC-86666 update backup conflict error mappings - #4678

Open
zstack-robot-2 wants to merge 2 commits into
5.5.38from
sync/yingzhe.hu/fix/ZSTAC-86666-cbt-5.5.38@@2
Open

<feature>[errorcode]: ZSTAC-86666 update backup conflict error mappings#4678
zstack-robot-2 wants to merge 2 commits into
5.5.38from
sync/yingzhe.hu/fix/ZSTAC-86666-cbt-5.5.38@@2

Conversation

@zstack-robot-2

Copy link
Copy Markdown
Collaborator

Summary

Update global error-code mappings for backup/CBT/CDP scheduler conflict messages on 5.5.38.

Changes

  • Updated 10 global error mapping JSON files.
  • Removed scheduler text placeholders from conflict message mappings.

Testing

  • No Java compile needed: zstack MR changes JSON i18n mappings only.
  • CI pipeline
  • Manual test

Notes

  • Source branch is currently 5 commits behind upstream/5.5.38; rebase is recommended before merge if target moved materially.

Resolves: ZSTAC-86666

sync from gitlab !10732

@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 59 minutes

Limit details: You’ve used all 1 included review currently available under your plan. You completed 90 included PR reviews in the past 7 days; at that activity level, included reviews refill at 1 review per hour.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 45f2fd49-3787-43f2-8546-4a66300c7348

📥 Commits

Reviewing files that changed from the base of the PR and between 3dcb52e and 2b6a93d.

⛔ Files ignored due to path filters (10)
  • conf/i18n/globalErrorCodeMapping/global-error-de-DE.json is excluded by !**/*.json
  • conf/i18n/globalErrorCodeMapping/global-error-en_US.json is excluded by !**/*.json
  • conf/i18n/globalErrorCodeMapping/global-error-fr-FR.json is excluded by !**/*.json
  • conf/i18n/globalErrorCodeMapping/global-error-id-ID.json is excluded by !**/*.json
  • conf/i18n/globalErrorCodeMapping/global-error-ja-JP.json is excluded by !**/*.json
  • conf/i18n/globalErrorCodeMapping/global-error-ko-KR.json is excluded by !**/*.json
  • conf/i18n/globalErrorCodeMapping/global-error-ru-RU.json is excluded by !**/*.json
  • conf/i18n/globalErrorCodeMapping/global-error-th-TH.json is excluded by !**/*.json
  • conf/i18n/globalErrorCodeMapping/global-error-zh_CN.json is excluded by !**/*.json
  • conf/i18n/globalErrorCodeMapping/global-error-zh_TW.json is excluded by !**/*.json
📒 Files selected for processing (1)
  • utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java

Warning

.coderabbit.yaml has a parsing error

The CodeRabbit configuration file in this repository has a parsing error and default settings were used instead. Please fix the error(s) in the configuration file. You can initialize chat with CodeRabbit to get help with the configuration file.

💥 Parsing errors (1)
Could not fetch remote config from http://open.zstack.ai:20001/code-reviews/zstack-cloud.yaml: TimeoutError: The operation was aborted due to timeout
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Comment @coderabbitai help to get the list of available commands.

@MatheMatrix
MatheMatrix force-pushed the sync/yingzhe.hu/fix/ZSTAC-86666-cbt-5.5.38@@2 branch from 8ee8597 to 25006c8 Compare August 18, 2026 06:32
@ZStack-Robot

Copy link
Copy Markdown
Collaborator

Comment from yingzhe.hu:

Code Review

代码量不大,但两个契约问题都不能带过去:i18n 会静默吞掉冲突资源信息,MR 又把包含 13 个字段的 schema migration 写成 JSON-only。

已读真实文件核对:11 个 changed files;10 个 locale JSON 均可被 jq 解析;git diff --check PASS;未运行 populated DB upgrade、startup/schema validation、CI/manual。

Ponytail

Lean already. Ship.

Findings

# 严重程度 分类 文件 问题描述 修复建议
1 🟡 Major API/i18n 契约 global-error-en_US.json:2646 模板删除占位符,调用端 formatArgs 被静默丢弃 恢复参数契约;不同语义拆独立 error code
2 🟡 Major Review readiness V5.5.38__schema.sql:12 MR 声称 JSON-only,却新增三个表共 13 个字段 修正 MR 元数据并补存量库 upgrade/startup 验证

结论

REVISION_REQUIRED 🚫

回归风险:高。错误定位信息退化,且 schema 发布证据缺失。

合并阻塞#1, #2

复审硬性要求:补齐 i18n 参数保真测试、存量数据库升级与 premium startup/schema validation。


Review by Codex + Ponytail


Review Tracker: ZSTAC-86666

Rounds: R1=block

# Sev Cat Repo File Finding R1
1 CRIT 数据一致性 premium VolumeBackupUtils.java 失败补偿按 groupUuid+generationUuid 整组删除,会连同同 generati… 🔴
2 CRIT ZStack async-only premium VolumeBackupManagerImpl.java 新增 java.util.concurrent.Future,命中 async-only CI 红… 🔴
3 MAJ 并发正确性 premium BackupManager.java snapshot 只有瞬时 findConflict,没有同 VM reservation,仍有 … 🔴
4 MAJ 测试证据 premium VolumeBackupManagerImpl.java 大型 owner/epoch/reconcile 状态机只有 compile 证据,无 recon… 🔴
5 MAJ 数据库 premium VolumeBackupManagerImpl.java VM GLock 临界区内逐条 reservation 执行条件 UPDATE。 🔴
6 MAJ API/i18n 契约 zstack global-error-en_US.json 10042/10049 模板删除占位符,premium 传入的冲突资源 formatArgs 被静… 🔴
7 MAJ Review readiness zstack V5.5.38__schema.sql MR 声称 JSON-only,实际新增三个存量表共 13 个字段且无 upgrade/start… 🔴
8 min 测试路径 premium CbtRestrictionsCase.groovy integration case 直接写 DB/发送内部 Msg,绕过 SDK 与真实 reser… 🔴

Progress: ░░░░░░░░░░ 0/8 resolved (0%)
2 critical issue(s) still open

@MatheMatrix
MatheMatrix force-pushed the sync/yingzhe.hu/fix/ZSTAC-86666-cbt-5.5.38@@2 branch 2 times, most recently from 033f2ee to c7341a3 Compare August 18, 2026 10:47
Serialize snapshot state transitions with backup admission while keeping the existing schema and message contracts unchanged.

Resolves: ZSTAC-86666

Change-Id: Ib5d2ad686fa92394a771980c1d1425adea6ca02f
@MatheMatrix
MatheMatrix force-pushed the sync/yingzhe.hu/fix/ZSTAC-86666-cbt-5.5.38@@2 branch from c7341a3 to b7306aa Compare August 18, 2026 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants