shm_mq: Fix detach race condition.
Robert Haas <rhaas@postgresql.org>
shm_mq: Fix detach race condition. Commit 34db06ef9a1d7f36391c64293bf1e0ce44a33915 adopted a lock-free design for shm_mq.c, but it introduced a race condition that could lose messages. When shm_mq_receive_bytes() detects that the other end has detached, it must make sure that it has seen the final version of mq_bytes_written, or it might miss a message sent before detaching. Thomas Munro Discussion: https://postgr.es/m/CAEepm%3D2myZ4qxpt1a%3DC%2BwEv3o188K13K3UvD-44FK0SdAzHy%2Bw%40mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/storage/ipc/shm_mq.c | modified | +12 −0 |
Discussion
- select_parallel test failure: gather sometimes losing tuples (maybe during rescans)? 20 messages · 2018-03-04 → 2018-03-05