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 1qjn8y-00C7Ky-HK for pgsql-hackers@arkaria.postgresql.org; Fri, 22 Sep 2023 20:52:56 +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 1qjn8x-007VsK-16 for pgsql-hackers@arkaria.postgresql.org; Fri, 22 Sep 2023 20:52:55 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qjn8w-007Vrw-NN for pgsql-hackers@lists.postgresql.org; Fri, 22 Sep 2023 20:52:54 +0000 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qjn8u-0065Q8-BN for pgsql-hackers@postgresql.org; Fri, 22 Sep 2023 20:52:53 +0000 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-57790939a2bso1966662a12.3 for ; Fri, 22 Sep 2023 13:52:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1695415971; x=1696020771; darn=postgresql.org; h=mime-version:user-agent:content-transfer-encoding:date:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=QhPBGfW86Z1iPek4mVxSMHZOYlyhE5l+ytbMkuzoFK4=; b=Ws1+Squ/ivPh4zdBUfUX5y553uazDAn9UFkPgpyhcBtCxwcifaWO383FuC4k9Dd1mP NNhH/sDZcOKkZBHjcemLQZUP5Ln5aV+TyCYVoNAKlDrgR1QgRddzkke24NVCWfcPjZ6v LEInzgMU6gzu54+EUyIAWv8kf9QWkAGTsXr8zkLwtbed0T8QtB8QJmk5iUib18J7+vm5 AurDVkc2sYVI0RUjzy9ssKIHWzMG+UoQp/qFlwcMg3DsrZn+HZ1XkfNPbGoP75q133lV acc9bDg04e9/2f+JF6sPIv2SnTwmH2OEez+LYIxBvenCep3csXPjBsArJIPEcZ6/Qa13 gZIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695415971; x=1696020771; h=mime-version:user-agent:content-transfer-encoding:date:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=QhPBGfW86Z1iPek4mVxSMHZOYlyhE5l+ytbMkuzoFK4=; b=EtKPP9fep8JbSiNPfH+Q+CZRjHz0p50TELXn656mynEafIdwfvz9YZQSG6UnmnSDTL g5His4Li8QBhbjZ+RvowIxasUx1vQLw8pE3YQ89O0Dc1ikS3SnWMO+uIUgTDFAXw300F 246hqXe67OVJcJ8gmz6s39oULHJVImw2rq/tfceIICeTBg40MDDLksYstRVTsC+mRGbu zXA4ogW29yUloiA6bb8X/EvH7trsk0WDBC6DqlRGk8Br48TpwESSYXcCJwRgwxZxzuOx x/RO3jJ5GB+zhuTCxGPaPth/EPq8u7wpFv/thzQ4XVdX9bprXsbtoSrKR53lDDACBicp tcbQ== X-Gm-Message-State: AOJu0Ywz8ZuRvnLuMd3Kz25d4yVQIPIBmkp8Slw0Z1SC438pddTIHWXD /pJMt3EoMnoCM/yG4KlXsoO4UZd1N6BB1L4L/Qw= X-Google-Smtp-Source: AGHT+IHrlR5xY03GvdVi14FbE+znjzrfpqfmGwjeKfFzeuJMvpH+u8s0fEUVzfE4TGwCUe03S1Ft/w== X-Received: by 2002:a17:90b:3ec7:b0:274:6135:8363 with SMTP id rm7-20020a17090b3ec700b0027461358363mr769538pjb.33.1695415970845; Fri, 22 Sep 2023 13:52:50 -0700 (PDT) Received: from jeff-laptop.lan (c-98-45-81-55.hsd1.ca.comcast.net. [98.45.81.55]) by smtp.gmail.com with ESMTPSA id 14-20020a17090a004e00b0025dc5749b4csm5854379pjb.21.2023.09.22.13.52.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Sep 2023 13:52:50 -0700 (PDT) Message-ID: Subject: Is this a problem in GenericXLogFinish()? From: Jeff Davis To: pgsql-hackers@postgresql.org Date: Fri, 22 Sep 2023 13:52:48 -0700 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.4-0ubuntu2 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk src/backend/transam/README says: ... 4. Mark the shared buffer(s) as dirty with MarkBufferDirty(). (This=C2= =A0 must happen before the WAL record is inserted; see notes in=C2=A0 SyncOneBuffer().) ... But GenericXLogFinish() does this: ... /* Insert xlog record */ lsn =3D XLogInsert(RM_GENERIC_ID, 0); /* Set LSN and mark buffers dirty */ for (i =3D 0; i < MAX_GENERIC_XLOG_PAGES; i++) { PageData *pageData =3D &state->pages[i]; if (BufferIsInvalid(pageData->buffer)) continue; PageSetLSN(BufferGetPage(pageData->buffer), lsn); MarkBufferDirty(pageData->buffer); } END_CRIT_SECTION(); Am I missing something or is that a problem? Regards, Jeff Davis