Dmitry Konstantinov created CASSANDRA-21805:
-----------------------------------------------

             Summary: CCM: download releases from dlcdn.apache.org before 
archive.apache.org, and time out stalled download
                 Key: CASSANDRA-21805
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21805
             Project: Apache Cassandra
          Issue Type: Improvement
          Components: Tool/CCM
            Reporter: Dmitry Konstantinov


ccm downloads release tarballs only from 
http://archive.apache.org/dist/cassandra and calls urlopen() without a timeout. 
archive.apache.org is a single throttled host. When many CI splits download 
from it at once, downloads slow down, and a stalled connection blocks until 
pytest kills the test.

In Cassandra-trunk #2641 ( 
https://ci-cassandra.apache.org/job/Cassandra-trunk/2641), every upgrade split 
downloaded 6.0-alpha1 from archive.apache.org. The median speed per split was 
188 KB/s, 14 splits got stuck for more than 900s, and 20 upgrade tests from 
current_6_0_x failed with "Timeout >900.0s", most of them while still in 
repository.__download().

Proposed change:
* Try https://dlcdn.apache.org, then https://downloads.apache.org, then 
archive.apache.org. dlcdn and downloads only keep current releases; a 404 moves 
on to the next mirror immediately. [repositories] cassandra in ~/.ccm/config 
still overrides the list.
* Use a 30s socket timeout, so a stalled connection fails instead of hanging.
* Retry each URL up to 3 times on timeouts, connection errors, truncated 
responses and HTTP 5xx/408/429. Do not retry other 4xx responses, certificate 
errors or file:// URLs.

To be used by dtests, the cassandra-test tag has to be moved after the merge.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to