tuhaihe opened a new issue, #781:
URL: https://github.com/apache/cloudberry/issues/781
### Apache Cloudberry version
main
### What happened
When after building the Cloudberry based on the main branch, running the
`PGCLIENTENCODING=UTF8 PGOPTIONS='-c optimizer=off' make installcheck-world`
command, returned:
```
=======================
1 of 16 tests failed.
=======================
The differences that caused some tests to fail can be viewed in the
file "/home/gpadmin/cloudberry/src/test/isolation2/regression.diffs". A
copy of the test summary that you see
above is saved in the file
"/home/gpadmin/cloudberry/src/test/isolation2/regression.out".
make[2]: *** [Makefile:79: installcheck-parallel-retrieve-cursor] Error 1
make[2]: Leaving directory '/home/gpadmin/cloudberry/src/test/isolation2'
make[1]: *** [Makefile:57: installcheck-isolation2-recurse] Error 2
make[1]: Leaving directory '/home/gpadmin/cloudberry/src/test'
make: *** [GNUmakefile:186: installcheck-world-src/test-recurse] Error 2
```
```
[gpadmin@cdw cloudberry]$ cat
/home/gpadmin/cloudberry/src/test/isolation2/regression.diffs
diff -I HINT: -I CONTEXT: -I GP_IGNORE: -U3
/home/gpadmin/cloudberry/src/test/isolation2/expected/parallel_retrieve_cursor/explain.out
/home/gpadmin/cloudberry/src/test/isolation2/results/parallel_retrieve_cursor/explain.out
---
/home/gpadmin/cloudberry/src/test/isolation2/expected/parallel_retrieve_cursor/explain.out
2024-12-15 19:47:54.624363110 -0800
+++
/home/gpadmin/cloudberry/src/test/isolation2/results/parallel_retrieve_cursor/explain.out
2024-12-15 19:47:54.636363222 -0800
@@ -113,40 +113,40 @@
QUERY PLAN
___________
Seq Scan on pg_catalog.pg_class
- Output: oid, relname, relnamespace, reltype, reloftype, relowner, relam,
relfilenode, reltablespace, relpages, reltuples, relallvisible, reltoastrelid,
relhasindex, relisshared, relpersistence, relkind, relnatts, relchecks,
relhasrules, relhastriggers, relhassubclass, relrowsecurity,
relforcerowsecurity, relispopulated, relreplident, relispartition, relisivm,
relrewrite, relfrozenxid, relminmxid, relacl, reloptions, relpartbound
-GP_IGNORE:(3 rows)
+ Output: oid, relname, relnamespace, reltype, reloftype, relowner, relam,
relfilenode, reltablespace, relpages, reltuples, relallvisible, reltoastrelid,
relhasindex, relisshared, relpersistence, relkind, relnatts, relchecks,
relhasrules, relhastriggers, relhassubclass, relrowsecurity,
relforcerowsecurity, relispopulated, relreplident, relispartition, relisivm,
relisdynamic, relrewrite, relfrozenxid, relminmxid, relacl, reloptions,
relpartbound
+GP_IGNORE:(4 rows)
-- Test: explain output: Endpoint info (on coordinator/on some segments/on
all segments)
EXPLAIN (VERBOSE, COSTS false) DECLARE c1 PARALLEL RETRIEVE CURSOR FOR
SELECT * FROM pg_class;
QUERY PLAN
___________
Seq Scan on pg_catalog.pg_class
- Output: oid, relname, relnamespace, reltype, reloftype, relowner, relam,
relfilenode, reltablespace, relpages, reltuples, relallvisible, reltoastrelid,
relhasindex, relisshared, relpersistence, relkind, relnatts, relchecks,
relhasrules, relhastriggers, relhassubclass, relrowsecurity,
relforcerowsecurity, relispopulated, relreplident, relispartition, relisivm,
relrewrite, relfrozenxid, relminmxid, relacl, reloptions, relpartbound
+ Output: oid, relname, relnamespace, reltype, reloftype, relowner, relam,
relfilenode, reltablespace, relpages, reltuples, relallvisible, reltoastrelid,
relhasindex, relisshared, relpersistence, relkind, relnatts, relchecks,
relhasrules, relhastriggers, relhassubclass, relrowsecurity,
relforcerowsecurity, relispopulated, relreplident, relispartition, relisivm,
relisdynamic, relrewrite, relfrozenxid, relminmxid, relacl, reloptions,
relpartbound
Endpoint: "on coordinator"
-GP_IGNORE:(4 rows)
+GP_IGNORE:(5 rows)
EXPLAIN (VERBOSE, COSTS false) DECLARE c1 PARALLEL RETRIEVE CURSOR FOR
SELECT * FROM pg_class ORDER BY relname;
QUERY PLAN
___________
Index Scan using pg_class_relname_nsp_index on pg_catalog.pg_class
- Output: oid, relname, relnamespace, reltype, reloftype, relowner, relam,
relfilenode, reltablespace, relpages, reltuples, relallvisible, reltoastrelid,
relhasindex, relisshared, relpersistence, relkind, relnatts, relchecks,
relhasrules, relhastriggers, relhassubclass, relrowsecurity,
relforcerowsecurity, relispopulated, relreplident, relispartition, relisivm,
relrewrite, relfrozenxid, relminmxid, relacl, reloptions, relpartbound
+ Output: oid, relname, relnamespace, reltype, reloftype, relowner, relam,
relfilenode, reltablespace, relpages, reltuples, relallvisible, reltoastrelid,
relhasindex, relisshared, relpersistence, relkind, relnatts, relchecks,
relhasrules, relhastriggers, relhassubclass, relrowsecurity,
relforcerowsecurity, relispopulated, relreplident, relispartition, relisivm,
relisdynamic, relrewrite, relfrozenxid, relminmxid, relacl, reloptions,
relpartbound
Endpoint: "on coordinator"
GP_IGNORE:(5 rows)
EXPLAIN (VERBOSE, COSTS false) DECLARE c1 PARALLEL RETRIEVE CURSOR FOR
SELECT * FROM pg_class WHERE gp_segment_id=1;
QUERY PLAN
___________
Seq Scan on pg_catalog.pg_class
- Output: oid, relname, relnamespace, reltype, reloftype, relowner, relam,
relfilenode, reltablespace, relpages, reltuples, relallvisible, reltoastrelid,
relhasindex, relisshared, relpersistence, relkind, relnatts, relchecks,
relhasrules, relhastriggers, relhassubclass, relrowsecurity,
relforcerowsecurity, relispopulated, relreplident, relispartition, relisivm,
relrewrite, relfrozenxid, relminmxid, relacl, reloptions, relpartbound
+ Output: oid, relname, relnamespace, reltype, reloftype, relowner, relam,
relfilenode, reltablespace, relpages, reltuples, relallvisible, reltoastrelid,
relhasindex, relisshared, relpersistence, relkind, relnatts, relchecks,
relhasrules, relhastriggers, relhassubclass, relrowsecurity,
relforcerowsecurity, relispopulated, relreplident, relispartition, relisivm,
relisdynamic, relrewrite, relfrozenxid, relminmxid, relacl, reloptions,
relpartbound
Filter: (pg_class.gp_segment_id = 1)
Endpoint: "on coordinator"
-GP_IGNORE:(5 rows)
+GP_IGNORE:(6 rows)
EXPLAIN (VERBOSE, COSTS false) DECLARE c1 PARALLEL RETRIEVE CURSOR FOR
SELECT * FROM pg_class WHERE gp_segment_id=1 OR gp_segment_id=2;
QUERY PLAN
___________
Seq Scan on pg_catalog.pg_class
- Output: oid, relname, relnamespace, reltype, reloftype, relowner, relam,
relfilenode, reltablespace, relpages, reltuples, relallvisible, reltoastrelid,
relhasindex, relisshared, relpersistence, relkind, relnatts, relchecks,
relhasrules, relhastriggers, relhassubclass, relrowsecurity,
relforcerowsecurity, relispopulated, relreplident, relispartition, relisivm,
relrewrite, relfrozenxid, relminmxid, relacl, reloptions, relpartbound
+ Output: oid, relname, relnamespace, reltype, reloftype, relowner, relam,
relfilenode, reltablespace, relpages, reltuples, relallvisible, reltoastrelid,
relhasindex, relisshared, relpersistence, relkind, relnatts, relchecks,
relhasrules, relhastriggers, relhassubclass, relrowsecurity,
relforcerowsecurity, relispopulated, relreplident, relispartition, relisivm,
relisdynamic, relrewrite, relfrozenxid, relminmxid, relacl, reloptions,
relpartbound
Filter: ((pg_class.gp_segment_id = 1) OR (pg_class.gp_segment_id = 2))
Endpoint: "on coordinator"
-GP_IGNORE:(5 rows)
+GP_IGNORE:(6 rows)
-- Test for UDF which can be executed on coordinator
EXPLAIN (VERBOSE, COSTS false) DECLARE c1 PARALLEL RETRIEVE CURSOR FOR
SELECT * FROM generate_series(1,10) as F;
```
### What you think should happen instead
It should run without the failed tests.
### How to reproduce
1. Download the build docker image.
```
docker run -it --rm -h cdw --shm-size=30gb
apache/incubator-cloudberry:cbdb-build-rocky9-latest
```
2. Then run the following commands in the build env.
```
1 git clone https://github.com/apache/cloudberry.git ~/cloudberry
2 #cd cloudberrydb/
3 #git branch -a
4 sudo dnf install -y apr-devel autoconf bison bzip2 bzip2-devel cmake3
createrepo_c ed flex gcc gcc-c++ git glibc-langpack-en initscripts iproute
java-11-openjdk java-11-openjdk-devel krb5-devel less libcurl-devel
libevent-devel libuuid-devel libxml2-devel libzstd-devel lz4 lz4-devel m4 nc
net-tools openldap-devel openssh-clients openssh-server openssl-devel pam-devel
passwd perl perl-Env perl-ExtUtils-Embed perl-Test-Simple perl-core pinentry
python3-devel python3-lxml python3-psutil python3-pytest python3-pyyaml
readline-devel rpm-build rpm-sign rpmdevtools rsync tar unzip util-linux-ng
wget which zlib-devel
5 sudo dnf install -y --enablerepo=crb libuv-devel libyaml-devel
perl-IPC-Run
6
7 XERCES_LATEST_RELEASE=3.3.0
8 INSTALL_PREFIX="/usr/local/xerces-c"
9 wget -nv
"https://dlcdn.apache.org//xerces/c/3/sources/xerces-c-${XERCES_LATEST_RELEASE}.tar.gz"
10 echo "$(curl -sL
https://dlcdn.apache.org//xerces/c/3/sources/xerces-c-${XERCES_LATEST_RELEASE}.tar.gz.sha256)"
| sha256sum -c -
11 tar xf "xerces-c-${XERCES_LATEST_RELEASE}.tar.gz"
12 rm "xerces-c-${XERCES_LATEST_RELEASE}.tar.gz"
13 cd xerces-c-${XERCES_LATEST_RELEASE}
14 ./configure --prefix="${INSTALL_PREFIX}-${XERCES_LATEST_RELEASE}" |
tee configure-$(date "+%Y.%m.%d-%H.%M.%S").log
15 make -j$(nproc) | tee make-$(date "+%Y.%m.%d-%H.%M.%S").log
16 #make check | tee make-check-$(date "+%Y.%m.%d-%H.%M.%S").log
17 sudo make install | tee make-install-$(date "+%Y.%m.%d-%H.%M.%S").log
18 sudo ln -s ${INSTALL_PREFIX}-${XERCES_LATEST_RELEASE}
${INSTALL_PREFIX}
19 sudo rm -rf /usr/local/cloudberry-db
20 sudo chmod a+w /usr/local
21 mkdir -p /usr/local/cloudberry-db/lib
22 sudo cp -v /usr/local/xerces-c/lib/libxerces-c.so
/usr/local/xerces-c/lib/libxerces-c-3.*.so
/usr/local/cloudberry-db/lib
23 sudo chown -R gpadmin.gpadmin /usr/local/cloudberry-db
24 export LD_LIBRARY_PATH=/usr/local/cloudberry-db/lib:LD_LIBRARY_PATH
25 cd ~/cloudberry
26 ./configure --prefix=/usr/local/cloudberry-db
--disable-external-fts --enable-debug --enable-cassert
--enable-debug-extensions --enable-gpcloud
--enable-ic-proxy --enable-mapreduce --enable-orafce
--enable-orca --enable-pxf --enable-tap-tests
--with-gssapi --with-ldap --with-libxml
--with-lz4 --with-openssl --with-pam
--with-perl --with-pgport=5432 --with-python
--with-pythonsrc-ext --with-ssl=openssl --with-openssl
--with-uuid=e2fs
--with-includes=/usr/local/xerces-c/include
--with-libraries=/usr/local/cloudberry-db/lib | tee
~/cloudberry/configure-$(date "+%Y.%m.%d-%H.%M.%S").log
27 make -j$(nproc) -C ~/cloudberry | tee ~/cloudberry/make-$(date
"+%Y.%m.%d-%H.%M.%S").log && make -j$(nproc) -C ~/cloudberry/contrib | tee
~/cloudberry/make-contrib-$(date "+%Y.%m.%d-%H.%M.%S").log && make install -C
~/cloudberry | tee ~/cloudberry/make-install-$(date "+%Y.%m.%d-%H.%M.%S").log
&& make install -C ~/cloudberry/contrib | tee
~/cloudberry/make-contrib-install-$(date "+%Y.%m.%d-%H.%M.%S").log
28 /usr/local/cloudberry-db/bin/postgres --gp-version
29 /usr/local/cloudberry-db/bin/postgres --version
30 ldd /usr/local/cloudberry-db/bin/postgres
31 source /usr/local/cloudberry-db/greenplum_path.sh
32 make create-demo-cluster -C ~/cloudberry
33 #make destroy-demo-cluster -C ~/cloudberry
34 source ~/cloudberry/gpAux/gpdemo/gpdemo-env.sh
35 gpstate
36 psql -P pager=off template1 -c 'SELECT * from
gp_segment_configuration'
37 PGCLIENTENCODING=UTF8 PGOPTIONS='-c optimizer=off' make
installcheck-world
```
### Operating System
Rocky Linux 9
### Anything else
_No response_
### Are you willing to submit PR?
- [ ] Yes, I am willing to submit a PR!
### Code of Conduct
- [X] I agree to follow this project's [Code of
Conduct](https://github.com/apache/cloudberry/blob/main/CODE_OF_CONDUCT.md).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]