Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eu0b9-0003Oz-CV for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Mar 2018 18:49:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1eu0b8-00019N-3e for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Mar 2018 18:49:02 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eu0b7-00019E-PB for pgsql-hackers@lists.postgresql.org; Thu, 08 Mar 2018 18:49:01 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eu0b4-0004pS-Oz for pgsql-hackers@lists.postgresql.org; Thu, 08 Mar 2018 18:49:00 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id A611F20DC6; Thu, 8 Mar 2018 13:48:57 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute5.internal (MEProxy); Thu, 08 Mar 2018 13:48:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=2kGgnf Wmo6YGT7wfEGCSYxJCyYe+Zp3IvpfFfgl9Gvo=; b=aF67kjJB+RBO+rDGBwf6gB 0IKVHAbwePo/VItZEEfvr7SSbnmwxQEzYCgPnOx/0ueQvxj/TuQcAKQDVAYe+QiM oNY6+qyWiB04BNQYMdKyjGIrcb2jXnHtVFjMGGCujkuS7+qhUSMQ21xakRQJJqvc 5/7c7OXE75/LTqlfSl+ofVlvKLhYCXpPHHwX9rJZI87ks/qOETHKJy8VJdfZ4T2L CD8r1fqLQBYnU9mzPLfrByBt+ebiGtOcBijOhwW+ssnVGL+l80mA9h/rvhjEvC+W xA+EWfequWqEBOAmA2rztnemXn/d+b37K3bOxoJ1NhqsPaW8ZjfexGqpgZmDxHcw == X-ME-Sender: Received: from [IPv6:2607:fb90:a422:d4a5:766f:c765:b24a:32e] (unknown [172.58.33.37]) by mail.messagingengine.com (Postfix) with ESMTPA id 7FD447E3C6; Thu, 8 Mar 2018 13:48:56 -0500 (EST) Date: Thu, 08 Mar 2018 10:48:52 -0800 User-Agent: K-9 Mail for Android In-Reply-To: <21103.1520534813@sss.pgh.pa.us> References: <20180111143641.GJ2416@tamriel.snowman.net> <10896.1520521635@sss.pgh.pa.us> <8293.1520528639@sss.pgh.pa.us> <21103.1520534813@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [HACKERS] Restrict concurrent update/delete with UPDATE of partition key To: pgsql-hackers@lists.postgresql.org,Tom Lane ,Robert Haas CC: Pavan Deolasee ,amul sul ,Amit Kapila ,Stephen Frost ,PostgreSQL-development From: Andres Freund Message-ID: <44DBC47E-36ED-4754-88EB-EBFC3FD8B45C@anarazel.de> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On March 8, 2018 10:46:53 AM PST, Tom Lane wrote= : >Robert Haas writes: >> On Thu, Mar 8, 2018 at 12:03 PM, Tom Lane wro= te: >>> FWIW, I would also vote for (1), especially if the only way to do >(2) >>> is stuff as outright scary as this=2E I would far rather have (3) >than >>> this, because IMO, what we are looking at right now is going to make >>> the fallout from multixacts look like a pleasant day at the beach=2E > >> Whoa=2E Well, that would clearly be bad, but I don't understand why >you >> find this so scary=2E Can you explain further? > >Possibly I'm crying wolf; it's hard to be sure=2E But I recall that >nobody >was particularly afraid of multixacts when that went in, and look at >all >the trouble we've had with that=2E Breaking fundamental invariants like >"ctid points to this tuple or its update successor" is going to cause >trouble=2E There's a lot of code that knows that; more than knows the >details of what's in xmax, I believe=2E > >I would've been happier about expending an infomask bit towards this >purpose=2E Just eyeing what we've got, I can't help noticing that >HEAP_MOVED_OFF/HEAP_MOVED_IN couldn't possibly be set in any tuple >in a partitioned table=2E Perhaps making these tests depend on >partitioned-ness would be unworkably messy, but it's worth thinking >about=2E We're pretty much doing so for speculative lock IDs/upsert already=2E Whic= h doesn't seem to have caused a lot of problems=2E Andres=20 --=20 Sent from my Android device with K-9 Mail=2E Please excuse my brevity=2E