From: Nikhil S. <ni...@st...> - 2013-10-09 08:13:40
|
+1 for an approach using the Primary Key. As Pavan mentioned, maybe Update already works using PK as an identifier so we might have a precedent already. Regards, Nikhils On Wed, Oct 9, 2013 at 12:12 PM, Pavan Deolasee <pav...@gm...>wrote: > On Wed, Oct 9, 2013 at 12:09 PM, Andrei Martsinchyk < > and...@gm...> wrote: > >> I believe even plain vacuum may move tuples within a page and purge empty >> pages, therefore CTIDs could be changed. >> > > Plain vacuum does not move tuples around.. Note that all indexes must be > updated if a tuple is moved, even within a page. But besides that all your > points below still hold true. > > >> Autovacuum on Datamodes are not in sync and concurrent writes may occur >> in different order on Datanodes. >> CTID can not be used to identify tuple replicas. Primary key could be >> used, or special system column. Otherwise not shippable updates against >> replicated tables should not be allowed. >> >> >> 2013/10/9 Pavan Deolasee <pav...@gm...> >> >>> >>> >>> >>> On Wed, Oct 9, 2013 at 11:49 AM, Koichi Suzuki <koi...@gm...>wrote: >>> >>>> Hmm.. Yes, it could be serious. I suppose that CTID changes only when >>>> vacuum full occurs. >>>> >>> >>> CTID will also change every time a row is updated. So the bug should be >>> very easy to reproduce. One easiest way to compile different datanodes with >>> diferent block size. Another way could be to update/delete from a >>> replicated table and vacuum the table on one datanode but not other and >>> then again update several rows in the table. Most likely the new versions >>> on two different nodes will not have the same CTID anymore. >>> >>> >>>> Vacuum freeze will updates xmim to the smallest value and usual vacuum >>>> recycles "dead" row area. We may have a chance to assign different CTIDs >>>> to the same rows in replicated table if vacuum full runs locally in >>>> datanodes. (My assumption may be wrong. Does vacuum freeze move tuples >>>> and change their CTID?) >>>> >>>> >>> No, it does not. >>> >>> Thanks, >>> Pavan >>> >>> -- >>> Pavan Deolasee >>> http://www.linkedin.com/in/pavandeolasee >>> >>> >>> ------------------------------------------------------------------------------ >>> October Webinars: Code for Performance >>> Free Intel webinars can help you accelerate application performance. >>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most >>> from >>> the latest Intel processors and coprocessors. See abstracts and register >>> > >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk >>> >>> _______________________________________________ >>> Postgres-xc-developers mailing list >>> Pos...@li... >>> https://lists.sourceforge.net/lists/listinfo/postgres-xc-developers >>> >>> >> >> >> -- >> Andrei Martsinchyk >> >> >> StormDB - http://www.stormdb.com >> The Database Cloud >> >> > > > -- > Pavan Deolasee > http://www.linkedin.com/in/pavandeolasee > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > _______________________________________________ > Postgres-xc-developers mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-developers > > -- StormDB - http://www.stormdb.com The Database Cloud |