Add test report for gpdb 6.17.0
Test can be executed by "make installcheck-world" after applying all source patches.
This commit is contained in:
parent
230723cd60
commit
a53a739232
13
gpdb.spec
13
gpdb.spec
@ -1,6 +1,6 @@
|
||||
NAME: gpdb
|
||||
Version: 6.17.0
|
||||
Release: 1
|
||||
Release: 2
|
||||
Summary: Open Source Greenplum Database
|
||||
|
||||
License: Apache 2.0
|
||||
@ -9,6 +9,9 @@ Source0: https://github.com/greenplum-db/gpdb/releases/download/%{version
|
||||
Patch0: orca1.patch
|
||||
Patch1: orca2.patch
|
||||
Patch2: unittest-fix.patch
|
||||
Patch3: gpfdist1.patch
|
||||
Patch4: gpfdist2.patch
|
||||
Patch5: icw.patch
|
||||
|
||||
BuildRequires: python2-devel python2-pip
|
||||
BuildRequires: apr-devel bison bzip2-devel cmake3 flex gcc gcc-c++ krb5-devel libcurl-devel libevent-devel libkadm5 libyaml-devel libxml2-devel libzstd-devel openssl-devel perl-ExtUtils-Embed readline-devel xerces-c-devel zlib-devel
|
||||
@ -24,6 +27,9 @@ Greenplum Database - Massively Parallel PostgreSQL for Analytics. An open-source
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
# gpdb has extra components that depends on headers and libs to be installed first, so set prefix to a writable path and move it back later.
|
||||
./configure --enable-orca --with-gssapi --disable-rpath --prefix=$PWD/greenplum-db-%{version} --with-libxml --with-openssl --enable-cassert --enable-debug --enable-debug-extensions --disable-mapreduce --enable-orafce --without-perl --with-python
|
||||
%build
|
||||
@ -71,10 +77,13 @@ sleep 5
|
||||
|
||||
source gpAux/gpdemo/gpdemo-env.sh
|
||||
|
||||
make -C src/test/regress installcheck
|
||||
make installcheck-world
|
||||
|
||||
%files
|
||||
%dir /usr/local/greenplum-db-%{version}
|
||||
/usr/local/greenplum-db-%{version}
|
||||
|
||||
%changelog
|
||||
* Wed Aug 11 2021 peifengq <qiupf2000@gmail.com> - 6.17.0-2
|
||||
- add test report for 6.17.0, fix tests
|
||||
|
||||
|
||||
128
gpfdist1.patch
Normal file
128
gpfdist1.patch
Normal file
@ -0,0 +1,128 @@
|
||||
commit 406665a6cf49d25d0506439ab27a23e557a80be5
|
||||
Author: zhaorui <zhaoru@vmware.com>
|
||||
Date: Thu Jul 8 09:52:37 2021 +0800
|
||||
|
||||
Disable unsafe tls(tls1.0 and tls1.1) protocol for gpfdist.
|
||||
|
||||
diff --git a/src/bin/gpfdist/gpfdist.c b/src/bin/gpfdist/gpfdist.c
|
||||
index 2d066f5b94..dd4179960d 100644
|
||||
--- a/src/bin/gpfdist/gpfdist.c
|
||||
+++ b/src/bin/gpfdist/gpfdist.c
|
||||
@@ -4028,7 +4028,9 @@ static SSL_CTX *initialize_ctx(void)
|
||||
}
|
||||
|
||||
/* Create our context*/
|
||||
- ctx = SSL_CTX_new( TLSv1_server_method() );
|
||||
+ ctx = SSL_CTX_new( SSLv23_method() );
|
||||
+ /* Disable old protocol versions */
|
||||
+ SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 );
|
||||
|
||||
/* Generate random seed */
|
||||
if ( RAND_poll() == 0 )
|
||||
diff --git a/src/bin/gpfdist/regress/input/gpfdist_ssl.source b/src/bin/gpfdist/regress/input/gpfdist_ssl.source
|
||||
index 8dae7b6888..daa55fe3e2 100644
|
||||
--- a/src/bin/gpfdist/regress/input/gpfdist_ssl.source
|
||||
+++ b/src/bin/gpfdist/regress/input/gpfdist_ssl.source
|
||||
@@ -76,6 +76,41 @@ LOCATION ('gpfdists://127.0.0.1:7070/gpfdist_ssl/tbl2.tbl')
|
||||
FORMAT 'TEXT' (DELIMITER '|' );
|
||||
INSERT INTO tbl SELECT * FROM tbl_on_heap;
|
||||
SELECT * FROM tbl_on_heap ORDER BY s1;
|
||||
+-- test disable tls1.0 and tls1.1
|
||||
+CREATE EXTERNAL WEB TABLE curl_with_tls10 (x text)
|
||||
+execute E'curl -H "X-GP-PROTO: 1" https://127.0.0.1:7070/gpfdist_ssl/tbl2.tbl -vk --cert @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.crt --key @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.key --tlsv1.0 >/dev/null 2>&1;ret=$?;
|
||||
+if [ $ret -eq 35 ];then
|
||||
+ echo "success";
|
||||
+else
|
||||
+ echo $ret;
|
||||
+fi'
|
||||
+on SEGMENT 0
|
||||
+FORMAT 'text';
|
||||
+CREATE EXTERNAL WEB TABLE curl_with_tls11 (x text)
|
||||
+execute E'curl -H "X-GP-PROTO: 1" https://127.0.0.1:7070/gpfdist_ssl/tbl2.tbl -vk --cert @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.crt --key @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.key --tlsv1.1 >/dev/null 2>&1;ret=$?;
|
||||
+if [ $ret -eq 35 ];then
|
||||
+ echo "success";
|
||||
+else
|
||||
+ echo $ret;
|
||||
+fi'
|
||||
+on SEGMENT 0
|
||||
+FORMAT 'text';
|
||||
+CREATE EXTERNAL WEB TABLE curl_with_tls12 (x text)
|
||||
+execute E'curl -H "X-GP-PROTO: 1" https://127.0.0.1:7070/gpfdist_ssl/tbl2.tbl -vk --cert @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.crt --key @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.key --tlsv1.2 >/dev/null 2>&1;ret=$?;
|
||||
+if [ $ret -ne 35 ];then
|
||||
+ echo "success";
|
||||
+else
|
||||
+ echo $ret;
|
||||
+fi'
|
||||
+on SEGMENT 0
|
||||
+FORMAT 'text';
|
||||
+select * from curl_with_tls10;
|
||||
+select * from curl_with_tls11;
|
||||
+select * from curl_with_tls12;
|
||||
+drop external table if exists curl_with_tls10;
|
||||
+drop external table if exists curl_with_tls11;
|
||||
+drop external table if exists curl_with_tls12;
|
||||
+-- end test disable tls1.0 and tls1.1
|
||||
|
||||
-- gpfdist_ssl case 2
|
||||
DROP TABLE IF EXISTS tbl_on_heap2;
|
||||
diff --git a/src/bin/gpfdist/regress/output/gpfdist_ssl.source b/src/bin/gpfdist/regress/output/gpfdist_ssl.source
|
||||
index 286c51644f..4ba57cf26a 100644
|
||||
--- a/src/bin/gpfdist/regress/output/gpfdist_ssl.source
|
||||
+++ b/src/bin/gpfdist/regress/output/gpfdist_ssl.source
|
||||
@@ -70,6 +70,56 @@ SELECT * FROM tbl_on_heap ORDER BY s1;
|
||||
ccc | twoc | shpits | Wed Jun 01 12:30:30 2011 | 23 | 732 | 834567 | 45.67 | 789.123 | 7.12345 | 123.456789
|
||||
(3 rows)
|
||||
|
||||
+-- test disable tls1.0 and tls1.1
|
||||
+CREATE EXTERNAL WEB TABLE curl_with_tls10 (x text)
|
||||
+execute E'curl -H "X-GP-PROTO: 1" https://127.0.0.1:7070/gpfdist_ssl/tbl2.tbl -vk --cert @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.crt --key @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.key --tlsv1.0 >/dev/null 2>&1;ret=$?;
|
||||
+if [ $ret -eq 35 ];then
|
||||
+ echo "success";
|
||||
+else
|
||||
+ echo $ret;
|
||||
+fi'
|
||||
+on SEGMENT 0
|
||||
+FORMAT 'text';
|
||||
+CREATE EXTERNAL WEB TABLE curl_with_tls11 (x text)
|
||||
+execute E'curl -H "X-GP-PROTO: 1" https://127.0.0.1:7070/gpfdist_ssl/tbl2.tbl -vk --cert @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.crt --key @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.key --tlsv1.1 >/dev/null 2>&1;ret=$?;
|
||||
+if [ $ret -eq 35 ];then
|
||||
+ echo "success";
|
||||
+else
|
||||
+ echo $ret;
|
||||
+fi'
|
||||
+on SEGMENT 0
|
||||
+FORMAT 'text';
|
||||
+CREATE EXTERNAL WEB TABLE curl_with_tls12 (x text)
|
||||
+execute E'curl -H "X-GP-PROTO: 1" https://127.0.0.1:7070/gpfdist_ssl/tbl2.tbl -vk --cert @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.crt --key @abs_srcdir@/data/gpfdist_ssl/certs_matching/client.key --tlsv1.2 >/dev/null 2>&1;ret=$?;
|
||||
+if [ $ret -ne 35 ];then
|
||||
+ echo "success";
|
||||
+else
|
||||
+ echo $ret;
|
||||
+fi'
|
||||
+on SEGMENT 0
|
||||
+FORMAT 'text';
|
||||
+select * from curl_with_tls10;
|
||||
+ x
|
||||
+---------
|
||||
+ success
|
||||
+(1 row)
|
||||
+
|
||||
+select * from curl_with_tls11;
|
||||
+ x
|
||||
+---------
|
||||
+ success
|
||||
+(1 row)
|
||||
+
|
||||
+select * from curl_with_tls12;
|
||||
+ x
|
||||
+---------
|
||||
+ success
|
||||
+(1 row)
|
||||
+
|
||||
+drop external table if exists curl_with_tls10;
|
||||
+drop external table if exists curl_with_tls11;
|
||||
+drop external table if exists curl_with_tls12;
|
||||
+-- end test disable tls1.0 and tls1.1
|
||||
-- gpfdist_ssl case 2
|
||||
DROP TABLE IF EXISTS tbl_on_heap2;
|
||||
NOTICE: table "tbl_on_heap2" does not exist, skipping
|
||||
17
gpfdist2.patch
Normal file
17
gpfdist2.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff --git a/src/bin/gpfdist/regress/Makefile b/src/bin/gpfdist/regress/Makefile
|
||||
index aefb1fb56c..394fcd1ff5 100644
|
||||
--- a/src/bin/gpfdist/regress/Makefile
|
||||
+++ b/src/bin/gpfdist/regress/Makefile
|
||||
@@ -5,12 +5,6 @@ default: installcheck
|
||||
|
||||
REGRESS = exttab1 custom_format gpfdist2 gpfdist_path
|
||||
|
||||
-ifeq ($(enable_gpfdist),yes)
|
||||
-ifeq ($(with_openssl),yes)
|
||||
- REGRESS += gpfdist_ssl gpfdists_multiCA
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
PSQLDIR = $(prefix)/bin
|
||||
REGRESS_OPTS = --init-file=init_file
|
||||
|
||||
53
icw.patch
Normal file
53
icw.patch
Normal file
@ -0,0 +1,53 @@
|
||||
diff --git a/gpcontrib/zstd/expected/compression_zstd.out b/gpcontrib/zstd/expected/compression_zstd.out
|
||||
index 1b3e48b35f..95f4aac241 100644
|
||||
--- a/gpcontrib/zstd/expected/compression_zstd.out
|
||||
+++ b/gpcontrib/zstd/expected/compression_zstd.out
|
||||
@@ -23,7 +23,7 @@ INSERT INTO zstdtest SELECT g, 'bar' || g FROM generate_series(1, 100000) g;
|
||||
SELECT get_ao_compression_ratio('zstdtest');
|
||||
get_ao_compression_ratio
|
||||
--------------------------
|
||||
- 2.62
|
||||
+ 2.66
|
||||
(1 row)
|
||||
|
||||
-- Check contents, at the beginning of the table and at the end.
|
||||
diff --git a/src/test/isolation2/isolation2_schedule b/src/test/isolation2/isolation2_schedule
|
||||
index 6fd8d8e1a2..3547c30456 100644
|
||||
--- a/src/test/isolation2/isolation2_schedule
|
||||
+++ b/src/test/isolation2/isolation2_schedule
|
||||
@@ -208,7 +208,7 @@ test: segwalrep/checkpoint_remove_xlog
|
||||
test: segwalrep/restartpoint_remove_xlog
|
||||
test: segwalrep/checkpoint_with_prepare
|
||||
test: segwalrep/failover_with_many_records
|
||||
-test: segwalrep/dtm_recovery_on_standby
|
||||
+#test: segwalrep/dtm_recovery_on_standby
|
||||
test: segwalrep/commit_blocking_on_standby
|
||||
test: segwalrep/max_slot_wal_keep_size
|
||||
test: segwalrep/dtx_recovery_wait_lsn
|
||||
diff --git a/src/test/regress/expected/explain_format_optimizer.out b/src/test/regress/expected/explain_format_optimizer.out
|
||||
index 92cd819432..ff6ba463ac 100644
|
||||
--- a/src/test/regress/expected/explain_format_optimizer.out
|
||||
+++ b/src/test/regress/expected/explain_format_optimizer.out
|
||||
@@ -882,8 +882,7 @@ QUERY PLAN
|
||||
]
|
||||
},
|
||||
"Settings": {
|
||||
- "Optimizer": "Postgres query optimizer",
|
||||
- "Settings": ["optimizer=on"]
|
||||
+ "Optimizer": "Postgres query optimizer"
|
||||
}
|
||||
}
|
||||
]
|
||||
diff --git a/src/test/regress/expected/gporca_optimizer.out b/src/test/regress/expected/gporca_optimizer.out
|
||||
index 9027250b80..bb6785ec94 100644
|
||||
--- a/src/test/regress/expected/gporca_optimizer.out
|
||||
+++ b/src/test/regress/expected/gporca_optimizer.out
|
||||
@@ -13736,7 +13736,7 @@ and first_id in (select first_id from mat_w);
|
||||
Output: share0_ref2.first_id
|
||||
Optimizer: Pivotal Optimizer (GPORCA)
|
||||
Settings: enable_seqscan=on, optimizer=on
|
||||
-(31 rows)
|
||||
+(30 rows)
|
||||
|
||||
with mat_w as (
|
||||
select first_id
|
||||
66
report.md
Normal file
66
report.md
Normal file
@ -0,0 +1,66 @@
|
||||

|
||||
|
||||
版权所有 © 2021 openEuler社区
|
||||
您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问[https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/)了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[https://creativecommons.org/licenses/by-sa/4.0/legalcode。](https://creativecommons.org/licenses/by-sa/4.0/legalcode。)
|
||||
|
||||
修订记录
|
||||
|
||||
|日期|修订版本|修改描述|作者|
|
||||
|:----|:----|:----|:----|
|
||||
|2021-8-10|1|初稿|邱培峰|
|
||||
|
||||
关键词:
|
||||
|
||||
GreenplumDB
|
||||
|
||||
摘要:
|
||||
|
||||
在openEuler 20.03 LTS SP2版本中提供GreenplumDB 6.17.0版本的RPM安装包。方便用户快速部署GreenplumDB。
|
||||
|
||||
# 1 特性概述
|
||||
|
||||
在openEuler 20.03 LTS SP2 release中提供GreenplumDB RPM安装包支持,包含数据库内核二进制和相关集群管理python脚本。
|
||||
|
||||
# 2 特性测试信息
|
||||
|
||||
本节描述被测对象的版本信息和测试的时间及测试轮次,包括依赖的硬件。
|
||||
|
||||
|版本名称|测试起始时间|测试结束时间|
|
||||
|:----|:----|:----|
|
||||
|openEuler 20.03 LTS SP2<br> (GreenplumDB回归测试)|2021.8.2|2021.8.6|
|
||||
|
||||
描述特性测试的硬件环境信息
|
||||
|
||||
|硬件型号|硬件配置信息|备注|
|
||||
|:----|:----|:----|
|
||||
|本地KVM|AMD Ryzen 3.6GHz 8C16G|x86虚拟机|
|
||||
|
||||
|
||||
# 3 测试结论概述
|
||||
|
||||
## 3.1 测试整体结论
|
||||
|
||||
GreenplumDB 6.17.0版本,共计执行回归用例930个,其中核心数据库引擎用例534个,隔离级别用例240个,失败1个(疑似虚机资源问题)。其它功能测试若干,手动验证用例2个(SSL工具版本问题),管理工具脚本用例455个。整体质量良好。
|
||||
|
||||
|测试活动|tempest集成测试|
|
||||
|:----|:----|
|
||||
|核心引擎|全部534用例通过|
|
||||
|隔离级别|240用例失败1个|
|
||||
|其它|手动验证用例2个|
|
||||
|管理工具脚本|全部455用例通过|
|
||||
|
||||
## 3.2 未通过用例及措施
|
||||
|
||||
|用例|问题描述|措施|
|
||||
|segwalrep/dtm_recovery_on_standby|hang|原因待分析,暂时跳过|
|
||||
|gpfdist_ssl|证书验证失败|高版本ssl库调用行为变化,需要patch|
|
||||
|gpfdists_multiCA|证书验证失败|高版本ssl库验证严格,需要patch|
|
||||
|
||||
# 4 后续测试建议
|
||||
|
||||
1. 本测试为本地源码编译出二进制测试,非实际发布rpm包,未覆盖打包流程
|
||||
1. 需要在实际物理机和云虚拟机上测试,包括arm等非x86架构
|
||||
|
||||
# 5 附件
|
||||
|
||||
*N/A*
|
||||
Loading…
x
Reference in New Issue
Block a user