At Tue, 13 Jun 2023 15:11:26 +0900, Michael Paquier <michael@paquier.xyz> wrote in
> On Mon, Jun 12, 2023 at 10:51:24PM -0700, Gurjeet Singh wrote:
> > To me, it looks like these checks are a result of code being
> > copy-pasted from somewhere else, where this check might have been
> > necessary. The checks are sure not necessary at these spots.
>
> I am not completely sure based on my read of the code, but isn't this
> check needed to avoid some kind of race condition with a concurrent
> backend may have worked on the relation when attempting to get the
> lock?
Gurjeet has mentioned that eb.rel cannot be modified by another
process since the value or memory is in the local stack, and I believe
he's correct.
If the pointed Relation had been blown out, eb.rel would be left
dangling, not nullified. However, I don't believe this situation
happens (or it shouldn't happen) as the entire relation should already
be locked.
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center