Re: Polyphase merge is obsolete

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: vignesh C <vignesh21(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Peter Geoghegan <pg(at)bowt(dot)ie>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
Subject: Re: Polyphase merge is obsolete
Date: 2021-07-14 15:04:14
Message-ID: 91284957-3cb2-944e-5f14-5c2ff86b49fa@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 14/07/2021 15:12, vignesh C wrote:
> On Sat, Jan 23, 2021 at 3:49 AM Heikki Linnakangas <hlinnaka(at)iki(dot)fi> wrote:
>> Here's an updated version that fixes one bug:
>>
>> The CFBot was reporting a failure on the FreeBSD system [1]. It turned
>> out to be an out-of-memory issue caused by an underflow bug in the
>> calculation of the size of the tape read buffer size. With a small
>> work_mem size, the memory left for tape buffers was negative, and that
>> wrapped around to a very large number. I believe that was not caught by
>> the other systems, because the other ones had enough memory for the
>> incorrectly-sized buffers anyway. That was the case on my laptop at
>> least. It did cause a big slowdown in the 'tuplesort' regression test
>> though, which I hadn't noticed.
>>
>> The fix for that bug is here as a separate patch for easier review, but
>> I'll squash it before committing.
>
> The patch does not apply on Head anymore, could you rebase and post a
> patch. I'm changing the status to "Waiting for Author".

Here's a rebased version. I also squashed that little bug fix from
previous patch set.

- Heikki

Attachment Content-Type Size
0001-Refactor-LogicalTapeSet-LogicalTape-interface.patch text/x-patch 67.8 KB
0002-Replace-polyphase-merge-algorithm-with-a-simple-bala.patch text/x-patch 40.8 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2021-07-14 15:08:34 Re: row filtering for logical replication
Previous Message Alvaro Herrera 2021-07-14 15:02:47 Re: Incorrect usage of strtol, atoi for non-numeric junk inputs