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
withexit 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