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]

Reply via email to