From: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
---|---|
To: | Joachim Wieland <joe(at)mcknight(dot)de> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org, Andrew Chernow <andrew(at)esilo(dot)com> |
Subject: | Re: Listen / Notify rewrite |
Date: | 2009-11-12 14:30:48 |
Message-ID: | b42b73150911120630nbdf5e8eyee571e0f91eea43d@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Nov 12, 2009 at 8:25 AM, Andrew Chernow <ac(at)esilo(dot)com> wrote:
>
>>>> 2. The payload parameter is optional. A notifying client can either call
>>>> "NOTIFY foo;" or "NOTIFY foo 'payload';". The length of the payload is
>>>> currently limited to 128 characters... Not sure if we should allow
>>>> longer
>>>> payload strings...
>>>
>>> Might be a good idea to make the max the same as the max length for
>>> prepared transaction GUIDs? Not sure anyone would be shipping those
>>> around, but it's a pre-existing limit of about the same size.
>>
>> Yes, sounds reasonable to have the same limit for user-defined
>> identifiers...
>>
>
> [..begging..] Can this be increased significantly? I don't get it, is there
> any technical reason to make the limit soo small? This drastically reduces
> the usefulness of the payload. I've wanted this feature for quite sometime
> and it is quite disappointing that I could not even use it because it is
> unjustifiably limited.
+1
What advantage is there in limiting it to a tiny size? This is a
'payload' after all...an arbitrary data block. Looking at the patch I
noticed the payload structure (AsyncQueueEntry) is fixed length and
designed to lay into QUEUE_PAGESIZE (set to) BLCKSZ sized pages.
Couple of questions:
*) is BLCKSZ a hard requirement, that is, coming from the slru
implementation, or can QUEUE_PAGESIZE be bumped independently of block
size.
*) why not make the AsyncQueueEntry divide evenly into BLCKSZ, that
is, make the whole structure a size that is a multiple of two? (this
would make the payload length 'weird')
*) is there any downside you see to making the AsyncQueueEntry
structure exactly BLCKSZ bytes in size? Are we worried about the
downsides of spinning the notifications out to disk?
*) Is a variable length AsyncQueueEntry possible? (presumably bounded
by the max page size). Or does complicate the implementation too
much?
merlin
merlin
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2009-11-12 14:35:38 | Re: recovery is stuck when children are not processing SIGQUIT from previous crash |
Previous Message | Peter Eisentraut | 2009-11-12 13:57:34 | Re: not logging caught exceptions |