Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sjHxW-00H2Mj-2P for pgsql-general@arkaria.postgresql.org; Wed, 28 Aug 2024 12:39:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sjHxU-004ULW-7H for pgsql-general@arkaria.postgresql.org; Wed, 28 Aug 2024 12:39:32 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sjHxT-004ULO-SX for pgsql-general@lists.postgresql.org; Wed, 28 Aug 2024 12:39:32 +0000 Received: from mail-lf1-x12d.google.com ([2a00:1450:4864:20::12d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sjHxR-001v1d-5g for pgsql-general@lists.postgresql.org; Wed, 28 Aug 2024 12:39:31 +0000 Received: by mail-lf1-x12d.google.com with SMTP id 2adb3069b0e04-533462b9428so11292240e87.3 for ; Wed, 28 Aug 2024 05:39:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724848769; x=1725453569; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=+77gwEmV7YOVqARUCImGoxSuBuGA3pOKEqnNwI3nGNU=; b=fOQHQZyJEBlnewExDYsPZwdZ+dhBdBptPsTZbyXtvMimCcugdSCkzyVhd3je8PZU9d qJT51rznMlhvHH5XqlPBEE8JnDRhqkRo4UyW3t6CYRDNqx6GILH9xbDZUEnxrsZsVlMC P6px5uG6ZG3KTPTUKxTsp02KOUbRPH3lsUAEcykwTIV09jfdN2nFxCu6fEXCyQeGymn1 UGAexsBgWMFaVVrL4G8hsQhAWnGyAysaemRF3F+FblxoEKI8xK8DxZp8G52n6WjUd2fn NZib8SVeUmNPwyaXxohlAd4mhEopBi8SldAvQm77G4nJOmBBUq2WgAUnrG+Sw/KDcAEA pUAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724848769; x=1725453569; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+77gwEmV7YOVqARUCImGoxSuBuGA3pOKEqnNwI3nGNU=; b=RuFbGWWDx1jiR/T1MDaIvJcILyTc83/nBdFjJG8AFKhO9Yl+XrqrI6OXlMxMDdKbJK imB47Pb12HKU5KRNc1Hh6zQBqWwJFleruB6+jE+hshZbJoIay07ZMVyhRt2kgeakS87s 0I8wlWxuOrJpCuqg8q5I1WgGbI3jxfW/hr0luu7h2Ce9YQk7wtpM1iGA1W1vlpXcwCxK 0JJv9t9CwcgDhH0nl7NEy8/wEztCiqdZhd+MFo2r2FWMVBhTTuXvK+dVRVnKl6lDaZSQ +5i4wh9zPaJUnR10NLrlO+dl/RXLcUhho0TQGgLyhXG7TrUAkhtu8h9ocuiuQsZiPFdj CIbw== X-Gm-Message-State: AOJu0YwUSvf81iLB5QvOPQXZp6/2+/djmgJ4vEmpyWIeSTXFwRrvVW9q 2vTzkehNG+nY0XVS8lzRn5WFo6A/XlDh9AVBKn5WB3alsaU6ogRpbRZI12papp/OAgIM5LIx2AU ChOYB2poymfL8LR9ZI8SrTxBdgXBpAY0upzs= X-Google-Smtp-Source: AGHT+IHtMfTBOEwMhLz5NxA9mqvSFDmkm4xhl5MUSdZAXwGgMLyricgp9Qqmewfz5dtPpAW94WCaak7sGc162CV4kFk= X-Received: by 2002:ac2:4e06:0:b0:52e:936e:a237 with SMTP id 2adb3069b0e04-53438846debmr12788699e87.16.1724848767961; Wed, 28 Aug 2024 05:39:27 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Greg Sabino Mullane Date: Wed, 28 Aug 2024 08:38:49 -0400 Message-ID: Subject: Re: Ghost data from failed FDW transactions? To: Jacob Biesinger Cc: pgsql-general@lists.postgresql.org Content-Type: multipart/alternative; boundary="0000000000001b16af0620bda6db" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000001b16af0620bda6db Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Aug 27, 2024 at 9:03=E2=80=AFPM Jacob Biesinger wrote: > I'm scratching my head at a few rows in the root DB, where it seems the > corresponding tenant transaction rolled back, but the root DB transaction > committed > ... > Before I jump into particulars, does this sound like expected behavior? > No, it sounds like something is going wrong. Your setup as described should work to keep both sides in sync. Through the magic of postgres_fdw, row triggers, and distributed > transactions, > Can you expand on "distributed transactions" here? Cheers, Greg --0000000000001b16af0620bda6db Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Tue, Aug 27, 2024 at 9:03=E2=80=AFPM J= acob Biesinger <jake.biesing= er@gmail.com> wrote:
I'm scratc= hing my head at a few rows in the root DB, where it seems the corresponding= tenant transaction rolled back, but the root DB transaction committed
<= /div>
...=C2=A0
Before I jump into particulars, do= es this sound like expected behavior?

No, it sounds like something is going wrong. Your setup as described= should work to keep both sides in sync.

Through the magic= of postgres_fdw, row triggers, and distributed transactions,

Can you expand on "distributed transact= ions" here?

Cheers,
Greg
=
--0000000000001b16af0620bda6db--