Hi, On 2020-12-20 04:13:19 +0000, Noah Misch wrote: > postgres: subscriber: logical replication worker for subscription 16411 > (GetTransactionSnapshot+0x168) [0x951ce8] > postgres: subscriber: logical replication worker for subscription 16411 > (InitializeParallelDSM+0x16) [0x52cf86] > postgres: subscriber: logical replication worker for subscription 16411 > (btbuild+0x26a) [0x50905a] > postgres: subscriber: logical replication worker for subscription 16411 > (index_build+0x14b) [0x569c1b] > postgres: subscriber: logical replication worker for subscription 16411 > (reindex_index+0x19a) [0x56caea] > postgres: subscriber: logical replication worker for subscription 16411 > (reindex_relation+0xc0) [0x56d090] > postgres: subscriber: logical replication worker for subscription 16411 > (ExecuteTruncateGuts+0x376) [0x62f0d6] > postgres: subscriber: logical replication worker for subscription 16411 > () [0x78d592] > postgres: subscriber: logical replication worker for subscription 16411 > (ApplyWorkerMain+0x5ab) [0x78e4eb] > postgres: subscriber: logical replication worker for subscription 16411 > (StartBackgroundWorker+0x23f) [0x75522f] > postgres: subscriber: logical replication worker for subscription 16411 > () [0x762a6d] > postgres: subscriber: logical replication worker for subscription 16411 > () [0x7635ee] > /lib64/libpthread.so.0(+0xf630) [0x7fe081e97630] > /lib64/libc.so.6(__select+0x13) [0x7fe0805c0983] > postgres: subscriber: logical replication worker for subscription 16411 > () [0x4887ac] > postgres: subscriber: logical replication worker for subscription 16411 > (PostmasterMain+0x1118) [0x764c88] > postgres: subscriber: logical replication worker for subscription 16411 > (main+0x6f2) [0x48aae2] > /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fe0804ed555] > postgres: subscriber: logical replication worker for subscription 16411 > () [0x48ab49] > 2020-12-19 17:54:04.683 PST [3629353:5] LOG: background worker "logical > replication worker" (PID 3629509) exited with exit code 1
Hm. Do I understand correctly that this problem is hit solely because the parallel mode code relies on there already have been a transaction snapshot set, thus avoiding the error? And that the code normally only works because GetTransactionSnapshot() will already have been called somewhere, before EnterParallelMode()? Greetings, Andres Freund