Open jaki opened 3 years ago
Here's a stack trace for gin. Probably only identify_opfamily_groups
is relevant to the issue.
ERROR: cannot validate operator family without ordered data @ 0x7fee7cc8e94f YBCGetStackTrace (src/yb/common/ybc_util.cc:292)
@ 0x9bdcab elog_finish (src/postgres/src/backend/utils/error/elog.c:1469)
@ 0x4fefb8 identify_opfamily_groups (src/postgres/src/backend/access/index/amvalidate.c:52)
@ 0x4c2dc5 ginvalidate (src/postgres/src/backend/access/gin/ginvalidate.c:214)
@ 0x4fef2b amvalidate (src/postgres/src/backend/access/index/amapi.c:138)
@ 0x6cd30a ExecInterpExpr (src/postgres/src/backend/executor/execExprInterp.c:684)
@ 0x6c9adf ExecInterpExprStillValid (src/postgres/src/backend/executor/execExprInterp.c:1804)
@ 0x700e27 ExecEvalExprSwitchContext (src/postgres/src/include/executor/executor.h:321)
@ 0x700e27 ExecProject (src/postgres/src/include/executor/executor.h:355)
@ 0x700e27 ExecNestLoop (src/postgres/src/backend/executor/nodeNestloop.c:241)
@ 0x6da979 ExecProcNodeFirst (src/postgres/src/backend/executor/execProcnode.c:446)
@ 0x6d1c02 ExecProcNode (src/postgres/src/include/executor/executor.h:249)
@ 0x6d1c02 ExecutePlan (src/postgres/src/backend/executor/execMain.c:1730)
@ 0x6d1c02 standard_ExecutorRun (src/postgres/src/backend/executor/execMain.c:367)
@ 0x7fee6f7e6003 pgss_ExecutorRun (src/postgres/contrib/pg_stat_statements/pg_stat_statements.c:947)
@ 0x7fee6f5decc9 ybpgm_ExecutorRun (src/postgres/contrib/yb_pg_metrics/yb_pg_metrics.c:492)
@ 0x6d1d81 ExecutorRun (src/postgres/src/backend/executor/execMain.c:308)
@ 0x877565 PortalRunSelect (src/postgres/src/backend/tcop/pquery.c:947)
@ 0x8790ff PortalRun (src/postgres/src/backend/tcop/pquery.c:784)
@ 0x872c2c exec_simple_query (src/postgres/src/backend/tcop/postgres.c:1161)
@ 0x872c2c yb_exec_simple_query (src/postgres/src/backend/tcop/postgres.c:4324)
@ 0x8754e7 PostgresMain (src/postgres/src/backend/tcop/postgres.c:4936)
@ 0x7e119d BackendRun (src/postgres/src/backend/postmaster/postmaster.c:4429)
@ 0x7e119d BackendStartup (src/postgres/src/backend/postmaster/postmaster.c:4095)
@ 0x7e119d ServerLoop (src/postgres/src/backend/postmaster/postmaster.c:1737)
@ 0x7e119d PostmasterMain (src/postgres/src/backend/postmaster/postmaster.c:1400)
@ 0x737324 PostgresServerProcessMain (src/postgres/src/backend/main/main.c:234)
@ 0x7373c0
@ 0x7fee7bfe5824 __libc_start_main (csu/libc-start.c:289)
@ 0x494138 (unknown) (sysdeps/x86_64/start.S:118)
@ 0xffffffffffffffff
It seems it's because CatCList *oprlist
is not ordered. Not sure why.
Both gistvalidate
and ginvalidate
do oprlist = SearchSysCacheList1(AMOPSTRATEGY, ObjectIdGetDatum(opfamilyoid));
Jira Link: DB-1868 amvalidate errors on all opclasses except lsm:
lsm opclasses work trivially because
ybcinvalidate
returns true (it was never implemented).