From: | "Shulgin, Oleksandr" <oleksandr(dot)shulgin(at)zalando(dot)de> |
---|---|
To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Greg Stark <stark(at)mit(dot)edu>, Simon Riggs <simon(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de> |
Subject: | Re: On-demand running query plans using auto_explain and signals |
Date: | 2015-09-02 13:00:40 |
Message-ID: | CACACo5RUHhWh3Vb4+GCk+CCvYFy1oSOdmK8Uzo9tRytSM8mOfg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Sep 2, 2015 at 2:56 PM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
wrote:
>
>
> 2015-09-02 12:36 GMT+02:00 Shulgin, Oleksandr <
> oleksandr(dot)shulgin(at)zalando(dot)de>:
>
>> On Wed, Sep 2, 2015 at 11:16 AM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
>> wrote:
>>
>>>
>>>
>>> 2015-09-02 11:01 GMT+02:00 Shulgin, Oleksandr <
>>> oleksandr(dot)shulgin(at)zalando(dot)de>:
>>>
>>>> On Tue, Sep 1, 2015 at 7:02 PM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
>>>> wrote:
>>>>
>>>>>
>>>>>> But do we really need the slots mechanism? Would it not be OK to
>>>>>> just let the LWLock do the sequencing of concurrent requests? Given that
>>>>>> we only going to use one message queue per cluster, there's not much
>>>>>> concurrency you can gain by introducing slots I believe.
>>>>>>
>>>>>
>>>>> I afraid of problems on production. When you have a queue related to
>>>>> any process, then all problems should be off after end of processes. One
>>>>> message queue per cluster needs restart cluster when some pathological
>>>>> problems are - and you cannot restart cluster in production week, sometimes
>>>>> weeks. The slots are more robust.
>>>>>
>>>>
>>>> Yes, but in your implementation the slots themselves don't have a
>>>> queue/buffer. Did you intend to have a message queue per slot?
>>>>
>>>
>>> The message queue cannot be reused, so I expect one slot per caller to
>>> be used passing parameters, - message queue will be created/released by
>>> demand by caller.
>>>
>>
>> I don't believe a message queue cannot really be reused. What would stop
>> us from calling shm_mq_create() on the queue struct again?
>>
>
> you cannot to change recipient later
>
Well, maybe I'm missing something, but sh_mq_create() will just overwrite
the contents of the struct, so it doesn't care about sender/receiver: only
sh_mq_set_sender/receiver() do.
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2015-09-02 13:04:28 | Re: On-demand running query plans using auto_explain and signals |
Previous Message | Pavel Stehule | 2015-09-02 12:56:03 | Re: On-demand running query plans using auto_explain and signals |