Re: Re: [COMMITTERS] pgsql: Map basebackup tablespaces using a tablespace_map file

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, hlinnaka <hlinnaka(at)iki(dot)fi>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Re: [COMMITTERS] pgsql: Map basebackup tablespaces using a tablespace_map file
Date: 2015-05-23 15:58:58
Message-ID: 5560A3C2.6070204@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers


On 05/23/2015 01:29 AM, Amit Kapila wrote:
> On Fri, May 15, 2015 at 11:51 AM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com
> <mailto:amit(dot)kapila16(at)gmail(dot)com>> wrote:
> >
> > On Thu, May 14, 2015 at 10:29 PM, Andrew Dunstan
> <andrew(at)dunslane(dot)net <mailto:andrew(at)dunslane(dot)net>> wrote:
> > >
> > >
> > > On 05/14/2015 10:52 AM, Robert Haas wrote:
> > >>
> > >> On Thu, May 14, 2015 at 12:12 AM, Amit Kapila
> <amit(dot)kapila16(at)gmail(dot)com <mailto:amit(dot)kapila16(at)gmail(dot)com>> wrote:
> > >>>
> > >>> On Thu, May 14, 2015 at 2:10 AM, Andrew Dunstan
> <andrew(at)dunslane(dot)net <mailto:andrew(at)dunslane(dot)net>> wrote:
> > >>>>
> > >>>> How about if we simply abort if we find a non-symlink where we
> want the
> > >>>> symlink to be, and only remove something that is actually a
> symlink (or a
> > >>>> junction point, which is more or less the same thing)?
> > >>>
> > >>> We can do that way and for that I think we need to use rmdir
> > >>> instead of rmtree in the code being discussed (recovery path),
> > >>> OTOH we should try to minimize the errors raised during
> > >>> recovery.
> > >>
> > >> I'm not sure I understand this issue in detail, but why would using
> > >> rmtree() on something you expect to be a symlink ever be a good idea?
> > >> It seems like if things are the way you expect them to be, it has no
> > >> benefit, but if they are different from what you expect, you might
> > >> blow away a ton of important data.
> > >>
> > >> Maybe I am just confused.
> > >>
> > >
> > >
> > > The suggestion is to get rid of using rmtree. Instead, if we find
> a non-symlink in pg_tblspc we'll make the user clean it up before we
> can continue. So your instinct is in tune with my suggestion.
> > >
> >
> > Find the patch which gets rid of rmtree usage. I have made it as
> > a separate function because the same code is used from
> > create_tablespace_directories() as well. I thought of extending the
> > same API for using it from destroy_tablespace_directories() as well,
> > but due to special handling (especially for ENOENT) in that function,
> > I left it as of now.
> >
>
> Does it make sense to track this in 9.5 Open Items [1]?
>
>
> [1] - https://wiki.postgresql.org/wiki/PostgreSQL_9.5_Open_Items
>
>

Sure. It's on my list of things to get to, but by all means put it there.

cheers

andrew

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2015-05-23 19:22:31 pgsql: Still more fixes for lossy-GiST-distance-functions patch.
Previous Message Amit Kapila 2015-05-23 05:29:27 Re: Re: [COMMITTERS] pgsql: Map basebackup tablespaces using a tablespace_map file

Browse pgsql-hackers by date

  From Date Subject
Next Message David E. Wheeler 2015-05-23 15:59:02 Re: jsonb_set: update or upsert default?
Previous Message Tom Lane 2015-05-23 14:50:36 Re: xid wrap / optimize frozen tables?