Re: RFC: Lock-free XLog Reservation from WAL

From: "Zhou, Zhiguo" <zhiguo(dot)zhou(at)intel(dot)com>
To: Japin Li <japinli(at)hotmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: RFC: Lock-free XLog Reservation from WAL
Date: 2025-01-06 07:05:02
Message-ID: ca123c0c-89b3-4d87-a164-8fcebf76eb7c@intel.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Japin,

Thanks so much for your test and review. As you may have noticed, this
patch has implemented the initial optimization idea and has passed only
the basic regression tests. We have planned to extend the validation to
include TAP tests after aligning the expectations with the community,
but we still haven't had the chance to do so yet.

We will try to address the issues raised and invite you to review the
new version of the patch once it is completed.

On 1/6/2025 11:32 AM, Japin Li wrote:

> I tried it and found it cannot pass all test-cases. Here is the output
> comes from Rocky 9.5.
>
> mkdir build && cd build
> ../configure \
> --prefix=/tmp/pg \
> --enable-tap-tests \
> --enable-debug \
> --enable-cassert \
> --enable-depend \
> --enable-dtrace \
> --with-icu \
> --with-openssl \
> --with-python \
> --with-libxml \
> --with-libxslt \
> --with-lz4 \
> --with-pam \
> CFLAGS='-Wmissing-prototypes -Wincompatible-pointer-types'
> make -j $(nproc) -s && make install -s
> (cd contrib/ && make -j $(nproc) -s && make install -s)
> make check-world
>
> The error as follows:
>
> echo "# +++ tap check in src/test/recovery +++" && rm -rf '/home/japin/postgresql/build/src/test/recovery'/tmp_check && /usr/bin/mkdir -p '/home/japin/postgresql/build/src/test/recovery'/tmp_check && cd /home/japin/postgresql/build/../src/test/recovery && TESTLOGDIR='/home/japin/postgresql/build/src/test/recovery/tmp_check/log' TESTDATADIR='/home/japin/postgresql/build/src/test/recovery/tmp_check' PATH="/home/japin/postgresql/build/tmp_install/home/japin/postgresql/build/pg/bin:/home/japin/postgresql/build/src/test/recovery:$PATH" LD_LIBRARY_PATH="/home/japin/postgresql/build/tmp_install/home/japin/postgresql/build/pg/lib" INITDB_TEMPLATE='/home/japin/postgresql/build'/tmp_install/initdb-template PGPORT='65432' top_builddir='/home/japin/postgresql/build/src/test/recovery/../../..' PG_REGRESS='/home/japin/postgresql/build/src/test/recovery/../../../src/test/regress/pg_regress' /usr/bin/prove -I /home/japin/postgresql/build/../src/test/perl/ -I /home/japin/postgresql/build/../src/test/recovery t/*.pl
> # +++ tap check in src/test/recovery +++
> t/001_stream_rep.pl ................... ok
> t/002_archiving.pl .................... 1/? Bailout called. Further testing stopped: command "pg_ctl -D /home/japin/postgresql/build/src/test/recovery/tmp_check/t_002_archiving_standby_data/pgdata -l /home/japin/postgresql/build/src/test/recovery/tmp_check/log/002_archiving_standby.log promote" exited with value 1
> FAILED--Further testing stopped: command "pg_ctl -D /home/japin/postgresql/build/src/test/recovery/tmp_check/t_002_archiving_standby_data/pgdata -l /home/japin/postgresql/build/src/test/recovery/tmp_check/log/002_archiving_standby.log promote" exited with value 1
> make[2]: *** [Makefile:28: check] Error 255
> make[2]: Leaving directory '/home/japin/postgresql/build/src/test/recovery'
> make[1]: *** [Makefile:42: check-recovery-recurse] Error 2
> make[1]: Leaving directory '/home/japin/postgresql/build/src/test'
> make: *** [GNUmakefile:71: check-world-src/test-recurse] Error 2
>

This error report is really helpful for me to diagnose the problem. Thanks!

Regards,
Zhiguo

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiro Ikeda 2025-01-06 07:17:32 Re: Doc: clarify the log message level of the VERBOSE option
Previous Message Alexander Lakhin 2025-01-06 07:00:00 stats.sql might fail due to shared buffers also used by parallel tests