Re: SLRU optimization - configurable buffer pool and partitioning the SLRU lock
От | Alexander Lakhin |
---|---|
Тема | Re: SLRU optimization - configurable buffer pool and partitioning the SLRU lock |
Дата | |
Msg-id | 2a25eaf4-a3a4-5fd1-6241-9d7c73142085@gmail.com обсуждение исходный текст |
Ответ на | Re: SLRU optimization - configurable buffer pool and partitioning the SLRU lock (Alvaro Herrera <alvherre@alvh.no-ip.org>) |
Ответы |
Re: SLRU optimization - configurable buffer pool and partitioning the SLRU lock
|
Список | pgsql-hackers |
Hello Alvaro, 27.02.2024 20:33, Alvaro Herrera wrote: > Here's the complete set, with these two names using the singular. > I've managed to trigger an assert added by 53c2a97a9. Please try the following script against a server compiled with -DTEST_SUMMARIZE_SERIAL (initially I observed this failure without the define, it just simplifies reproducing...): # initdb & start ... createdb test echo " SELECT pg_current_xact_id() AS tx \gset SELECT format('CREATE TABLE t%s(i int)', g) FROM generate_series(1, 1022 - :tx) g \gexec BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; SELECT pg_current_xact_id(); SELECT pg_sleep(5); " | psql test & echo " SELECT pg_sleep(1); BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; SELECT 1 INTO a; COMMIT; BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; SELECT 2 INTO b; " | psql test It fails for me with the following stack trace: TRAP: failed Assert("LWLockHeldByMeInMode(SimpleLruGetBankLock(ctl, pageno), LW_EXCLUSIVE)"), File: "slru.c", Line: 366, PID: 21711 ExceptionalCondition at assert.c:52:13 SimpleLruZeroPage at slru.c:369:11 SerialAdd at predicate.c:921:20 SummarizeOldestCommittedSxact at predicate.c:1521:2 GetSerializableTransactionSnapshotInt at predicate.c:1787:16 GetSerializableTransactionSnapshot at predicate.c:1691:1 GetTransactionSnapshot at snapmgr.c:264:21 exec_simple_query at postgres.c:1162:4 ... Best regards, Alexander
В списке pgsql-hackers по дате отправления: