Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-6231

smokeTestRelease.py should retry failed downloads

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • None
    • 5.2, 6.0
    • None
    • None
    • New, Patch Available

    Description

      In the 5.0 RC2 vote thread, anshumg mentioned that 6 attempts at running the smoke tester against the people.apache.org RC URL all failed because of download failures.

      I had the same problem - my first two attempts also failed because of failed downloads - here's the trace from one of them:

      Traceback (most recent call last):
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/urllib/request.py", line 1248, in do_open
          h.request(req.get_method(), req.selector, req.data, headers)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/http/client.py", line 1061, in request
          self._send_request(method, url, body, headers)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/http/client.py", line 1099, in _send_request
          self.endheaders(body)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/http/client.py", line 1057, in endheaders
          self._send_output(message_body)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/http/client.py", line 902, in _send_output
          self.send(msg)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/http/client.py", line 840, in send
          self.connect()
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/http/client.py", line 818, in connect
          self.timeout, self.source_address)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/socket.py", line 435, in create_connection
          raise err
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/socket.py", line 426, in create_connection
          sock.connect(sa)
      TimeoutError: [Errno 60] Operation timed out
      
      During handling of the above exception, another exception occurred:
      
      Traceback (most recent call last):
        File "dev-tools/scripts/smokeTestRelease.py", line 117, in download
          fIn = urllib.request.urlopen(urlString)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/urllib/request.py", line 156, in urlopen
          return opener.open(url, data, timeout)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/urllib/request.py", line 469, in open
          response = self._open(req, data)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/urllib/request.py", line 487, in _open
          '_open', req)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/urllib/request.py", line 447, in _call_chain
          result = func(*args)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/urllib/request.py", line 1268, in http_open
          return self.do_open(http.client.HTTPConnection, req)
        File "/Users/sarowe/homebrew/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/urllib/request.py", line 1251, in do_open
          raise URLError(err)
      urllib.error.URLError: <urlopen error [Errno 60] Operation timed out>
      
      The above exception was the direct cause of the following exception:
      
      Traceback (most recent call last):
        File "dev-tools/scripts/smokeTestRelease.py", line 1523, in <module>
          main()
        File "dev-tools/scripts/smokeTestRelease.py", line 1468, in main
          smokeTest(c.java, c.url, c.revision, c.version, c.tmp_dir, c.is_signed, ' '.join(c.test_args))
        File "dev-tools/scripts/smokeTestRelease.py", line 1517, in smokeTest
          checkMaven(baseURL, tmpDir, svnRevision, version, isSigned)
        File "dev-tools/scripts/smokeTestRelease.py", line 1012, in checkMaven
          crawl(artifacts[project], artifactsURL, targetDir)
        File "dev-tools/scripts/smokeTestRelease.py", line 1280, in crawl
          crawl(downloadedFiles, subURL, path, exclusions)
        File "dev-tools/scripts/smokeTestRelease.py", line 1280, in crawl
          crawl(downloadedFiles, subURL, path, exclusions)
        File "dev-tools/scripts/smokeTestRelease.py", line 1283, in crawl
          download(text, subURL, targetDir, quiet=True)
        File "dev-tools/scripts/smokeTestRelease.py", line 139, in download
          raise RuntimeError('failed to download url "%s"' % urlString) from e
      RuntimeError: failed to download url "http://people.apache.org/~anshum/staging_area/lucene-solr-5.0.0-RC2-rev1658469//lucene/maven/org/apache/lucene/lucene-analyzers-uima/5.0.0/lucene-analyzers-uima-5.0.0.jar.asc"
      

      I did a recursive download of the RC2 folder on people.apache.org using wget, and there were three download failures, which wget auto-retried, and succeeded in each case on the second attempt - two of these were timeouts and the third was a reset connection:

      HTTP request sent, awaiting response... No data received.
      Retrying.
      [...]
      HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
      Retrying.
      

      I think we should just automatically retry all failed downloads once.

      Attachments

        1. LUCENE-6231.patch
          2 kB
          Steven Rowe
        2. LUCENE-6231-lucene_solr_4_10.patch
          7 kB
          Steven Rowe
        3. LUCENE-6231-lucene_solr_4_10.patch
          7 kB
          Steven Rowe
        4. LUCENE-6231-part-2.patch
          2 kB
          Steven Rowe
        5. LUCENE-6231-part-3.patch
          5 kB
          Steven Rowe
        6. LUCENE-6231-part-3.patch
          3 kB
          Steven Rowe
        7. LUCENE-6231-part-3.patch
          3 kB
          Steven Rowe

        Activity

          People

            sarowe Steven Rowe
            sarowe Steven Rowe
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: