14 Star 0 Fork 4

openGauss / Plugin

 / 详情

【业务范畴:开源】【测试类型:插件】【测试活动:社区】【测试版本:master】【特性名称:算子插件化】【环境:裸机】创建分区表,调用tidrangescan失败

Accepted
Bug
Opened this issue  
2021-09-17 18:45

【标题描述】:
【测试类型:算子插件化】【测试版本:2.0.0】 创建分区表,调用tidrangescan失败
【操作系统和硬件信息】(查询命令: cat /etc/system-release, uname -a):
openEuler release 20.03 (LTS)
Linux openGauss33 4.19.90-2003.4.0.0036.oe1.aarch64 #1 SMP Mon Mar 23 19:06:43 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux

【测试环境】(单机/1主x备x级联备):
单机
【被测功能】:
算子插件化demo:tidrangescan
【测试类型】:
功能测试
【数据库版本】(查询命令: gaussdb –V):
gaussdb (openGauss 2.0.0 build ) compiled at 2021-09-15 09:04:15 commit 0 last mr
【预置条件】:
1.编译安装单机数据库
2.编译安装插件tidrangescan并创建拓展tidrangescan
【操作步骤】(请填写详细的操作步骤):
1.创建分区表,插入数据
--普通行存range分区表
create table t_tidrangescan_0008_03(c_int1 int,c_varchar varchar default 'test') partition by range(c_int1)(partition p1 values less than(100),partition p2 values less than(500),partition p3 values less than(1001));
create table t_tidrangescan_0008_04(c_int1 int,c_varchar varchar default 'test') partition by range(c_int1)(partition p1 values less than(100),partition p2 values less than(maxvalue));
--普通行存hash分区表,列存,临时行存,全局临时行存不支持
create table t_tidrangescan_0008_05(c_int1 int,c_varchar varchar default 'test') partition by hash(c_int1)(partition p1);
--普通行存list分区表,列存,临时行存,全局临时行存不支持
create table t_tidrangescan_0008_06(c_int1 int,c_varchar varchar default 'test') partition by list(c_int1)(partition p1 values(1),partition p2 values(2),partition p3 values(3));
--间隔行存range分区表
create table t_tidrangescan_0008_07(c_date date,c_varchar varchar default 'test') partition by range(c_date) interval ('1 day' )
(partition p1 values less than ('1900-01-01 00:00:00'));
2.调用tidrangescan
show enable_tidrangescan;show enable_seqscan;
set enable_tidrangescan to on;
set enable_seqscan to off;
show enable_tidrangescan;show enable_seqscan;
explain performance select count() from t_tidrangescan_0008_03 where ctid < '(2,0)' and ctid > '(0,0)';
explain performance select count(
) from t_tidrangescan_0008_04 where ctid < '(2,0)' and ctid > '(0,0)';
explain performance select count() from t_tidrangescan_0008_05 where ctid < '(2,0)' and ctid > '(0,0)';
explain performance select count(
) from t_tidrangescan_0008_06 where ctid < '(2,0)' and ctid > '(0,0)';
explain performance select count(*) from t_tidrangescan_0008_07 where ctid < '(2,0)' and ctid > '(0,0)';
【预期输出】:
1.建表插入数据成功
2.执行成功,走Tid Range Scan
【实际输出】:
1.建表插入数据成功
2.执行失败:提示【ERROR: could not open file "base/15225/65745": No such file or directory】
【原因分析】:

  1. 这个问题的根因
  2. 问题推断过程
  3. 还有哪些原因可能造成类似现象
  4. 该问题是否有临时规避措施
  5. 问题解决方案
  6. 预计修复问题时间

【日志信息】(请附上日志文件、截图、coredump信息):
postgres=# explain performance select count() from t_tidrangescan_0008_03 where ctid < '(2,0)' and ctid > '(0,0)';
ERROR: could not open file "base/15225/65745": No such file or directory
postgres=# explain performance select count(
) from t_tidrangescan_0008_04 where ctid < '(2,0)' and ctid > '(0,0)';
ERROR: could not open file "base/15225/65762": No such file or directory
postgres=# explain performance select count() from t_tidrangescan_0008_05 where ctid < '(2,0)' and ctid > '(0,0)';
ERROR: could not open file "base/15225/65775": No such file or directory
postgres=# explain performance select count(
) from t_tidrangescan_0008_06 where ctid < '(2,0)' and ctid > '(0,0)';
ERROR: could not open file "base/15225/65784": No such file or directory
postgres=# explain performance select count(*) from t_tidrangescan_0008_07 where ctid < '(2,0)' and ctid > '(0,0)';
ERROR: could not open file "base/15225/65801": No such file or directory

【测试代码】:

Comments (3)

wangxiang created缺陷
wangxiang set assignee to chenxiaobin
wangxiang set related repository to openGauss/Plugin
wangxiang set branch to master
wangxiang set priority to Main
wangxiang added
 
sig/sqlengine
label
Expand operation logs

Hey @wangxiang , Welcome to openGauss Community.
All of the projects in openGauss Community are maintained by @opengauss-bot .
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/opengauss/community/blob/master/contributors/command.en.md to find the details.

wangxiang changed priority from Main to Unimportant

1、tidrangescan目前属于演示算子插件化的一个demo,不随openGauss一起发布;
2、后续梳理tidrangescan在openGauss上表现和pg的其他差异项,视工作量再决策是否作为需求跟踪。

当前先将issue降级为不重要继续跟踪

chenxiaobin throughopengauss/Plugin Pull Request !10 changed issue state from 待办的 to 已完成

更新tidrangescan readme.md、分区表禁用tidrangescan

wangxiang changed issue state from 已完成 to 已验收

Sign in to comment

Status
Assignees
Projects
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
Duration (hours)
Confirm
参与者(3)
5622128 opengauss bot 1581905080
1
https://gitee.com/opengauss/Plugin.git
git@gitee.com:opengauss/Plugin.git
opengauss
Plugin
Plugin

Search

233307 c1314fcc 1850385 233305 0212f5e2 1850385