[
https://issues.apache.org/jira/browse/THRIFT-6247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer resolved THRIFT-6247.
--------------------------------
Assignee: Jens Geyer
Resolution: Fixed
> AppVeyor jobs depend on a single fallback URL for the zlib download
> -------------------------------------------------------------------
>
> Key: THRIFT-6247
> URL: https://issues.apache.org/jira/browse/THRIFT-6247
> Project: Thrift
> Issue Type: Bug
> Components: Build Process
> Reporter: Jens Geyer
> Assignee: Jens Geyer
> Priority: Major
> Fix For: 0.25.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> {{build/appveyor/build-zlib.bat}} downloads zlib from
> {{http://zlib.net/zlib-$ZLIB_VERSION.tar.gz}}, with
> {{http://zlib.net/fossils/zlib-$ZLIB_VERSION.tar.gz}} as a fallback for the
> case that the current version has been archived.
> {{ZLIB_VERSION}} is 1.3.1 in all five {{appveyor.yml}} matrix entries. zlib
> 1.3.2 has since been released, so 1.3.1 has moved to {{fossils/}} and the
> primary URL now returns 404 on *every* job rather than occasionally. Every
> job therefore issues 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 the same time.
> In build 54709632 four jobs fetched the fossils tarball in about a second,
> while two failed with
> {code}
> Error downloading remote file: One or more errors occurred.
> Inner Exception: Unable to connect to the remote server
> {code}
> after about 22 seconds each, taking the whole build red. Three jobs in build
> 54709599 failed the same way.
> The failure signature is a job log of roughly 240 lines that stops at {{call
> build-zlib.bat}} about one minute in, with no compiler or test output at all.
> Nothing is built, so the change under test is never exercised.
> {{build/appveyor/build-libevent.bat}} already downloads from GitHub releases
> over https and does not have this problem. It is the only other script under
> {{build/appveyor}} that downloads anything.
> Proposed: fetch zlib from its GitHub release as well, keeping
> zlib.net/fossils as the fallback. The GitHub release tarball is the same
> artifact (1,512,791 bytes for 1.3.1), so this is a download-source change,
> not a dependency change.
> A second, smaller point in the same six lines: on the non-AppVeyor path the
> fallback {{curl}} has no {{|| EXIT /B}}, so a failed local download falls
> through to {{7z x}} on a file that is not there.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)