On Mon, Jul 12, 2021 at 6:23 PM Amit Kapila <amit.kapil...@gmail.com> wrote:
> On Mon, Jul 12, 2021 at 5:28 PM Ashutosh Bapat > <ashutosh.ba...@enterprisedb.com> wrote: > > > > On Mon, Jul 12, 2021 at 8:39 AM Amit Kapila <amit.kapil...@gmail.com> > wrote: > >> > >> I have noticed that > >> a nearby function LogicalIncreaseRestartDecodingForSlot() logs similar > >> information after releasing spinlock, so it is better to follow the > >> same here as well. > > > > > > Now that you mention it, the code their looks rather suspicious :) > > We acquire the spinlock at the beginning of the function but do not > release it if (restart_lsn <= slot->data.restart_lsn) or if (current_lsn <= > slot->data.confirmed_flush). > > > > Note that we end else if with (current_lsn <= > slot->data.confirmed_flush) and after that there is a new if. We > release lock in both the if/else conditions, so the code is fine as it > is. > Ah! I overlooked the closing else if (). Sorry for the noise. -- Best Wishes, Ashutosh