<feature>[storage]: res sblk#3361
<feature>[storage]: res sblk#3361MatheMatrix wants to merge 1 commit intofeature-zsv-5.0.0-vm-registrationfrom
Conversation
APIImpact Resolves: ZSV-1 Change-Id: I70637377776e777070676c6a6c616e74786b6667
概要本次提交为主存储引入了两个新的API操作:一致性检查(CheckPrimaryStorageConsistency)和接管(TakeoverPrimaryStorage)。新增API消息类、事件类、SDK操作类、中文文档定义及相应的处理程序接口,共包含15个新增文件。 变更内容
预计代码审查工作量🎯 3 (中等) | ⏱️ ~25 分钟 诗
🚥 Pre-merge checks | ✅ 1 | ❌ 3❌ Failed checks (2 warnings, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
⚔️ Resolve merge conflicts (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In
`@header/src/main/java/org/zstack/header/storage/primary/APICheckPrimaryStorageConsistencyEventDoc_zh_cn.groovy`:
- Around line 9-13: The field description for the "consistent" field contains a
typo ("是否一直"); update the desc value to the correct wording "是否一致" in the
APICheckPrimaryStorageConsistencyEventDoc_zh_cn.groovy definition so the
documentation accurately reflects that this boolean indicates whether the
storage is consistent.
🧹 Nitpick comments (9)
sdk/src/main/java/org/zstack/sdk/GetSharedBlockGroupLunsResult.java (1)
6-6: 为Map字段添加泛型参数以提升类型安全。当前使用原始类型
java.util.Map会在运行时丢失类型信息,可能导致ClassCastException。根据字段名称和相关的SharedBlockGroupLunInfo类的存在,建议明确指定泛型类型为Map<String, SharedBlockGroupLunInfo>。♻️ 建议的修改
- public java.util.Map lunInfos; + public java.util.Map<String, SharedBlockGroupLunInfo> lunInfos;同时更新 getter 和 setter 方法的类型签名:
- public void setLunInfos(java.util.Map lunInfos) { + public void setLunInfos(java.util.Map<String, SharedBlockGroupLunInfo> lunInfos) { this.lunInfos = lunInfos; } - public java.util.Map getLunInfos() { + public java.util.Map<String, SharedBlockGroupLunInfo> getLunInfos() { return this.lunInfos; }sdk/src/main/java/org/zstack/sdk/GetSharedBlockGroupLunsAction.java (2)
5-5: 冗余的自包名导入
import org.zstack.sdk.*;在org.zstack.sdk包内是冗余的,可以移除。♻️ 建议修复
import java.util.HashMap; import java.util.Map; -import org.zstack.sdk.*; public class GetSharedBlockGroupLunsAction extends AbstractAction {
31-35: 原始类型 List 缺少泛型参数
systemTags和userTags使用了原始类型java.util.List,建议添加泛型参数以提高类型安全性。不过,观察到其他 SDK Action 类(如
TakeoverPrimaryStorageAction)也采用相同的模式,这可能是代码生成器的标准输出格式,可以保持一致性。header/src/main/java/org/zstack/header/storage/primary/APICheckPrimaryStorageConsistencyEvent.java (1)
25-28:__example__()方法建议设置示例值当前
__example__()方法返回的事件实例未设置consistent字段的示例值。对比APITakeoverPrimaryStorageEvent的实现,建议设置一个有意义的示例值以便生成更完整的 API 文档。📝 建议改进
public static APICheckPrimaryStorageConsistencyEvent __example__() { APICheckPrimaryStorageConsistencyEvent event = new APICheckPrimaryStorageConsistencyEvent(); + event.setConsistent(true); return event; }sdk/src/main/java/org/zstack/sdk/TakeoverPrimaryStorageAction.java (1)
5-5: 冗余的自包名导入与
GetSharedBlockGroupLunsAction相同,import org.zstack.sdk.*;是冗余的。sdk/src/main/java/org/zstack/sdk/SharedBlockGroupLunInfo.java (2)
15-21: 布尔类型 getter 方法命名Java 惯例中,
boolean类型的 getter 方法通常使用is前缀而非get前缀。当前getSharedGroupComplete()建议改为isSharedGroupComplete()。不过,如果这是代码生成器的标准输出或与序列化框架有兼容性要求,可以保持现状。
♻️ 建议修复
- public boolean getSharedGroupComplete() { + public boolean isSharedGroupComplete() { return this.sharedGroupComplete; }
7-29: 原始类型缺少泛型参数
candidateLuns(List) 和existLunWwidsByHost(Map) 使用了原始类型。建议添加泛型参数以提高类型安全性和代码可读性。sdk/src/main/java/org/zstack/sdk/CheckPrimaryStorageConsistencyAction.java (2)
1-6: 冗余的通配符导入第 5 行
import org.zstack.sdk.*;是当前包的通配符导入,由于类本身已在org.zstack.sdk包中,此导入是冗余的,可以移除。♻️ 建议移除冗余导入
package org.zstack.sdk; import java.util.HashMap; import java.util.Map; -import org.zstack.sdk.*; public class CheckPrimaryStorageConsistencyAction extends AbstractAction {
31-35: 建议使用泛型类型而非原始类型
systemTags和userTags字段使用了原始类型java.util.List,建议使用泛型java.util.List<String>以提高类型安全性,避免潜在的类型转换问题。♻️ 建议的改进
`@Param`(required = false) - public java.util.List systemTags; + public java.util.List<String> systemTags; `@Param`(required = false) - public java.util.List userTags; + public java.util.List<String> userTags;
| field { | ||
| name "consistent" | ||
| desc "是否一直" | ||
| type "boolean" | ||
| since "5.0.0" |
There was a problem hiding this comment.
字段描述疑似笔误
“是否一直”建议改为“是否一致”,避免歧义。
✅ 建议修改
- desc "是否一直"
+ desc "是否一致"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| field { | |
| name "consistent" | |
| desc "是否一直" | |
| type "boolean" | |
| since "5.0.0" | |
| field { | |
| name "consistent" | |
| desc "是否一致" | |
| type "boolean" | |
| since "5.0.0" |
🤖 Prompt for AI Agents
In
`@header/src/main/java/org/zstack/header/storage/primary/APICheckPrimaryStorageConsistencyEventDoc_zh_cn.groovy`
around lines 9 - 13, The field description for the "consistent" field contains a
typo ("是否一直"); update the desc value to the correct wording "是否一致" in the
APICheckPrimaryStorageConsistencyEventDoc_zh_cn.groovy definition so the
documentation accurately reflects that this boolean indicates whether the
storage is consistent.
APIImpact
Resolves: ZSV-1
Change-Id: I70637377776e777070676c6a6c616e74786b6667
sync from gitlab !9195