Skip to content

fix[zwatch]: add hidden column to AlarmVO/EventSubscriptionVO#3675

Open
zstack-robot-1 wants to merge 1 commit into5.5.12from
sync/chao.he/fix/ZSTAC-83966@@2
Open

fix[zwatch]: add hidden column to AlarmVO/EventSubscriptionVO#3675
zstack-robot-1 wants to merge 1 commit into5.5.12from
sync/chao.he/fix/ZSTAC-83966@@2

Conversation

@zstack-robot-1
Copy link
Copy Markdown
Collaborator

ZSTAC-83966 Plan D — SQL migration V5.5.13

CALL ADD_COLUMN for AlarmVO.hidden and EventSubscriptionVO.hidden.

sync from gitlab !9535

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 3, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

在数据库升级脚本 conf/db/upgrade/V5.5.12__schema.sql 中,为 AlarmVOEventSubscriptionVOActiveAlarmVO 三个表各新增了一个名为 hidden 的列,类型为 TINYINT(1),默认值为 '0',非必填,通过 CALL ADD_COLUMN(...) 引入。(50字以内)

Changes

Cohort / File(s) Summary
数据库 schema 升级
conf/db/upgrade/V5.5.12__schema.sql
AlarmVOEventSubscriptionVOActiveAlarmVO 三个表各添加 hidden 列(TINYINT(1),默认 '0',非必填),通过 CALL ADD_COLUMN(...) 执行。

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰✨ 新列悄然钻土,
三处藏身初成形,
默默为零守旧序,
微风唤来悄声跑,
兔子点头笑开颜。

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed 标题符合要求的格式 [scope]: ,共61个字符,在72字符限制内。标题清晰准确地概括了变更的主要内容:向AlarmVO和EventSubscriptionVO添加hidden列。
Description check ✅ Passed 描述与变更集相关,提到了SQL迁移V5.5.13、ADD_COLUMN操作、涉及的VO类和相关的JIRA问题ZSTAC-83966。描述内容足够清晰,表明了变更的目的和来源。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sync/chao.he/fix/ZSTAC-83966@@2

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

@MatheMatrix MatheMatrix force-pushed the sync/chao.he/fix/ZSTAC-83966@@2 branch from dc75a52 to 60c6f16 Compare April 3, 2026 10:11
@MatheMatrix
Copy link
Copy Markdown
Owner

Comment from chao.he:

风险评估与解决方案(补充)

  1. 全局 schema 变更风险(AlarmVO/EventSubscriptionVO 增加 hidden 列)
  • 风险:覆盖所有查询路径,需要确保 migration 与查询行为一致。
  • 方案:
    • 迁移后校验:hidden=1 仅出现在 AI UUID 白名单;非 AI 告警/订阅查询结果与改造前一致。
    • 回归矩阵:queryAlarm/queryEventSubscription/queryActiveAlarm 三条链路全覆盖。
  1. syncHiddenState 触发时机风险(仅启动+license变更)
  • 风险:license 自然过期未触发变更事件时,hidden 状态可能存在窗口期。
  • 方案:
    • 增加周期性 reconcile(定时调用 syncHiddenState)以收敛窗口期;
    • 保留现有查询过滤兜底,保障展示层面安全。
  1. 现状说明
  • 当前 check 已复用 LicenseManager.checkAddonAvailability(MaaSBase);
  • migration 采用 ADD_COLUMN 幂等方式,重跑安全。

下一步:按上述方案补充周期性同步并补充覆盖验证。

@MatheMatrix MatheMatrix force-pushed the sync/chao.he/fix/ZSTAC-83966@@2 branch from 60c6f16 to 195e6a0 Compare April 3, 2026 13:25
@ZStack-Robot
Copy link
Copy Markdown
Collaborator

Comment from chao.he:

补充同步说明:本次已将 ZSTAC-83966 的模型级方案扩展到 ActiveAlarm,schema migration 增加:\nCALL ADD_COLUMN('ActiveAlarmVO', 'hidden', 'TINYINT(1)', 0, '0');\n\n沿用现有 ADD_COLUMN 幂等机制,可重复执行且无副作用。

@zstack-robot-2
Copy link
Copy Markdown
Collaborator

Comment from ye.zou:

Code Review

LGTM ✅ 这个 MR 里的 schema 变更本身没问题:CALL ADD_COLUMN(...) 走现有幂等路径,默认值 0 也兼容老数据,当前 HEAD 没看到这边的阻断项。

结论: APPROVE ✅
回归风险: 低
说明: 当前这一轮 Jira 仍是 BLOCK,是因为配套 premium MR !13418 还有阻断项,不是这个 schema MR 自身的问题。


Review Tracker: ZSTAC-83966

Rounds: R1=block

Findings

1. CRIT | 正确性 | premium

  • File: zwatch/src/main/java/org/zstack/zwatch/alarm/AlarmHiddenQueryFilter.java:24
  • Finding: hidden 方案当前只覆盖 AlarmVO/EventSubscriptionVO,没有覆盖 ActiveAlarm 链路。APIQueryActiveAlarmMsg 没有额外过滤,ActiveAlarmVO/ActiveAlarmVO_ 没有 hidden 字段,AISystemAlarmManagerImpl.syncHiddenState() 也不更新 ActiveAlarmVO,但测试却断言 queryActiveAlarm 会隐藏 AI active alarms。当前实现与测试预期、以及 zstack schema 新增的 ActiveAlarmVO.hidden 不一致,license 关闭后 AI active alarms 仍会从查询结果漏出来。
  • Suggestion: 给 ActiveAlarmVO/ActiveAlarmVO_ 补 hidden 字段,在 syncHiddenState() 同步 ActiveAlarmVO.hidden,并给 APIQueryActiveAlarmMsg 补 AddExtraConditionToQueryExtensionPoint;随后补一条验证 license 变更前后 queryActiveAlarm 行为的回归测试。

Progress Table

# Sev Cat Repo File R1
1 CRIT 正确性 premium AlarmHiddenQueryFilter.java 🔴

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

@MatheMatrix MatheMatrix force-pushed the sync/chao.he/fix/ZSTAC-83966@@2 branch from 195e6a0 to b01ef35 Compare April 8, 2026 08:58
@ZStack-Robot
Copy link
Copy Markdown
Collaborator

Comment from gitlab:

自上次添加REVIEWED标签(2026-04-03 21:50:26.000Z)后, 有新的COMMIT更新(2026-04-08 16:57:49.990Z), 所以移除了REVIEWED标签

@MatheMatrix MatheMatrix force-pushed the sync/chao.he/fix/ZSTAC-83966@@2 branch from b01ef35 to 81c66ba Compare April 9, 2026 10:16
@MatheMatrix
Copy link
Copy Markdown
Owner

Comment from chao.he:

已处理:

  • zstack 最新提交:81c66ba669;配套 premium 最新提交:c39a92c114

当前联动结论:

  • 199 远端 ./runMavenProfile premium 已通过;
  • 当前剩余 blocker 不在 schema / hidden 字段层,而在 premium 侧 ModelServiceCase 运行时的 TfZstackPortSync NPE;
  • 后续联动结果以人工验证为准。

@zstack-robot-1
Copy link
Copy Markdown
Collaborator Author

Comment from chao.he:

已处理:

  • zstack MR 9535 与 premium MR 13418 都已 rebase 到最新 upstream/5.5.12 并 force-push;
  • zstack 最新提交:81c66ba669;premium 最新提交:c39a92c114

当前联动结论:

  • 199 远端 ./runMavenProfile premium 已通过;
  • 当前剩余 blocker 不在 hidden 字段 schema 层,而在 premium 侧 ModelServiceCase 运行期的 TfZstackPortSync NPE;
  • 后续联动结果以人工验证为准。

- move ZSTAC-83966 hidden-column migration out of V5.5.12__schema.sql
- add follow-up migration V5.5.12.1__schema.sql for AlarmVO/EventSubscriptionVO/ActiveAlarmVO hidden fields

Resolves: ZSTAC-83966

Change-Id: Ic660df81e306f8cb64348289604810c27dd63ae0
@MatheMatrix MatheMatrix force-pushed the sync/chao.he/fix/ZSTAC-83966@@2 branch from 81c66ba to 164215e Compare April 10, 2026 12:57
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.

4 participants