From 302547a00c5bc24124471a513013529e553dfc43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=A3=B4=E7=90=B3=E5=80=A9?= <576703774@qq.com>
Date: Mon, 3 Mar 2025 22:03:34 +0800
Subject: [PATCH] =?UTF-8?q?=E5=90=91=E9=87=8FPQ=E7=B4=A2=E5=BC=95=E6=B5=8B?=
=?UTF-8?q?=E8=AF=95=E8=A1=A5=E5=85=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...13\350\257\225\346\212\245\345\221\212.md" | 135 +++++++++---------
1 file changed, 69 insertions(+), 66 deletions(-)
diff --git "a/Test_Result/openGauss_7.0.0_RC1/\345\206\205\346\240\270\345\212\240\351\200\237/IVF-PQ\347\264\242\345\274\225\347\256\227\346\263\225\346\224\257\346\214\201\357\274\214\350\236\215\345\220\210PQ\350\267\235\347\246\273\350\256\241\347\256\227\345\212\240\351\200\237\347\256\227\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openGauss_7.0.0_RC1/\345\206\205\346\240\270\345\212\240\351\200\237/IVF-PQ\347\264\242\345\274\225\347\256\227\346\263\225\346\224\257\346\214\201\357\274\214\350\236\215\345\220\210PQ\350\267\235\347\246\273\350\256\241\347\256\227\345\212\240\351\200\237\347\256\227\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md"
index 66f06a7..ce27332 100644
--- "a/Test_Result/openGauss_7.0.0_RC1/\345\206\205\346\240\270\345\212\240\351\200\237/IVF-PQ\347\264\242\345\274\225\347\256\227\346\263\225\346\224\257\346\214\201\357\274\214\350\236\215\345\220\210PQ\350\267\235\347\246\273\350\256\241\347\256\227\345\212\240\351\200\237\347\256\227\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md"
+++ "b/Test_Result/openGauss_7.0.0_RC1/\345\206\205\346\240\270\345\212\240\351\200\237/IVF-PQ\347\264\242\345\274\225\347\256\227\346\263\225\346\224\257\346\214\201\357\274\214\350\236\215\345\220\210PQ\350\267\235\347\246\273\350\256\241\347\256\227\345\212\240\351\200\237\347\256\227\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md"
@@ -31,12 +31,13 @@
### 2.1.1 被测版本
-| 版本名称 | 软件包名称 | 测试起始时间 | 测试结束时间 | 测试人员 |
-| ----------------------------------- | ---------- | ------------ | ------------ | ---------- |
-| openGauss 7.0.0-RC1 build 807fd476 | openGauss | 2025-2-1 | 2025-2-13 | peilinqian |
-| openGauss 7.0.0-RC1 build 7e79432c | openGauss | 2025-2-20 | 2025-2-25 | peilinqian |
-| openGauss 7.0.0-RC1 build 6309f4cb | openGauss | 2024-2-26 | 2025-2-28 | peilinqian |
-| BoostKit 25.0.RC1 | Boostkit | 2025-2-20 | 2025-2-28 | peilinqian |
+| 版本名称 | 软件包名称 | 测试起始时间 | 测试结束时间 | 测试人员 |
+| ---------------------------------- | ---------- | ------------ | ------------ | ---------- |
+| openGauss 7.0.0-RC1 build a44948f6 | openGauss | 2025-12-23 | 2025-12-25 | peilinqian |
+| openGauss 7.0.0-RC1 build 7e79432c | openGauss | 2025-2-20 | 2025-2-25 | peilinqian |
+| openGauss 7.0.0-RC1 build 6309f4cb | openGauss | 2024-2-26 | 2025-2-28 | peilinqian |
+| Boostkit 24.0.T15.B011 | Boostkit | 2025-2-20 | 2025-2-25 | peilinqian |
+| BoostKit 25.0.RC1 | Boostkit | 2025-2-20 | 2025-2-28 | peilinqian |
## 2.2 测试环境描述
@@ -79,13 +80,9 @@
### 4.1.1 新需求质量评价
-*建议以表格的形式汇总本阶段新特性的商用化建议(此章节除了考虑可靠性、性能、开源等风险评估之外,还需考虑基础特性安全与隐私风险),如下表格所示。*
-
-*下表仅供参考,不作为强制输出方式。*
-
-| 特性 | 特性价值评估 | 应用说明及关键约束假设依赖 | 关键遗留事项如缺陷等 | 测试整体覆盖情况 | 特性质量评估 | 主要风险 |
-| ---- | ------------------------ | -------------------------- | ---------------------------------- | ---------------------------- | ----------------------------------------------------- | --------------------- |
-| PQ | PQ索引功能正常,性能达标 | 需要加载boostkit插件 | IVFPQ索引残差特性开启会导致dml卡死 | 功能、可靠性、性能覆盖完成。 | ▲ | 暂时存在功能bug待解决 |
+| 特性 | 特性价值评估 | 应用说明及关键约束假设依赖 | 关键遗留事项如缺陷等 | 测试整体覆盖情况 | 特性质量评估 | 主要风险 |
+| ------------------------------------------ | ------------------------------------------------------------ | ---------------------------------- | -------------------- | ---------------------------------- | ----------------------------------------------------- | --------------------- |
+| IVF-PQ索引算法支持,融合PQ距离计算加速算法 | 乘积量化(Product Quantization, PQ)是一种基于高效压缩高维向量的方法,适用于大规模数据集的相似度搜索。通过将高维向量分割成为多个低维子向量,并对每个子向量进行独立聚类,将原始向量表示为一系列质心,从而显著减少内存使用和提升检索速度。 | 安装完数据库后需要加载boostkit插件 | | 功能、可靠性、性能、资料覆盖完成。 | ▲ | 暂时存在功能bug待解决 |
*特性质量评估说明*:
@@ -99,7 +96,7 @@
### 4.2.1 功能测试结论
-索引创建、修改、dml交互测试功能正常。
+索引创建、修改、重建、与dml交互测试、索引检索及索引检索Guc参数交互测试功能正常。
### 4.2.2 性能测试结论
@@ -122,7 +119,12 @@ EMR8558P操作系统;openEuler 22.03LTS SP3,编译器:GCC10.3,python:3.1
### 4.2.3 可靠性测试结论
-索引构建、重建、修改、检索过程进行故障注入,功能正常抛错、数据库状态正常
+| 测试场景 | 测试结果 |
+| ------------------------------------------------------------ | -------- |
+| 构建索引、重建索引过程主机注入kill-9、kill-19、kill-2、重启switchover等故障,验证合理报错,恢复数据库再次执行成功 | |
+| 构建索引、重建索引过程备机注入kill-9、kill-19、重启switchover等故障,验证主机SQL执行正常,恢复数据库后,备机进行索引查询功能正常 | |
+| 存在索引场景下循环进行增删改数据过程注入kill-9、kill-19、kill-2、数据库重启,验证合理报错,恢复数据库后再次执行功能正常、主备数据一致 | |
+| 存在索引场景下使用索引查询过程注入kill-9、kill-2、重启数据库、或同时进行reindex,异常场景合理报错,恢复故障后,数据库功能正常 | |
### 4.2.4 安全&隐私保护测试结论
@@ -150,72 +152,64 @@ EMR8558P操作系统;openEuler 22.03LTS SP3,编译器:GCC10.3,python:3.1
## 4.3 资料测试结论
-| 序号 | 测试章节 | 测试结论 |
-| ---- | -------- | ----------------------------- |
-| 1 | | *整体质量良好/一般/较差,存在 |
-| | | |
+| 序号 | 测试章节 | 测试结论 |
+| ---- | ---------------------------------------------------------- | ------------ |
+| 1 | 文档地图>关于openGauss>特性描述>企业级特性>DataVec向量引擎 | 整体质量良好 |
+| 2 | 文档地图>数据库参考>GUC参数说明>DataVec向量引擎参数 | 整体质量良好 |
+| 3 | 文档地图>简易教程>高级特性>PQ | 整体质量良好 |
# 5 测试对象质量评估
-*本章节对被测对象的质量进行评估,主要从需求覆盖、场景覆盖等情况和缺陷发现的情况进行分析,目的是审视被测试的充分性和完备性,以说明上述测试结论的可信。*
-
## 5.1 覆盖率分析
*对测试的覆盖率进行分析,根据版本具体覆盖策略给出相应覆盖率分析,如需求覆盖情况、代码覆盖情况、场景覆盖等。根据产品覆盖策略给出覆盖率统计,对于覆盖率异常情况给出分析和后续措施。*
## 5.2 缺陷统计和分析
-*给出各特性或模块缺陷的分布或分类统计以及缺陷走势分析。建议通过表格说明,下表仅供参考,不作为强制输出方式*
-
### 5.2.1 缺陷统计
-| | 问题总数 | 严重 | 主要 | 次要 | 不重要 |
-| ------ | -------- | ---- | ---- | ---- | ------ |
-| 数目 | 7 | | | | |
-| 百分比 | | | | | |
+| | 问题总数 | 严重 | 主要 | 次要 | 不重要 |
+| ------ | -------- | ---- | ----- | ----- | ------ |
+| 数目 | 8 | 0 | 5 | 3 | 0 |
+| 百分比 | 100% | 0% | 62.5% | 37.5% | 0% |
### 5.2.2 缺陷列表
-| 问题单号 | 问题描述 | 问题级别 | 当前状态 |
-| -------- | -------- | -------- | -------- |
-| | | | |
+| 问题单号 | 问题描述 | 问题级别 | 当前状态 |
+| ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | -------- |
+| [IBPAF3](https://gitee.com/opengaussorg/dashboard?issue_id=IBPAF3) | 【测试类型:资料】【测试版本:7.0.0】 DATAVEC PQ相关资料链接失效、页面缩进格式需要调整、部分说明需要增加 | 次要 | 待办的 |
+| [IBOUP5](https://gitee.com/opengaussorg/dashboard?issue_id=IBOUP5) | 【测试类型:SQL功能】【测试版本:7.0.0】 ivfpq索引选项by_residual为on的情况下,update、insert数据产生lwlock deadlock后FATAL | 主要 | 待办的 |
+| [IBNVZ0](https://gitee.com/opengaussorg/dashboard?issue_id=IBNVZ0) | 【测试类型:资料】【测试版本:7.0.0】 IVFPQ索引选项lists为200,查询参数ivfflat_probes为200的情况下,查询召回率为0或者极低 | 主要 | 已验收 |
+| [IBNP8Q](https://gitee.com/opengaussorg/dashboard?issue_id=IBNP8Q) | 【测试类型:SQL功能】【测试版本:7.0.0】 PQ向量索引查询极低概率会出现“ERROR: could not open file "base/15018/59217.1" (target block 327686): No such file or directory” | 次要 | 待办的 |
+| [IBMRPT](https://gitee.com/opengaussorg/dashboard?issue_id=IBMRPT) | 【测试类型:资料】【测试版本:7.0.0】 PQ索引已支持IVFPQ,但是“DataVec向量引擎”页面资料未更新资料。PQ索引创建数据量小于pq_ksub值会NOTICE提示召回率低,建议资料增加说明约束 | 次要 | 已验收 |
+| [IBMR9S](https://gitee.com/opengaussorg/dashboard?issue_id=IBMR9S) | 【测试类型:SQL功能】【测试版本:7.0.0】 使用HNSWPQ,内积距离索引查询召回率为0 | 主要 | 已验收 |
+| [IBLNZ1](https://gitee.com/opengaussorg/dashboard?issue_id=IBLNZ1) | 【测试类型:SQL功能】【测试版本:7.0.0】 hnswpq索引,在高维度场景下,创建索引选项pq_m值较大会出现failed,执行失败 | 主要 | 已验收 |
+| [IBGJGG](https://gitee.com/opengaussorg/dashboard?issue_id=IBGJGG) | 【测试类型:SQL功能】【测试版本:7.0.0】 enable_hnswpq设置为on创建pq索引,再重新设置enable_hnswpq为off重启集群后,使用pq索引查询表,数据库异常core | 主要 | 已验收 |
# 6 测试过程评估
-*本章节对测试过程进行评估,包括测试策略、测试设计和测试执行,目的是审视测试过程的执行情况,分析有待进一步开展测试和需要改进的地方。*
-
## 6.1 测试策略回顾
-*回顾本阶段的测试策略,建议以表格的方式检查测试策略规定的活动是否都已经落实。*
-
-| 编号 | 特性 | 验证策略 | 是否按照测试策略执行 |
-| ---- | ---- | ------------------------------------------------ | -------------------- |
-| 1 | xxx | *测试设计阶段与测试owner、TSE、SE对齐的测试策略* | YES/NO |
-| | | | |
-| | | | |
+| 编号 | 特性 | 验证策略 | 是否按照测试策略执行 |
+| ---- | ---------------------- | ------------------------------------------------------------ | -------------------- |
+| 1 | PQ索引开关 | 通过设置GUC参数进行验证,设置值与PQ加速插件具备情况组合测试,验证功能正常、异常情况合理报错 | YES |
+| 2 | PQ索引创建、修改、重构 | 创建HNSWPQ、IVFPQ索引选项参数、不同索引距离覆盖验证;验证不同索引选项设置不同值后存储空间、执行时长、查询结果召回率准确度趋势验证,功能正常;不同SQL执行场景下可靠性场景验证正常; | YES |
+| 3 | PQ索引检索 | 验证索引检索GUC参数功能验证、设置不同值对查询结果召回率准确性影响趋势正常;索引检索过程下可靠性场景验证正常; | YES |
+| 4 | PQ索引性能 | | |
## 6.2 测试设计评估
-*提供对本次测试活动的测试设计的评估。可结合测试设计评审建议;评审完成,测试过程中,发现的新增或删减的测试点进行说明。*
-
-| 编号 | 测试点修改说明 | 修改原因 | 是否影响测试质量 |
-| ---- | ------------------------------------------------------------ | ----------- | ---------------- |
-| | *测试设计评审通过后,在实际测试执行过程中,发现的新增或删减的测试点列举* | *增/删原因* | *是/否* |
-| | | | |
-| | | | |
+无
## 6.3 测试执行评估
-*提供对本次测试活动的测试执行过程的评估结论。描述对测试执行活动的改进建议,以供后续测试执行活动中借鉴参考;*
-
-*测试执行活动评估结论可依据以下提供的“测试执行统计数据”及“测试用例执行结果统计数据”进行分析而给出。*
-
### 6.3.1 测试执行统计数据
-| 版本名称 | 工作量投入(人天) | 测试用例数 | 用例执行数 | 发现缺陷数 | 代码量(KLOC) | 缺陷密度 |
-| -------- | ---------------- | ---------- | ---------- | ---------- | -------------- | -------- |
-| | | | | | | |
-| | | | | | | |
+| 版本名称 | 工作量投入(人天) | 测试用例数 | 用例执行数 | 发现缺陷数 | 代码量(KLOC) | 缺陷密度 |
+| ------------------------ | ---------------- | ---------- | ---------- | ---------- | -------------- | -------- |
+| openGauss 7.0.0-RC1 B010 | 3 | 4 | 4 | 1 | 3.493 | 0.28 |
+| openGauss 7.0.0-RC1 B016 | 5 | 110 | 110 | 4 | 3.493 | 1.124 |
+| openGauss 7.0.0-RC1 B017 | 5 | 72 | 72 | 3 | 3.493 | 0.859 |
*数据项说明:*
@@ -229,13 +223,12 @@ EMR8558P操作系统;openEuler 22.03LTS SP3,编译器:GCC10.3,python:3.1
### 6.3.2 测试用例执行结果统计数据
-*对本次测试用例执行结果统计,其中的字段可根据实际情况进行设计和裁剪。对于Failed,Blocked,Unavailable的测试用例项不为0,须给出说明,并明确相应的后续计划(如:对于物料问题导致未执行用例,则需明确相应的物料计划;对于Blocked用例,需明确问题解决与相应版本的测试时间等)。对于最后一轮测试,要给出相应的规避措施。正文内容写明该需求共计多少用例*
-
| | 计划测试用例数 | 实际测试的用例数 | Passed | Failed | Blocked | Unavailable | 执行率 | 执行通过率 |
| ------ | -------------- | ---------------- | ------ | ------ | ------- | ----------- | ------ | ---------- |
-| 第一轮 | | | | | | | | |
-| 第二轮 | | | | | | | | |
-| ... | | | | | | | | |
+| 第一轮 | 4 | 4 | 3 | 1 | 0 | 0 | 100% | 75% |
+| 第二轮 | 110 | 110 | 50 | 60 | 0 | 0 | 100% | 45% |
+| 第三轮 | 72 | 72 | 60 | 12 | 0 | 0 | 100% | 83% |
+| 第四轮 | | | | | | | | |
*其中:*
@@ -247,18 +240,28 @@ EMR8558P操作系统;openEuler 22.03LTS SP3,编译器:GCC10.3,python:3.1
*Unavailable由于软件本身以外,如环境、工具、物料、时间、人力资源等因素导致用例未执行*
-| 异常用例情况 | 影响分析 | 规避措施 | 后续计划 |
-| ------------------ | ---------------------------- | -------------------------------------- | -------- |
-| 如:Failed用例10个 | 描述异常用例对版本测试的影响 | 若是最后一轮测试,要给出相应的规避措施 | xxx |
+| 异常用例情况 | 影响分析 | 规避措施 | 后续计划 |
+| -------------- | ------------------------- | -------------------- | -------- |
+| Failed用例12个 | 影响IVFPQ索引启用残差计算 | IVF残差计算设置为off | 待优化 |
# 7 附件
## 7.1 附件1:遗留问题列表
-| 序号 | 问题单号 | 问题描述 | 分类 | 问题级别 | 问题分析与影响 | 规避措施 |
-| ---- | -------- | -------- | ---- | -------- | -------------- | ---------------------------------- |
-| 1 | XX | XX | XX | XX | XX | 恢复手段:集群在core仍可以恢复正常 |
+待定
+
+| 序号 | 问题单号 | 问题描述 | 分类 | 问题级别 | 问题分析与影响 | 规避措施 |
+| ---- | -------- | -------- | ---- | -------- | -------------- | -------- |
+| 1 | | | | | | |
## 7.2 附件2:特性相关PR
-*提供本需求相关的代码pr及资料pr*
\ No newline at end of file
+代码PR:
+
+https://gitee.com/opengauss/openGauss-server/pulls/6786
+https://gitee.com/opengauss/openGauss-server/pulls/7119
+
+资料PR:
+
+https://gitee.com/opengauss/docs/pulls/6997
+https://gitee.com/opengauss/docs/pulls/7184
\ No newline at end of file
--
Gitee