From: | Antonin Houska <ah(at)cybertec(dot)at> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com>, Andrey Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Suggestions on message transfer among backends |
Date: | 2019-03-14 13:37:04 |
Message-ID: | 14851.1552570624@localhost |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Tue, Mar 12, 2019 at 4:34 AM Antonin Houska <ah(at)cybertec(dot)at> wrote:
> > Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com> wrote:
> > > I just don't know why shm_mq is designed to single-reader & single-writer.
> >
> > shm_mq was implemented as a part of infrastructure for parallel query
> > processing. The leader backend launches multiple parallel workers and sets up
> > a few queues to communicate with each. One queue is used to send request
> > (query plan) to the worker, one queue is there to receive data from it, and I
> > think there's one more queue to receive error messages.
>
> No, the queues aren't used to send anything to the worker. We know
> the size of the query plan before we create the DSM, so we can just
> allocate enough space to store the whole thing.
ok, I forgot that. (Last time I saw this part was when reading the parallel
sequential scan patch a few years ago.)
--
Antonin Houska
https://www.cybertec-postgresql.com
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2019-03-14 13:50:41 | Re: Using the return value of strlcpy() and strlcat() |
Previous Message | Dmitry Dolgov | 2019-03-14 13:32:49 | Re: Index Skip Scan |