Re: [WIP]Vertical Clustered Index (columnar store extension) - take2
Peter Smith <smithpb2250@gmail.com>
From: Peter Smith <smithpb2250@gmail.com>
To: Japin Li <japinli@hotmail.com>
Cc: "Aya Iwata (Fujitsu)" <iwata.aya@fujitsu.com>,
Tomas Vondra <tomas@vondra.me>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2025-07-07T00:19:18Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Mark ItemPointer arguments as const throughout
- e1ac846f3d28 19 (unreleased) cited
-
Reorganize GUC structs
- a13833c35f9e 19 (unreleased) cited
-
Eliminate XLOG_HEAP2_VISIBLE from vacuum phase III
- add323da40a6 19 (unreleased) cited
-
Update various forward declarations to use typedef
- d4d1fc527bdb 19 (unreleased) cited
-
Pathify RHS unique-ification for semijoin planning
- 24225ad9aafc 19 (unreleased) cited
-
Revert "Don't lock partitions pruned by initial pruning"
- 1722d5eb05d8 18.0 cited
-
For inplace update, send nontransactional invalidations.
- 243e9b40f1b2 18.0 cited
-
Remove nearly-unused SizeOfIptrData macro.
- 8023b5827fba 10.0 cited
On Fri, Jul 4, 2025 at 4:03 PM Japin Li <japinli@hotmail.com> wrote:
...
> When trying vic, I received the following error:
>
> TRAP: failed Assert("TransactionIdIsNormal(xmax)"), File: "/data/Codes/pg/master/build/../src/backend/access/heap/heapam.c", Line: 7373, PID: 1719347
> postgres: japin postgres [local] VACUUM(ExceptionalCondition+0xbb)[0x562674fbc44a]
> postgres: japin postgres [local] VACUUM(heap_pre_freeze_checks+0x18f)[0x5626747eba07]
> /data/Codes/pg/master/build/pg/lib/postgresql/vci.so(+0x61fca)[0xd355ccbbfca]
> /data/Codes/pg/master/build/pg/lib/postgresql/vci.so(+0x6288f)[0xd355ccbc88f]
> /data/Codes/pg/master/build/pg/lib/postgresql/vci.so(+0x51673)[0xd355ccab673]
> /data/Codes/pg/master/build/pg/lib/postgresql/vci.so(+0x4ec41)[0xd355cca8c41]
> postgres: japin postgres [local] VACUUM(index_vacuum_cleanup+0x181)[0x562674810008]
> postgres: japin postgres [local] VACUUM(vac_cleanup_one_index+0x27)[0x562674a78dbf]
> postgres: japin postgres [local] VACUUM(+0x1bb73b)[0x56267480973b]
> postgres: japin postgres [local] VACUUM(+0x1bb489)[0x562674809489]
> postgres: japin postgres [local] VACUUM(+0x1b8e64)[0x562674806e64]
> postgres: japin postgres [local] VACUUM(heap_vacuum_rel+0x8de)[0x56267480578b]
> postgres: japin postgres [local] VACUUM(+0x426ac9)[0x562674a74ac9]
> postgres: japin postgres [local] VACUUM(+0x42a5cf)[0x562674a785cf]
> postgres: japin postgres [local] VACUUM(vacuum+0x49c)[0x562674a75ec1]
> postgres: japin postgres [local] VACUUM(ExecVacuum+0xdf3)[0x562674a759f7]
> postgres: japin postgres [local] VACUUM(standard_ProcessUtility+0xa62)[0x562674dac27e]
> /data/Codes/pg/master/build/pg/lib/postgresql/vci.so(+0x52c7e)[0xd355ccacc7e]
> postgres: japin postgres [local] VACUUM(ProcessUtility+0x109)[0x562674dab7e4]
> postgres: japin postgres [local] VACUUM(+0x75c0b7)[0x562674daa0b7]
> postgres: japin postgres [local] VACUUM(+0x75c32f)[0x562674daa32f]
> postgres: japin postgres [local] VACUUM(PortalRun+0x31d)[0x562674da978f]
> postgres: japin postgres [local] VACUUM(+0x753dbe)[0x562674da1dbe]
> postgres: japin postgres [local] VACUUM(PostgresMain+0xb43)[0x562674da7603]
> postgres: japin postgres [local] VACUUM(+0x74f1da)[0x562674d9d1da]
> postgres: japin postgres [local] VACUUM(postmaster_child_launch+0x1b1)[0x562674c97b05]
> postgres: japin postgres [local] VACUUM(+0x650859)[0x562674c9e859]
> postgres: japin postgres [local] VACUUM(+0x64dd28)[0x562674c9bd28]
> postgres: japin postgres [local] VACUUM(PostmasterMain+0x1546)[0x562674c9b5b0]
> postgres: japin postgres [local] VACUUM(main+0x38c)[0x562674b359e6]
> /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca)[0xd355b82a1ca]
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b)[0xd355b82a28b]
> postgres: japin postgres [local] VACUUM(_start+0x25)[0x562674769e15]
> server closed the connection unexpectedly
> This probably means the server terminated abnormally
> before or while processing the request.
> connection to server was lost
>
> Here's how to reproduce the issue:
>
> initdb -D demo
> cat <<EOF >demo/postgresql.auto.conf
> shared_preload_libraries = 'vci'
> max_worker_processes = '20'
> EOF
>
> pg_ctl -D demo start
>
> cat <<EOF | psql postgres
> CREATE EXTENSION vci;
> CREATE TABLE t (id int, info text);
> CREATE INDEX ON t USING vci (id);
> INSERT INTO t SELECT id, md5(random()::text) FROM generate_series(1, 1000) id;
> VACUUM t;
> EOF
>
Hi Japin,
Thank you for your interest in VCI and for reporting the problem.
We are working to get this patch into a better shape; this vaccum
issue has been added to our list of things to fix. Thanks also for
your script - using it, I reproduced the same TRAP that you reported.
======
Kind Regards,
Peter Smith.
Fujitsu Australia