Re: Bug with pg_basebackup and 'shared' tablespace

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
Cc: pierre(dot)ducroquet(at)people-doc(dot)com, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>, daniel(at)yesql(dot)se, Magnus Hagander <magnus(at)hagander(dot)net>
Subject: Re: Bug with pg_basebackup and 'shared' tablespace
Date: 2017-09-29 06:06:51
Message-ID: CAB7nPqQs9L8EyAujLmGkoFdEF5Ev5FPhx7x6iFjyuHb51++rqw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Sep 29, 2017 at 2:19 PM, Kyotaro HORIGUCHI
<horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> wrote:
> It would practically work but I don't like the fact that the
> patch relies on the specific directory/file ordering in the tar
> stream. This is not about the CATVER directory but lower
> directories. Being more strict, it actually makes excessive calls
> to verify_dir_is_em..() for more lower directories contrarily to
> expectations.
>
> I think that we can take more more robust way to detect the
> CATVER directory. Just checking if it is a top-level directory
> will work. That is, making the following change.

My tendency about this patch is still that it should be rejected. This
is presenting additional handling for no real gain.

>
> - if (firstfile && !basetablespace)
> + /* copybuf must contain at least one '/' here */
> + if (!basetablespace && strchr(copybuf, '/')[1] == 0)
>
> This condition exactly hits only CATVER directories not being
> disturbed by file ordering of the tar stream.

Anyway, as a new version is at least needed, I am marking it as
returned with feedback. The CF is close to its end.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Albe Laurenz 2017-09-29 06:48:11 Re: Enhancements to passwordcheck
Previous Message Michael Paquier 2017-09-29 06:04:12 Re: [COMMITTERS] pgsql: Fix freezing of a dead HOT-updated tuple