From: Michal Nowak Date: Wed, 24 Jun 2026 15:16:14 +0000 (+0200) Subject: fix: test: Retry pipequeries on a transient EADDRINUSE in the pipelined test X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28cddaaba6daea839664e12eba2763e7df82beab;p=thirdparty%2Fbind9.git fix: test: Retry pipequeries on a transient EADDRINUSE in the pipelined test On FreeBSD, the TCP connect() call can transiently fail with EADDRINUSE under parallel CI load. The netmgr already retries such connects (see #3451), but it retries on the same socket, which is already bound to the same ephemeral source port, so when the four-tuple is genuinely busy (e.g. in TIME_WAIT) every retry fails the same way. pipequeries then exits with "request event result: address in use", leaving raw.1 empty and failing the first check. All eight requests share a single TCP dispatch, so the failed connect means no query ever reached ns4 and its cache is still cold. It is therefore safe to run pipequeries again: a fresh process binds a new ephemeral port, and the out-of-order check keeps its meaning. Retry for up to ten attempts, but only on this specific transient error. Assisted-by: Claude Code:claude-fable-5 Merge branch 'mnowak/pipelined-retry-transient-eaddrinuse' into 'main' See merge request isc-projects/bind9!12228 --- 28cddaaba6daea839664e12eba2763e7df82beab