Jens-G opened a new pull request, #3852:
URL: https://github.com/apache/thrift/pull/3852

   zlib.net serves only the current release from its root and moves every older 
one into `fossils/`, so the root URL starts returning 404 for a pinned version 
as soon as the next zlib is released. `ZLIB_VERSION` is 1.3.1 and 1.3.2 is out, 
so **that 404 is now what every job gets**, and the fossils fallback the script 
was given for exactly this case has quietly become the only path. Every job 
makes two requests to zlib.net — a single host with no CDN — and depends 
entirely on the second one.
   
   zlib.net drops connections when the six matrix jobs hit it at once. In build 
54709632 four jobs fetched the fossils tarball in about a second while two 
failed with
   
   ```
   Error downloading remote file: One or more errors occurred.
   Inner Exception: Unable to connect to the remote server
   ```
   
   after some 22 seconds each, taking the whole build red. Three jobs in build 
54709599 went the same way.
   
   Such a job stops at `call build-zlib.bat` about a minute in having compiled 
nothing at all — roughly 240 log lines with no compiler or test output — so the 
change under test is never exercised.
   
   ### The change
   
   The GitHub release becomes the primary source, as it already is for libevent 
in `build-libevent.bat`, and zlib.net/fossils stays as the fallback it was 
meant to be.
   
   Both hosts serve the same artifact: the two downloads compare byte for byte 
equal, 1,512,791 bytes with sha256 
`9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23`. This 
changes where the dependency is fetched from, not which dependency it is, so no 
`LICENSE`/`NOTICE` change applies — zlib is already a dependency and its 
licence is ASF Category A.
   
   The URL is built from `ZLIB_VERSION`, so a later version bump needs no 
further edit here. The fallback also moves from `http` to `https`, which that 
same URL already serves.
   
   One smaller point in the same lines: the fallback `curl` on the non-AppVeyor 
path had no `|| EXIT /B`, so a failed local download fell through to `7z x` on 
a file that was not there.
   
   ### Tests
   
   There is no unit test to add for a download step; the AppVeyor run is the 
test.
   
   Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to