Re: partitioning and locking problems

From: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: Marc Morin <marc(at)sandvine(dot)com>, Markus Schaber <schabi(at)logix-tt(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: partitioning and locking problems
Date: 2006-02-08 00:59:12
Message-ID: 20060208005912.GS38134@pervasive.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Tue, Feb 07, 2006 at 10:09:02PM +0000, Simon Riggs wrote:
> On Thu, 2006-02-02 at 11:27 -0500, Marc Morin wrote:
>
> > > > 1- long running report is running on view
> > > > 2- continuous inserters into view into a table via a rule
> > > > 3- truncate or rule change occurs, taking an exclusive lock.
> > > > Must wait for #1 to finish.
> > > > 4- new reports and inserters must now wait for #3.
> > > > 5- now everyone is waiting for a single query in #1. Results
> > > > in loss of insert data granularity (important for our application).
>
> > Using a separate lock table is what we've decided to do in this
> > particular case to serialize #1 and #3. Inserters don't take this lock
> > and as such will not be stalled.
>
> Would it not be simpler to have the Inserters change from one table to
> another either upon command, on a fixed timing cycle or even better
> based upon one of the inserted values (Logdate?) (or all 3?). (Requires
> changes in the application layer: 3GL or db functions).

Unfortunately, AFAIK rule changes would suffer from the exact same
problem, which will be a serious issue for table partitioning. If you
try and add a new partition while a long report is running you'll end up
blocking everything.

ALso, IIRC the OP was trying *not* to have the locking system impose
scheduling. I believe the intention is that either 1 not block 3 or 3
not block 4.

I'm honestly somewhat surprised someone hasn't run into this problem
with partitioning yet; or maybe everyone who needs to do long
transactions just shoves those off to slony slaves...
--
Jim C. Nasby, Sr. Engineering Consultant jnasby(at)pervasive(dot)com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Jim C. Nasby 2006-02-08 01:03:39 Re: Default autovacuum settings too conservative
Previous Message Marc Morin 2006-02-07 22:57:03 Re: partitioning and locking problems