Alexander Korotkov писал(а) 2026-08-03 11:32:
On Mon, Aug 3, 2026 at 8:41 AM Alexander Pyhalov
<[email protected]> wrote:
Alexander Korotkov писал(а) 2026-08-01 00:03:
> On Mon, Jul 6, 2026 at 4:42 PM Alexander Pyhalov
>> ExecMergeAppendGetNextSlot() - I'd sligtly prefer to check if mplan is
>> member of as_asyncplans and assert that it's a member of
>> node->as.valid_asyncplans
>> in this case, but I think it doesn't matter much.
>
> OK, I changed to this way.
It seems you've missed the attachment.
Sorry, here it is.
------
Regards,
Alexander Korotkov
Supabase
Hi.
We call ExecAppendBaseAsyncProcessPending() in ExecReScanAppend(), but
timeout depends on node->as_syncdone. Later we still process all async
requests, which have callback_pending set (as we loop until there's no
requests with callback_pending == false). Should we just set timeout to
-1 both for Append and MergeAppend to avoid busy loop in
ExecAppendBaseAsyncProcessPending()? Also it seems strange that timeout
depends on old (pre-rescan) node->as_syncdone state.
ExecMergeAppendGetNextSlot() - I'd sligtly prefer to check if mplan is
member of as_asyncplans and assert that it's a member of
node->as.valid_asyncplans
in this case, but I think it doesn't matter much.
OK, I changed to this way.
Fine, let's preserve it this way.
--
Best regards,
Alexander Pyhalov,
Postgres Professional