Thread: BUG #17441: shm_mq receive less data than the sender sends
The following bug has been logged on the website: Bug reference: 17441 Logged by: ytf Email address: fft_665665@163.com PostgreSQL version: 10.17 Operating system: centos Description: Dears, I launch one dynamic worker as the sender, use shm_mq send data to the SELECT, which I register a copy hook to receive data from sender. Each data length is 800. When I set shm_mq SIZE to 16, there is no problem. Only speed is very slow. However, when I set shm_mq Size to 8192 or larger, I meet a problem. I first receive 800 length data , and after a few times, I only receive 732 length data. I registered the shm_mq like following : #define QUEUE_SIZE 8192 mq = shm_mq_create(shm_toc_allocate(pcxt->toc, QUEUE_SIZE), QUEUE_SIZE); shm_toc_insert(pcxt->toc, COS_KEY_QUEUE, mq); shm_mq_set_receiver(mq, MyProc);
On Sun, Mar 20, 2022 at 9:20 PM PG Bug reporting form <noreply@postgresql.org> wrote: > > The following bug has been logged on the website: > > Bug reference: 17441 > Logged by: ytf > Email address: fft_665665@163.com > PostgreSQL version: 10.17 > Operating system: centos > Description: > > Dears, > > I launch one dynamic worker as the sender, use shm_mq send data to the > SELECT, which I register a copy hook to receive data from sender. > Each data length is 800. > > When I set shm_mq SIZE to 16, there is no problem. Only speed is very > slow. > > However, when I set shm_mq Size to 8192 or larger, I meet a problem. > > I first receive 800 length data , and after a few times, I only receive 732 > length data. > > I registered the shm_mq like following : > #define QUEUE_SIZE 8192 > mq = shm_mq_create(shm_toc_allocate(pcxt->toc, QUEUE_SIZE), QUEUE_SIZE); > shm_toc_insert(pcxt->toc, COS_KEY_QUEUE, mq); > shm_mq_set_receiver(mq, MyProc); Could you please provide the reproducible steps and codes for the problem you're facing? That's very helpful to understand and investigate the problem. Regards, -- Masahiko Sawada EDB: https://www.enterprisedb.com/
On Wed, Mar 23, 2022 at 11:59:06AM +0900, Masahiko Sawada wrote: > On Sun, Mar 20, 2022 at 9:20 PM PG Bug reporting form > <noreply@postgresql.org> wrote: >> I launch one dynamic worker as the sender, use shm_mq send data to the >> SELECT, which I register a copy hook to receive data from sender. >> Each data length is 800. > > Could you please provide the reproducible steps and codes for the > problem you're facing? That's very helpful to understand and > investigate the problem. Yeah, I'd like to see that with a test that reproduces with core PG. Now, perhaps this is some custom extension code? -- Michael