Re: [bitbake-devel] [PATCH] fetch2/wget: reuse cached HTTPS connections
"Fredrik Svensson (svsvenss)" <[email protected]>
| Newsgroups | org.openembedded.lists.bitbake-devel |
|---|---|
| Message-ID | <DM6PR11MB39622631465C058DE729DC36CBDC2@DM6PR11MB3962.namprd11.prod.outlook.com> |
Thanks Mathieu, Python 3.12 removed the HTTPSHandler._check_hostname attribute, I'm will post a v2 patch shortly. Kind regards Fredrik ________________________________ From: Mathieu Dubois-Briand <[email protected]> Sent: Wednesday, August 12, 2026 3:36 PM To: Fredrik Svensson (svsvenss) <[email protected]>; [email protected] <[email protected]> Subject: Re: [bitbake-devel] [PATCH] fetch2/wget: reuse cached HTTPS connections On Wed Aug 12, 2026 at 10:17 AM CEST, Fredrik Svensson via lists.openembedded.org wrote: > The checkstatus() path reuses cached connections for HTTP requests, but > uses urllib's standard HTTPSHandler for HTTPS. Each HTTPS availability > check therefore creates a new TCP connection and performs a new TLS > handshake. > > Add HTTPS equivalents of the existing cached connection and request > handler. Preserve the SSL context selected by BB_CHECK_SSL_CERTS and > extend FetchConnectionCache keys so HTTPS connections are kept separate > from HTTP connections, different certificate policies and CA files, and > different proxy tunnels. > > Add a local TLS self-test which proves two HTTPS HEAD requests use one > TCP/TLS connection. The test also verifies that a connection established > with certificate checking disabled is not reused after checking is > enabled. > > In an ABBA benchmark against BitBake master, 4,283 remote sstate > availability misses averaged 761.639 seconds without this change and > 254.742 seconds with it. This reduced the check by 66.55%, a 2.990x > speedup. The benchmark had no matching mirror objects, so it isolates > availability checks rather than download and unpack time. > > Signed-off-by: Fredrik Svensson <[email protected]> > --- Hi Fredrik, Thanks for your patch. It looks like this is failing to build here: ERROR: OE-core's config sanity checker detected a potential misconfiguration. Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). Following is the list of potential problems / advisories: 'CacheHTTPSHandler' object has no attribute '_check_hostname'. Please ensure your host's network is configured correctly. Please ensure CONNECTIVITY_CHECK_URIS is correct and specified URIs are available. If your ISP or network is blocking the above URL, try with another domain name, for example by setting: CONNECTIVITY_CHECK_URIS = "https://www.example.com/" You could also set BB_NO_NETWORK = "1" to disable network access if all required sources are on local disk. https://autobuilder.yoctoproject.org/valkyrie/#/builders/2/builds/4382 Can you have a look at the issue? Thanks, Mathieu -- Mathieu Dubois-Briand, Bootlin Embedded Linux and Kernel engineering https://bootlin.com