On Fri, Feb 1, 2019 at 10:50 AM Amit Kapila wrote:
>
> On Mon, Jan 21, 2019 at 10:39 PM Nishant, Fnu wrote:
> >
> > Thanks Amit for your review.
> >
> > On 1/20/19, 6:55 AM, "Amit Kapila" wrote:
> > > I think you need to change below code as well
> >Assert(buffer2 == InvalidBuff
On 1/31/19, 9:21 PM, "Amit Kapila" wrote:
> BTW, do you have a reproducible test case for this fix? How did you
catch this, browsing code?
Yes, I observed it while reading code. I do not have a repro.
> How do we pronounce your name, is Nishant Fnu okay? I would like to
On Mon, Jan 21, 2019 at 10:39 PM Nishant, Fnu wrote:
>
> Thanks Amit for your review.
>
> On 1/20/19, 6:55 AM, "Amit Kapila" wrote:
> > I think you need to change below code as well
>Assert(buffer2 == InvalidBuffer || buffer1 <= buffer2);
>
> Done. Updated the patch.
>
Attached
On Sun, Jan 20, 2019 at 9:55 AM Amit Kapila wrote:
> Robert, can you please once see if we are missing anything here
> because to me the report and fix look genuine.
I think so, too. I guess the probability of a deadlock here must be *very* low.
--
Robert Haas
EnterpriseDB: http://www.enterpri
On Sat, Jan 19, 2019 at 4:02 AM Nishant, Fnu wrote:
>
> Hello,
>
> While locking heap pages (function RelationGetBufferForTuple() in file hio.c)
> we acquire locks in increasing block number order to avoid deadlock. In
> certain cases, we do have to drop and reacquire lock on heap pages (when we