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 1w00gr-001WY9-17 for pgsql-bugs@arkaria.postgresql.org; Tue, 10 Mar 2026 17:16:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w00gp-004sVr-0X for pgsql-bugs@arkaria.postgresql.org; Tue, 10 Mar 2026 17:16:15 +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 1w00go-004sVj-2r for pgsql-bugs@lists.postgresql.org; Tue, 10 Mar 2026 17:16:15 +0000 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w00gn-00000001TtV-1HSR for pgsql-bugs@lists.postgresql.org; Tue, 10 Mar 2026 17:16:14 +0000 Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-b9358dd7f79so1116072666b.1 for ; Tue, 10 Mar 2026 10:16:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1773162970; x=1773767770; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=hKeLASjslwocvNJzskYVkfYXo+RK9nMmLjMROoAUg/o=; b=JB+aiCq+npB07Mxd0G7axjBt7VIitgejMcwtSFYRqH7Uz/SzxOWIg83srRYaG4v/cZ qQv0hk4SkyK8C6eVWE7/8NdDx5YA5zn4zSfObfHfvp3FabkhVvgN1HYvGeexwcYMnSaD 3buI16lDcvHOirWE4F3jZfUzETdVWkqoYuc14sN0IPlSCnSa3MYNVBIuqGB0K+78vPF2 f9CLEBA9DtlzL8jBYMAbd99wMO8h52s4rRWsnW6l9acc3fMDvkIGQs8fOXmlQzCFL6p7 yejftYLb3RFh8YgR8Scdf40lmmGNW3eJFkZqmqGShnVSzOIs3j2FD5bFNy9BE6mJYUjF ZJQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773162970; x=1773767770; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=hKeLASjslwocvNJzskYVkfYXo+RK9nMmLjMROoAUg/o=; b=nAbilVbWw8d+FkWr5YBA+Iv2t1XUIg0PKuTXkPVW6boE5pL+LGjbWOdVSEl9zJme7M FKIVvi+cceJNaWR7Jcph5jfKuW5hFez6R0HffvJ1+r/P/n1aRrgf6H0ydmXbQ+o4VcGw qp9B3tLvOX5Dapu5s4neqxBsRjQzr1dNNBTzpblIlpr+4HhxkbqtrxnYNMkrv/iF2bj5 qA4IA4KMraVcY256hzuFPKX1P14isdkk2E5f58v1R0fRro4JB1lqJxngvKOXMIB+NFjb ql1amHi4icBYlf+r/NP7n8BCWr8WRX+7ws3jma/iwJhMsu4y954rQ4CXRg5p7RVTp2K5 caCQ== X-Forwarded-Encrypted: i=1; AJvYcCW/dSNKyH8FzBeW8OosUjrW1tAb/DKLX3U+DzFEKIBYJM3NpwRptbXdHpT03tKyw5OKaZhd9hSIpHn4@lists.postgresql.org X-Gm-Message-State: AOJu0YyaRK8QWfoL/I3Rouytsb8F/vAco6pjJeHccGlEeyS4XGD+muaG r+NAjsUu1fuFR7rbdIQbsixYEpRhKE3deHJ8dvIZUdf5IwnG+Eqcr33nz+XZiO8Q7eA= X-Gm-Gg: ATEYQzyqhYk+ldLD9hgGg315ogdGVwmWNhRi63PX+MpCwdNNNS3USLSGM3rVqvWV6il G8I9EtJGZIwc7Khz2OvVuwm2LZGzaHCuswfnlsGUA6ByJhODvAvIcQbYarOdu8zdbaXdcuz5u11 sd72AQNn9xhcfDc8/BitO3MWNb+H8chLlAnHqgxZ07PW45buri5xuDfPLlr3RSSHid9DPdzTjcG xTMxEOhsOu8PatEJAbUYVjpI02qJIDzcOFMTNCeRZImITPifnuiLKqtFG+0MaK1ENFGdlxs3GMN F3y5bMr8exUVUT+chqY5cJsPGLtr5W9xqP2t/BUwYZ5ekmwpinFa9czEQXBYXTpyqwEge0Yu5Wh kIKQXAYhQC16GLiCRSt22kJ+e+Cd8OwBgsxdaGZfNE9aZ6tZU2Rav5RcqQNzuX6+ZbvVKuJQx+Q y//NTooV12Tw8ctfJTkSNouF+p+7PgyUHDU4r6k9TmHCp3niHWB5wbwlX5G6iUaLYv41llVysvU rrtSng90x0asogKYMWoRMAJPPGlZrSenOv/ X-Received: by 2002:a17:907:3f15:b0:b97:1db4:e5a2 with SMTP id a640c23a62f3a-b971db504f1mr140196266b.39.1773162970452; Tue, 10 Mar 2026 10:16:10 -0700 (PDT) Received: from laurenz.albe-K4N0CV00F97414D (dynamic-046-114-165-086.46.114.pool.telefonica.de. [46.114.165.86]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b942f15d532sm512347666b.54.2026.03.10.10.16.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 10:16:10 -0700 (PDT) Message-ID: Subject: Re: FDW connection drops with "Connection timed out" during async append query due to TCP receive buffer filling up From: Laurenz Albe To: jiye , pgsql-bugs@lists.postgresql.org Date: Tue, 10 Mar 2026 18:16:04 +0100 In-Reply-To: <10df46d9.7dc2.19cd740a640.Coremail.jiye_sw@126.com> References: <10df46d9.7dc2.19cd740a640.Coremail.jiye_sw@126.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.58.3 (3.58.3-1.fc43) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 2026-03-10 at 18:17 +0800, jiye wrote: > I encountered an issue with foreign table asynchronous scans. >=20 > I'm testing on PostgreSQL 17 in a Windows WSL environment, with TCP keepa= live settings configured as follows: > configure: > > tcp_keepalives_idle =3D 2 > > tcp_keepalives_interval =3D 2 > > tcp_keepalives_count =3D 3 > > tcp_user_timeout =3D 9 > >=20 > The foreign table was created with: > sql: > > CREATE TABLE ftab (a int, data varchar); > I inserted test data using: > sql: > > INSERT INTO ftab=20 > > SELECT generate_series(1, 10000),=20 > > =C2=A0 =C2=A0 =C2=A0 =C2=A0substring(md5(random()::text) || repeat(md5(= random()::text), 127), 1, 40960); > Then I executed an async append query that unions with a simple query: > sql: > > SELECT f1(), 'local-data'=20 > > UNION ALL=20 > > SELECT * FROM f_ftab=20 > > LIMIT 2; > Note: f1() is a function that sleeps for 10 seconds, created by: > sql > > CREATE OR REPLACE FUNCTION f1()=20 > > RETURNS integer=20 > > LANGUAGE plpgsql AS $$ > > BEGIN=20 > > =C2=A0 =C2=A0 PERFORM pg_sleep(10);=20 > > =C2=A0 =C2=A0 RETURN 1;=20 > > END; $$; > The abnormal behavior was reproduced: the foreign data server connection = was disconnected, with the following error logs: > text > > 2026-03-10 17:52:55.969 CST [820] LOG: statement: FETCH 100 FROM c1 > > 2026-03-10 17:52:56.495 CST [820] LOG: could not receive data from clie= nt: Connection timed out > > 2026-03-10 17:52:56.495 CST [820] LOG: unexpected EOF on client connect= ion with an open transaction I am not a network expert, but if you set tcp_user_timeout =3D 9, why are y= ou surprised if the connection times out after 9 seconds? Yours, Laurenz Albe