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.96) (envelope-from ) id 1w4UE5-002F9o-0r for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Mar 2026 01:37:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w4UE2-00Ep9W-1Q for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Mar 2026 01:37:02 +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.96) (envelope-from ) id 1w4UE2-00Ep9O-06 for pgsql-hackers@lists.postgresql.org; Mon, 23 Mar 2026 01:37:02 +0000 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w4UE0-00000000XyE-34xo for pgsql-hackers@lists.postgresql.org; Mon, 23 Mar 2026 01:37:01 +0000 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-b7cf4a975d2so512219166b.2 for ; Sun, 22 Mar 2026 18:37:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774229819; cv=none; d=google.com; s=arc-20240605; b=Dhi8KJ4tbEd7Y8IEPFlgdom52xhWynB9bfFIZwr1Cy/Vg3CchZ6LDk8WZQ96nquV/r b39TOtU4wKEIIC7cqKX2qufMpljSufkTd5M/3Jtucs5WaB0qWud4kp8cI04uK2CyA4BO y40hBqkeA/Mv8EU5akQva1oS5gPiaBmBzAUQpXuorWJ0qMYP+15ALcbNoC8M7WI3q0Re ssWwnLT9RrDS5Ls3hvJXpZ7Pss1ywI+0T6stnd7ITktwfmpY9Y2ju3mbng+EN5+u5wbS 4aOqiDTTIu+VSnauPOp0CryyVuYuZqvO3fAdfKIFK3XuGsxDpM10SYfyzUflUeqA7XZF 6//Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=UABYieEbo4HMJATtDuXOGGNI7aRujxLcfFHzrDVthMs=; fh=wb9NqnYQimSGVvxgRUtQskkilZUMkEI7NNKqWcZGqa4=; b=ibpgY3hoKn9sreTi7QdcpQvcQ4WJ+u4+AKFiry1TkrX4Yl6ht+D/sE+zZOo4dTY5Z7 sw2k7YPZ9Dzkyy+PjUUEzqp0/1RrqwgOa9t0njQvIStfAdHza/ljyAUI1r8T8nhgiK2z 2muvfg3D3KPj7yivGSnhLJtL+npb8nr6ULDETlQ3uZ7kggkoHofKU8GAfnJ4RO2bB5FW nsjbHmHSatjq45I/kPKug3SM7CbQek2S/ZT752mxNdNEyawYdU6lfYeBvyavWgj92ULk AjEK3wELFpG3o5k+Pg6ZLAsiVstbaOJlZnS+tazA6Ng617X+OcbbrKOTFRS6ADvJAqsw L9yA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1774229819; x=1774834619; 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=UABYieEbo4HMJATtDuXOGGNI7aRujxLcfFHzrDVthMs=; b=h1/kQ81jeAwDP91p7/9z8EV3j8114ifq3+Ljd1/Tiz3d1gewg/Kj8O3rt6E6JaM4eY QBSq3GISxLkIcDgRzn8mI0ItxkzwwTRsyAXxpSCMmTyyFWNO2OPo243Wct90hMyBpv8r EPTY+j2pdM2ZsnzHax4sRL24z3edgHidHy9YeTR9CwOFpZ4q4xuHygf8zrNKoC1FBj41 WSz4hOU3NmLa5ASNutIWi4INn2VmthL1ZGQsUFjrZ0+3lgzGi3LSev1TPJSZkAOlyJEc KWxDLSdxoCAxCAgfHqB6mCGMdALjiYi7gNxulHzauf/Suu7fE50hdZoP+040+t3S7dQF WauA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774229819; x=1774834619; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=UABYieEbo4HMJATtDuXOGGNI7aRujxLcfFHzrDVthMs=; b=Ml35rDd8NxZ4eckbaS5AYrayYeN7yVtBmVlRrD8HzPvwjGdOxHlvSBSlBjhsBBfefj PRhDJyb9kdHccJyKkLjcFE0h1dDUj5EfBZlkBem375usZwWc3DoVlJ5R8bNEKtvPX/wH 4vZQWI9NYfc4BAZ7sHzuGpG6vz/jcI/EBvBcrvObdCwvV0Dumlm7BzWma2UroXGIbPC3 VfaH5CBdhDN1ofvsnfIQBXvUz+9R70XKYdDsOduwg+/MuzFrFF+/bcXQxRxbKHDdjpiy dd4nBq4zHGKVrh1jOxsEL30rHey+3UyLUujRxN0eo6pUCXgxf6a1PPualIHTlahragEB +Vaw== X-Gm-Message-State: AOJu0YzrGPPM59YmCuFalBW5HFQf/rC9Uc43iPYQJf1tk5sqUTqG6VbG 4kAOBGwIcDJl09RGR03W3sI6Fl55/7lCYnsIroZPL81JFfiJUc9tyAk1AgnvVM9dFXNLOh38DoK ADBiZjs0IgIOXLOiXlRqkmbviTVxhZyY= X-Gm-Gg: ATEYQzzt7ANwGmtBxEE0am8hsVayxyMgGOkkhr3ymHc/WKMmK8qHLxzNl0MGUe1R+rH WH5eiyfazt0Fg45GCG0XMskCPzRC3/nDHOTOPDK9vyIfSgjJ7Jl8H1rl0gCEfhdrhnbJ/ngxsIq 9k0O/dObcBWrgq4RA0eoL/YHrcenFHBRgo4akVOAp17sB1WbAzzuG6Sh2RU4t7IliS7SSL4e41Q mdwCBkko0kgZpjjqSi5tnHatzC1q2EHIw7GXpzC1kAzJF4zCInJ+M//8tsChRZLGjSgzQtSRFxB 6hd6SEsydzaH+85h/u9SUQ99H43uFPo2JZahD/yyXZ4pd3TPvzaXlqHOE2dml51aI7XuqkI= X-Received: by 2002:a17:906:5a4f:b0:b97:98b5:3767 with SMTP id a640c23a62f3a-b982f3a4181mr581730166b.35.1774229818926; Sun, 22 Mar 2026 18:36:58 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jianghua Yang Date: Sun, 22 Mar 2026 18:36:22 -0700 X-Gm-Features: AaiRm50QF6gBBKbWhtuyp3ddMqgoLeHMW-0rUIPYHsUFNjfXxpnC8gkvsZ0uiuE Message-ID: Subject: Re: basebackup: add missing deflateEnd() in gzip compression sink To: Michael Paquier Cc: pgsql-hackers@lists.postgresql.org Content-Type: multipart/alternative; boundary="0000000000001b696c064da71225" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000001b696c064da71225 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Michael, Thank you for reviewing and committing the patch! noted on v1-0002 =E2=80=94 understood that the incremental manifest file = close isn't an issue there. Thanks again. Regards, Jianghua Yang Michael Paquier =E4=BA=8E2026=E5=B9=B43=E6=9C=8822=E6= =97=A5=E5=91=A8=E6=97=A5 17:32=E5=86=99=E9=81=93=EF=BC=9A > On Sat, Mar 21, 2026 at 02:22:25PM -0700, Jianghua Yang wrote: > > v1-0001: basebackup: add missing deflateEnd() calls in gzip compression > > sink > > After double-checking the whole code, I agree that this is a good > practice to have in the tree. However, the issue is not worth > bothering in back-branches as the server-side base backup gzip code > relies on allocation and free callbacks, with zlib internals doing > nothing with fds or more persistent states as far as I have read its > code. For the current use, we'd bloat this data once per tablespace > in a single base backup, safe even if the connection is persistent > (missed that in my first message). > > What I am more worried about are future callers of this code, though, > and we care about having a end() call for each matching init[2]() call > in the tree in all the places that rely on gzip internals. So that's > a good practice on consistency ground, at least. For these reasons, > applied that on HEAD. > > > v1-0002: pg_basebackup: add missing close() for incremental manifest > > file > > This one does not matter. This resource is for a backup manifest and > we are talking about a single one for a single invocation of the > binary. > -- > Michael > --0000000000001b696c064da71225 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+wqBIaSBNaWNoYWVsLCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxi cj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj7CoCBU aGFuayB5b3UgZm9yIHJldmlld2luZyBhbmQgY29tbWl0dGluZyB0aGUgcGF0Y2ghIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgPGJyPjxicj7CoCBub3RlZCBvbiB2MS0wMDAyIOKAlCB1bmRlcnN0b29k IHRoYXQgdGhlIGluY3JlbWVudGFsIG1hbmlmZXN0IGZpbGUgY2xvc2UgaXNuJiMzOTt0IGFuIGlz c3VlIHRoZXJlLiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+wqAgwqA8YnI+wqAgVGhhbmtzIGFnYWluLiDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoDxicj7CoCBSZWdhcmRzLDxicj7CoCBKaWFuZ2h1YSBZYW5nPC9kaXY+PGJyPjxk aXYgY2xhc3M9ImdtYWlsX3F1b3RlIGdtYWlsX3F1b3RlX2NvbnRhaW5lciI+PGRpdiBkaXI9Imx0 ciIgY2xhc3M9ImdtYWlsX2F0dHIiPk1pY2hhZWwgUGFxdWllciAmbHQ7PGEgaHJlZj0ibWFpbHRv Om1pY2hhZWxAcGFxdWllci54eXoiPm1pY2hhZWxAcGFxdWllci54eXo8L2E+Jmd0OyDkuo4yMDI2 5bm0M+aciDIy5pel5ZGo5pelIDE3OjMy5YaZ6YGT77yaPGJyPjwvZGl2PjxibG9ja3F1b3RlIGNs YXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDtib3JkZXIt bGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij5PbiBTYXQs IE1hciAyMSwgMjAyNiBhdCAwMjoyMjoyNVBNIC0wNzAwLCBKaWFuZ2h1YSBZYW5nIHdyb3RlOjxi cj4NCiZndDsgdjEtMDAwMTogYmFzZWJhY2t1cDogYWRkIG1pc3NpbmcgZGVmbGF0ZUVuZCgpIGNh bGxzIGluIGd6aXAgY29tcHJlc3Npb248YnI+DQomZ3Q7IHNpbms8YnI+DQo8YnI+DQpBZnRlciBk b3VibGUtY2hlY2tpbmcgdGhlIHdob2xlIGNvZGUsIEkgYWdyZWUgdGhhdCB0aGlzIGlzIGEgZ29v ZDxicj4NCnByYWN0aWNlIHRvIGhhdmUgaW4gdGhlIHRyZWUuwqAgSG93ZXZlciwgdGhlIGlzc3Vl IGlzIG5vdCB3b3J0aDxicj4NCmJvdGhlcmluZyBpbiBiYWNrLWJyYW5jaGVzIGFzIHRoZSBzZXJ2 ZXItc2lkZSBiYXNlIGJhY2t1cCBnemlwIGNvZGU8YnI+DQpyZWxpZXMgb24gYWxsb2NhdGlvbiBh bmQgZnJlZSBjYWxsYmFja3MsIHdpdGggemxpYiBpbnRlcm5hbHMgZG9pbmc8YnI+DQpub3RoaW5n IHdpdGggZmRzIG9yIG1vcmUgcGVyc2lzdGVudCBzdGF0ZXMgYXMgZmFyIGFzIEkgaGF2ZSByZWFk IGl0czxicj4NCmNvZGUuwqAgRm9yIHRoZSBjdXJyZW50IHVzZSwgd2UmIzM5O2QgYmxvYXQgdGhp cyBkYXRhIG9uY2UgcGVyIHRhYmxlc3BhY2U8YnI+DQppbiBhIHNpbmdsZSBiYXNlIGJhY2t1cCwg c2FmZSBldmVuIGlmIHRoZSBjb25uZWN0aW9uIGlzIHBlcnNpc3RlbnQ8YnI+DQoobWlzc2VkIHRo YXQgaW4gbXkgZmlyc3QgbWVzc2FnZSkuPGJyPg0KPGJyPg0KV2hhdCBJIGFtIG1vcmUgd29ycmll ZCBhYm91dCBhcmUgZnV0dXJlIGNhbGxlcnMgb2YgdGhpcyBjb2RlLCB0aG91Z2gsPGJyPg0KYW5k IHdlIGNhcmUgYWJvdXQgaGF2aW5nIGEgZW5kKCkgY2FsbCBmb3IgZWFjaCBtYXRjaGluZyBpbml0 WzJdKCkgY2FsbDxicj4NCmluIHRoZSB0cmVlIGluIGFsbCB0aGUgcGxhY2VzIHRoYXQgcmVseSBv biBnemlwIGludGVybmFscy7CoCBTbyB0aGF0JiMzOTtzPGJyPg0KYSBnb29kIHByYWN0aWNlIG9u IGNvbnNpc3RlbmN5IGdyb3VuZCwgYXQgbGVhc3QuwqAgRm9yIHRoZXNlIHJlYXNvbnMsPGJyPg0K YXBwbGllZCB0aGF0IG9uIEhFQUQuPGJyPg0KPGJyPg0KJmd0OyB2MS0wMDAyOiBwZ19iYXNlYmFj a3VwOiBhZGQgbWlzc2luZyBjbG9zZSgpIGZvciBpbmNyZW1lbnRhbCBtYW5pZmVzdDxicj4NCiZn dDsgZmlsZTxicj4NCjxicj4NClRoaXMgb25lIGRvZXMgbm90IG1hdHRlci7CoCBUaGlzIHJlc291 cmNlIGlzIGZvciBhIGJhY2t1cCBtYW5pZmVzdCBhbmQ8YnI+DQp3ZSBhcmUgdGFsa2luZyBhYm91 dCBhIHNpbmdsZSBvbmUgZm9yIGEgc2luZ2xlIGludm9jYXRpb24gb2YgdGhlPGJyPg0KYmluYXJ5 Ljxicj4NCi0tPGJyPg0KTWljaGFlbDxicj4NCjwvYmxvY2txdW90ZT48L2Rpdj4NCg== --0000000000001b696c064da71225--