On Tue, Nov 22, 2022 at 04:59:28PM +0530, Amit Kapila wrote: > On Tue, Nov 22, 2022 at 6:11 AM Nathan Bossart <nathandboss...@gmail.com> > wrote: >> While working on avoiding unnecessary wakeups in logical/worker.c (as was >> done for walreceiver.c in 05a7be9), I noticed that the tests began taking >> much longer. This seems to be caused by the reduced frequency of calls to >> maybe_reread_subscription() in LogicalRepApplyLoop(). > > I think it would be interesting to know why tests started taking more > time after a reduced frequency of calls to > maybe_reread_subscription(). IIRC, we anyway call > maybe_reread_subscription for each xact.
At the moment, commands like ALTER SUBSCRIPTION don't wake up the logical workers for the target subscription, so the next call to maybe_reread_subscription() may not happen for a while. Presently, we'll only sleep up to a second in the apply loop, but with my new prevent-unnecessary-wakeups patch, we may sleep for much longer. This causes wait_for_subscription_sync to take more time after some ALTER SUBSCRIPTION commands. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com