Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eN27M-0007Mi-Ca for pgsql-hackers@arkaria.postgresql.org; Thu, 07 Dec 2017 19:46:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eN27L-0006K4-RS for pgsql-hackers@arkaria.postgresql.org; Thu, 07 Dec 2017 19:45:59 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1eN27L-0006Ju-Kg for pgsql-hackers@lists.postgresql.org; Thu, 07 Dec 2017 19:45:59 +0000 Received: from out3-smtp.messagingengine.com ([66.111.4.27]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eN27I-0003id-3w for pgsql-hackers@postgresql.org; Thu, 07 Dec 2017 19:45:58 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 72DEE20A92; Thu, 7 Dec 2017 14:45:54 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute7.internal (MEProxy); Thu, 07 Dec 2017 14:45:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=rxz6XLjG+40lqBt+RzRTqJJnfADFE PrRyFaq1gwaRWw=; b=jiTF2Shd1ZenI4qPqIUWpBLbJOMP+8Aq8kLa+WqlqGGnj gHXalwM6LqHSntdmOpFfZTSQE1ZcsZlZZ2m55LFvSJegvoo/2+cIjkysOqW/Djii Kg1VK0cKUBqPI1z82/NiYAOj44OaZOycHeZH3UhMaZSx9xSJjmH9nDol8VY5xP/C KILmVk0WW3HgsPKzxPUbYf3NuAH3R0aX1NErPlZvi3eUWqfuuc5oayOUEbPslTmJ jFiNrPvPb+dlLU0qZuxOre4OmzD/hQ5xjptcRPO1QbwENNr8diuR0A15wgCzELoj bpmPKIFuUbZEnzd6bXYWBcF3xdcedO/1Z2uwGho+A== X-ME-Sender: Received: from april.local (c-73-13-66-39.hsd1.pa.comcast.net [73.13.66.39]) by mail.messagingengine.com (Postfix) with ESMTPA id E291B7E4AA; Thu, 7 Dec 2017 14:45:53 -0500 (EST) Subject: Re: [HACKERS] logical decoding of two-phase transactions From: Peter Eisentraut To: Nikhil Sontakke , Craig Ringer References: <0e46521cbbca66c3298d1a9d672c9af0@postgrespro.ru> <45525c30-4002-861e-a82c-3b95b19d1514@2ndquadrant.com> Cc: Petr Jelinek , Sokolov Yura , Stas Kelvich , Andres Freund , Dmitry Dolgov <9erthalion6@gmail.com>, Tom Lane , Masahiko Sawada , Simon Riggs , PostgreSQL Hackers , Robert Haas Organization: 2ndQuadrant Message-ID: Date: Thu, 7 Dec 2017 14:45:53 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <45525c30-4002-861e-a82c-3b95b19d1514@2ndquadrant.com> Content-Type: multipart/mixed; boundary="------------52980CADEE80006C30BDF9BD" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------52980CADEE80006C30BDF9BD Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 12/7/17 08:31, Peter Eisentraut wrote: > On 12/4/17 10:15, Nikhil Sontakke wrote: >> PFA, latest patch for this functionality. > > This probably needs documentation updates for the logical decoding chapter. You need the attached patch to be able to compile without warnings. Also, the regression tests crash randomly for me at frame #4: 0x000000010a6febdb postgres`heap_prune_record_prunable(prstate=0x00007ffee5578990, xid=0) at pruneheap.c:625 622 * This should exactly match the PageSetPrunable macro. We can't store 623 * directly into the page header yet, so we update working state. 624 */ -> 625 Assert(TransactionIdIsNormal(xid)); 626 if (!TransactionIdIsValid(prstate->new_prune_xid) || 627 TransactionIdPrecedes(xid, prstate->new_prune_xid)) 628 prstate->new_prune_xid = xid; Did you build with --enable-cassert? -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------52980CADEE80006C30BDF9BD Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-fixup-Original-patch.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-fixup-Original-patch.patch" RnJvbSAwYmVkZGM0YjQ3ZDE2MGQ0ZmNkOWU5OWQyM2E5MGM0MjczYjMyYzQxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlcl9lQGdteC5u ZXQ+CkRhdGU6IFRodSwgNyBEZWMgMjAxNyAxNDo0MjowNCAtMDUwMApTdWJqZWN0OiBbUEFU Q0hdIGZpeHVwISBPcmlnaW5hbCBwYXRjaAoKLS0tCiBjb250cmliL3Rlc3RfZGVjb2Rpbmcv dGVzdF9kZWNvZGluZy5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvdGVzdF9kZWNvZGlu Zy90ZXN0X2RlY29kaW5nLmMgYi9jb250cmliL3Rlc3RfZGVjb2RpbmcvdGVzdF9kZWNvZGlu Zy5jCmluZGV4IDM2MjY4M2ZlZWYuLmE3MDllMmZmOTIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIv dGVzdF9kZWNvZGluZy90ZXN0X2RlY29kaW5nLmMKKysrIGIvY29udHJpYi90ZXN0X2RlY29k aW5nL3Rlc3RfZGVjb2RpbmcuYwpAQCAtNzQsNyArNzQsNyBAQCBzdGF0aWMgdm9pZCBwZ19k ZWNvZGVfbWVzc2FnZShMb2dpY2FsRGVjb2RpbmdDb250ZXh0ICpjdHgsCiAJCQkJICBTaXpl IHN6LCBjb25zdCBjaGFyICptZXNzYWdlKTsKIHN0YXRpYyBib29sIHBnX2ZpbHRlcl9wcmVw YXJlKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwKIAkJCQkgIFJlb3JkZXJCdWZmZXJU WE4gKnR4biwKLQkJCQkgIGNoYXIgKmdpZCk7CisJCQkJICBjb25zdCBjaGFyICpnaWQpOwog c3RhdGljIHZvaWQgcGdfZGVjb2RlX3ByZXBhcmVfdHhuKExvZ2ljYWxEZWNvZGluZ0NvbnRl eHQgKmN0eCwKIAkJCQkgIFJlb3JkZXJCdWZmZXJUWE4gKnR4biwKIAkJCQkgIFhMb2dSZWNQ dHIgcHJlcGFyZV9sc24pOwpAQCAtMjkwLDcgKzI5MCw3IEBAIHBnX2RlY29kZV9jb21taXRf dHhuKExvZ2ljYWxEZWNvZGluZ0NvbnRleHQgKmN0eCwgUmVvcmRlckJ1ZmZlclRYTiAqdHhu LAogLyogRmlsdGVyIG91dCB1bm5lY2Vzc2FyeSB0d28tcGhhc2UgdHJhbnNhY3Rpb25zICov CiBzdGF0aWMgYm9vbAogcGdfZmlsdGVyX3ByZXBhcmUoTG9naWNhbERlY29kaW5nQ29udGV4 dCAqY3R4LCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCi0JCQkJCWNoYXIgKmdpZCkKKwkJCQkJ Y29uc3QgY2hhciAqZ2lkKQogewogCVRlc3REZWNvZGluZ0RhdGEgKmRhdGEgPSBjdHgtPm91 dHB1dF9wbHVnaW5fcHJpdmF0ZTsKIAotLSAKMi4xNS4xCgo= --------------52980CADEE80006C30BDF9BD--