You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Database Version: PostgreSQL 14.12
RUM extension version: rum 1.3
VECTOR extension: vector 0.6.2
Operating System: RHEL 8
The structure of the tables in the database is as follows:
create extension rum;
create extension vector;
CREATE TABLE test_table (
a bigint,
b character varying(32),
c character varying(32),
d character varying(32),
e smallint,
f character varying(64),
g timestamp,
h text[],
i integer,
j text,
k public.vector(1536),
l text,
m tsvector,
n smallint,
p timestamp,
q timestamp
);
For security reasons, the data in the table cannot be provided directly. I found that when I inserted 40,000 or so rows into the table, the create index behaved differently as the amount of data changed.
CREATE INDEX idx ON public.test_table USING rum (h, m rum_tsvector_addon_ops) WITH (ATTACH='h', TO='m') WHERE id < 20000; will failed with "cannot store a toast pointer inside a range" in rumdatapage.c:115。
CREATE INDEX idx ON public.test_table USING rum (h, m rum_tsvector_addon_ops) WITH (ATTACH='h', TO='m') WHERE id < 40000 will coredump at "elog(ERROR, "cannot store a toast pointer inside a range");" in rumdatapage.c:115.
The reason for coredump via ERROR here is that createPostingTree is in START_CRIT_SECTION() of ruminsert.c:67; The coredump is generated in subsequent errors.
The coredump stack is as follows:
SQL: CREATE INDEX idx ON public.test_table USING rum (h, m rum_tsvector_addon_ops) WITH (ATTACH='h', TO='m');
#0 0x00007efd1ad2b9d5 in raise () from /lib64/libc.so.6 #1 0x00007efd1ad14894 in abort () from /lib64/libc.so.6 #2 0x0000000000e352c0 in errfinish (filename=0x7efc90b5da77 "rumdatapage.c", lineno=115,
funcname=0x7efc90b5df50 <func.3> "rumDatumWrite") at elog.c:785 #3 0x00007efc90b3aed9 in rumDatumWrite (ptr=0x7efca521402b "", datum=139623223228960, typbyval=false,
typalign=105 'i', typlen=-1, typstorage=120 'x') at src/rumdatapage.c:115 #4 0x00007efc90b3b465 in rumPlaceToDataPageLeaf (ptr=0x7efca521402b "", attnum=2, item=0x3f2a560,
prev=0x7ffdc605beda, rumstate=0x7ffdc605c580) at src/rumdatapage.c:241 #5 0x00007efc90b4a5d8 in createPostingTree (rumstate=0x7ffdc605c580, attnum=2, index=0x7efc90b898d0,
items=0x3f2a560, nitems=368) at src/ruminsert.c:84 #6 0x00007efc90b4afdc in buildFreshLeafTuple (rumstate=0x7ffdc605c580, attnum=2, key=139623223243288,
category=0 '\000', items=0x3f2a560, nitem=1791, buildStats=0x7ffdc6061740) at src/ruminsert.c:375 #7 0x00007efc90b4b487 in rumEntryInsert (rumstate=0x7ffdc605c580, attnum=2, key=139623223243288,
category=0 '\000', items=0x3f2a560, nitem=1791, buildStats=0x7ffdc6061740) at src/ruminsert.c:475 #8 0x00007efc90b4b9fb in rumBuildCallback (index=0x7efc90b898d0, tid=0x33879a4, values=0x33897f8,
isnull=0x3390ba8, tupleIsAlive=true, state=0x7ffdc605c580) at src/ruminsert.c:600 #9 0x000000000054ba31 in heapam_index_build_range_scan (heapRelation=0x7efc90b79f38,
indexRelation=0x7efc90b898d0, indexInfo=0x329cc10, allow_sync=false, anyvisible=false,
progress=true, start_blockno=0, numblocks=4294967295, callback=0x7efc90b4b7a7 ,
callback_state=0x7ffdc605c580, scan=0x3387940) at heapam_handler.c:1704 #10 0x00007efc90b4a297 in table_index_build_scan (table_rel=0x7efc90b79f38, index_rel=0x7efc90b898d0,
index_info=0x329cc10, allow_sync=false, progress=true, callback=0x7efc90b4b7a7 ,
callback_state=0x7ffdc605c580, scan=0x0) at ../../src/include/access/tableam.h:1808 #11 0x00007efc90b4bd16 in rumbuild (heap=0x7efc90b79f38, index=0x7efc90b898d0, indexInfo=0x329cc10)
at src/ruminsert.c:671 #12 0x00000000006917b0 in index_build (heapRelation=0x7efc90b79f38, indexRelation=0x7efc90b898d0,
indexInfo=0x329cc10, isreindex=false, parallel=true, build_type=INDEX_BUILD_CREATE) at index.c:3255 #13 0x000000000068dcd3 in index_create (heapRelation=0x7efc90b79f38,
indexRelationName=0x3242a50 "idx", indexRelationId=386702,
parentIndexRelid=0, parentConstraintId=0, relFileNode=0, indexInfo=0x329cc10,
indexColNames=0x33885e0, accessMethodObjectId=18070, tableSpaceId=0, collationObjectId=0x33887c0,
classObjectId=0x33887e0, coloptions=0x3388800, reloptions=54036056, flags=0, constr_flags=0,
allow_system_table_mods=false, is_internal=false, constraintId=0x7ffdc6061a9c) at index.c:1329 #14 0x000000000082722f in DefineIndex (relationId=18788, stmt=0x3243010, indexRelationId=0,
parentIndexId=0, parentConstraintId=0, is_alter_table=false, check_rights=true,
check_not_in_use=true, skip_build=false, quiet=false) at indexcmds.c:1398
The text was updated successfully, but these errors were encountered:
CREATE INDEX idx ON public.test_table USING rum (h, m rum_tsvector_addon_ops) WITH (ATTACH='h', TO='m') WHERE a < 20000; will failed with "cannot store a toast pointer inside a range" in rumdatapage.c:115。
CREATE INDEX idx ON public.test_table USING rum (h, m rum_tsvector_addon_ops) WITH (ATTACH='h', TO='m') WHERE a < 40000 will coredump at "elog(ERROR, "cannot store a toast pointer inside a range");" in rumdatapage.c:115.
The reason for coredump via ERROR here is that createPostingTree is in START_CRIT_SECTION() of ruminsert.c:67; The coredump is generated in subsequent errors.
Database Version: PostgreSQL 14.12
RUM extension version: rum 1.3
VECTOR extension: vector 0.6.2
Operating System: RHEL 8
The structure of the tables in the database is as follows:
create extension rum;
create extension vector;
CREATE TABLE test_table (
a bigint,
b character varying(32),
c character varying(32),
d character varying(32),
e smallint,
f character varying(64),
g timestamp,
h text[],
i integer,
j text,
k public.vector(1536),
l text,
m tsvector,
n smallint,
p timestamp,
q timestamp
);
For security reasons, the data in the table cannot be provided directly. I found that when I inserted 40,000 or so rows into the table, the create index behaved differently as the amount of data changed.
CREATE INDEX idx ON public.test_table USING rum (h, m rum_tsvector_addon_ops) WITH (ATTACH='h', TO='m') WHERE id < 20000; will failed with "cannot store a toast pointer inside a range" in rumdatapage.c:115。
CREATE INDEX idx ON public.test_table USING rum (h, m rum_tsvector_addon_ops) WITH (ATTACH='h', TO='m') WHERE id < 40000 will coredump at "elog(ERROR, "cannot store a toast pointer inside a range");" in rumdatapage.c:115.
The reason for coredump via ERROR here is that createPostingTree is in START_CRIT_SECTION() of ruminsert.c:67; The coredump is generated in subsequent errors.
The coredump stack is as follows:
SQL: CREATE INDEX idx ON public.test_table USING rum (h, m rum_tsvector_addon_ops) WITH (ATTACH='h', TO='m');
#0 0x00007efd1ad2b9d5 in raise () from /lib64/libc.so.6
#1 0x00007efd1ad14894 in abort () from /lib64/libc.so.6
#2 0x0000000000e352c0 in errfinish (filename=0x7efc90b5da77 "rumdatapage.c", lineno=115,
funcname=0x7efc90b5df50 <func.3> "rumDatumWrite") at elog.c:785
#3 0x00007efc90b3aed9 in rumDatumWrite (ptr=0x7efca521402b "", datum=139623223228960, typbyval=false,
typalign=105 'i', typlen=-1, typstorage=120 'x') at src/rumdatapage.c:115
#4 0x00007efc90b3b465 in rumPlaceToDataPageLeaf (ptr=0x7efca521402b "", attnum=2, item=0x3f2a560,
prev=0x7ffdc605beda, rumstate=0x7ffdc605c580) at src/rumdatapage.c:241
#5 0x00007efc90b4a5d8 in createPostingTree (rumstate=0x7ffdc605c580, attnum=2, index=0x7efc90b898d0,
items=0x3f2a560, nitems=368) at src/ruminsert.c:84
#6 0x00007efc90b4afdc in buildFreshLeafTuple (rumstate=0x7ffdc605c580, attnum=2, key=139623223243288,
category=0 '\000', items=0x3f2a560, nitem=1791, buildStats=0x7ffdc6061740) at src/ruminsert.c:375
#7 0x00007efc90b4b487 in rumEntryInsert (rumstate=0x7ffdc605c580, attnum=2, key=139623223243288,
category=0 '\000', items=0x3f2a560, nitem=1791, buildStats=0x7ffdc6061740) at src/ruminsert.c:475
#8 0x00007efc90b4b9fb in rumBuildCallback (index=0x7efc90b898d0, tid=0x33879a4, values=0x33897f8,
isnull=0x3390ba8, tupleIsAlive=true, state=0x7ffdc605c580) at src/ruminsert.c:600
#9 0x000000000054ba31 in heapam_index_build_range_scan (heapRelation=0x7efc90b79f38,
indexRelation=0x7efc90b898d0, indexInfo=0x329cc10, allow_sync=false, anyvisible=false,
progress=true, start_blockno=0, numblocks=4294967295, callback=0x7efc90b4b7a7 ,
callback_state=0x7ffdc605c580, scan=0x3387940) at heapam_handler.c:1704
#10 0x00007efc90b4a297 in table_index_build_scan (table_rel=0x7efc90b79f38, index_rel=0x7efc90b898d0,
index_info=0x329cc10, allow_sync=false, progress=true, callback=0x7efc90b4b7a7 ,
callback_state=0x7ffdc605c580, scan=0x0) at ../../src/include/access/tableam.h:1808
#11 0x00007efc90b4bd16 in rumbuild (heap=0x7efc90b79f38, index=0x7efc90b898d0, indexInfo=0x329cc10)
at src/ruminsert.c:671
#12 0x00000000006917b0 in index_build (heapRelation=0x7efc90b79f38, indexRelation=0x7efc90b898d0,
indexInfo=0x329cc10, isreindex=false, parallel=true, build_type=INDEX_BUILD_CREATE) at index.c:3255
#13 0x000000000068dcd3 in index_create (heapRelation=0x7efc90b79f38,
indexRelationName=0x3242a50 "idx", indexRelationId=386702,
parentIndexRelid=0, parentConstraintId=0, relFileNode=0, indexInfo=0x329cc10,
indexColNames=0x33885e0, accessMethodObjectId=18070, tableSpaceId=0, collationObjectId=0x33887c0,
classObjectId=0x33887e0, coloptions=0x3388800, reloptions=54036056, flags=0, constr_flags=0,
allow_system_table_mods=false, is_internal=false, constraintId=0x7ffdc6061a9c) at index.c:1329
#14 0x000000000082722f in DefineIndex (relationId=18788, stmt=0x3243010, indexRelationId=0,
parentIndexId=0, parentConstraintId=0, is_alter_table=false, check_rights=true,
check_not_in_use=true, skip_build=false, quiet=false) at indexcmds.c:1398
The text was updated successfully, but these errors were encountered: