Received: from maia.hub.org (unknown [200.46.204.183]) by mail.postgresql.org (Postfix) with ESMTP id 170936336A3 for ; Mon, 21 Dec 2009 22:19:21 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 17299-01 for ; Tue, 22 Dec 2009 02:19:13 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail.anarazel.de (mail.anarazel.de [217.115.131.40]) by mail.postgresql.org (Postfix) with ESMTP id BE4ED6336C3 for ; Mon, 21 Dec 2009 22:19:13 -0400 (AST) Received: from alap2.localnet (p549F6093.dip.t-dialin.net [84.159.96.147]) by mail.anarazel.de (Postfix) with ESMTPSA id 1616644800E; Tue, 22 Dec 2009 03:19:11 +0100 (CET) From: Andres Freund To: pgsql-hackers@postgresql.org Subject: Re: Small Bug in GetConflictingVirtualXIDs Date: Tue, 22 Dec 2009 03:19:09 +0100 User-Agent: KMail/1.13.0 (Linux/2.6.32-andres-00908-g6ec22f9; KDE/4.3.80; x86_64; ; ) Cc: Simon Riggs , Tom Lane , Alvaro Herrera References: <200912210402.37850.andres@anarazel.de> <15331.1261409887@sss.pgh.pa.us> <1261410532.17644.3336.camel@ebony> In-Reply-To: <1261410532.17644.3336.camel@ebony> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <200912220319.10264.af@cybertec.de> X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-2.599 tagged_above=-10 required=5 tests=BAYES_00=-2.599 X-Spam-Level: X-Archive-Number: 200912/1891 X-Sequence-Number: 152594 On Monday 21 December 2009 16:48:52 Simon Riggs wrote: > Giving the drop database a snapshot is not the answer. I expect Andres > to be able to fix this with a simple patch that would not effect the > case of normal running. Actually its less simply than I had thought at first - I don't think the code ever handled that correctly. I might be wrong there, my knowledge of the involved code is a bit sparse... The whole conflict resolution builds on the concept of waiting for an VXid, but an idle backend does not have a valid vxid. Thats correct, right? Sure, the code should be modifyable to handle that code mostly transparently (simply ignoring a invalid localTransactionId when the database id is valid), but ... I am inclined to just unconditionally kill the users of the database. Its not like that would be an issue in production. I cant see a case where its important to run a session to its end on a database which was dropped on the master. Opinions on that? Andres