Re: Asynchronous Append on postgres_fdw nodes.
Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
From: Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, pryzby@telsasoft.com
Cc: a.lepikhov@postgrespro.ru, etsuro.fujita@gmail.com, movead.li@highgo.ca,
pgsql-hackers@lists.postgresql.org
Date: 2020-09-22T12:52:33Z
Lists: pgsql-hackers
Attachments
- append.sql (application/sql)
On 20.08.2020 10:36, Kyotaro Horiguchi wrote: > At Wed, 19 Aug 2020 23:25:36 -0500, Justin Pryzby <pryzby@telsasoft.com> wrote in >> On Thu, Jul 02, 2020 at 11:14:48AM +0900, Kyotaro Horiguchi wrote: >>> As the result of a discussion with Fujita-san off-list, I'm going to >>> hold off development until he decides whether mine or Thomas' is >>> better. >> The latest patch doesn't apply so I set as WoA. >> https://commitfest.postgresql.org/29/2491/ > Thanks. This is rebased version. > > At Fri, 14 Aug 2020 13:29:16 +1200, Thomas Munro <thomas.munro@gmail.com> wrote in >> Either way, we definitely need patch 0001. One comment: >> >> -CreateWaitEventSet(MemoryContext context, int nevents) >> +CreateWaitEventSet(MemoryContext context, ResourceOwner res, int nevents) >> >> I wonder if it's better to have it receive ResourceOwner like that, or >> to have it capture CurrentResourceOwner. I think the latter is more >> common in existing code. > There's no existing WaitEventSets belonging to a resowner. So > unconditionally capturing CurrentResourceOwner doesn't work well. I > could pass a bool instead but that make things more complex. > > Come to think of "complex", ExecAsync stuff in this patch might be > too-much for a short-term solution until executor overhaul, if it > comes shortly. (the patch of mine here as a whole is like that, > though..). The queueing stuff in postgres_fdw is, too. > > regards. > Hi, Looks like current implementation of asynchronous append incorrectly handle LIMIT clause: psql:append.sql:10: ERROR: another command is already in progress CONTEXT: remote SQL command: CLOSE c1 -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Commits
-
Improve comments for trivial_subqueryscan().
- 4a8a5dd7f59c 15.0 landed
-
Disable asynchronous execution if using gating Result nodes.
- ebb790241523 14.3 landed
- 5c854e7a2c8a 15.0 landed
-
Allow asynchronous execution in more cases.
- c2bb02bc2e85 15.0 landed
-
Doc: Further update documentation for asynchronous execution.
- eab81953682d 14.0 landed
-
Fix rescanning of async-aware Append nodes.
- f3baaf28a6da 14.0 landed
-
Doc: Update documentation for asynchronous execution.
- 15fcd33e0694 14.0 landed
-
Fix EXPLAIN ANALYZE for async-capable nodes.
- a363bc6da96b 14.0 landed
-
Minor code cleanup in asynchronous execution support.
- bb684c82f733 14.0 landed
-
Adjust input value to WaitEventSetWait() in ExecAppendAsyncEventWait().
- a8af856d3257 14.0 landed
-
Add support for asynchronous execution.
- 27e1f14563cf 14.0 landed