[qa] Increase wallet-dump RPC timeout #9077

pull ryanofsky wants to merge 2 commits into bitcoin:master from ryanofsky:fix-wallet-dump-timeout changing 3 files +17 −4
  1. ryanofsky commented at 8:09 PM on November 3, 2016: member

    Increase wallet-dump RPC timeout from 30 seconds to 15 minutes. 15 minutes was chosen because it's the same timeout used by the pruning test. This avoids a timeout error that seemed to happen regularly (around 50% of builds) on a particular jenkins server during the first getnewaddress RPC call made by the test.

  2. sdaftuar commented at 12:11 AM on November 4, 2016: member

    (FYI this is my jenkins instance that has been seeing this test fail repeatedly over the last couple months.)

    For some additional color, I timed the RPC calls in wallet-dump.py on a single run on the machine in question -- it happened to pass -- and the first getnewaddress() call took 20 seconds, and the encrypt wallet call took just over 29 seconds. So the 30 second default timeout is cutting it pretty close.

  3. fanquake added the label Tests on Nov 4, 2016
  4. laanwj commented at 11:59 AM on November 7, 2016: member

    Concept ACK

  5. in qa/rpc-tests/wallet-dump.py:None in 82199c4449 outdated
      60 | @@ -61,7 +61,11 @@ def __init__(self):
      61 |          self.extra_args = [["-keypool=90"]]
      62 |  
      63 |      def setup_network(self, split=False):
      64 | -        self.nodes = start_nodes(self.num_nodes, self.options.tmpdir, self.extra_args)
      65 | +        # Use long, 15-minute timeout because the initial getnewaddress RPC can
    


    MarcoFalke commented at 12:08 PM on November 7, 2016:

    The whole wallet dump test should run in less than 15 seconds. I don't see why a 15 minute timeout is necessary.

    From travis (confirmed locally):

    wallet-dump.py                 | True   | 12 s
    
  6. MarcoFalke commented at 12:18 PM on November 7, 2016: member

    getnewaddress() call took 20 seconds

    How large is the keypool set on the jenkins instance?

  7. MarcoFalke commented at 12:19 PM on November 7, 2016: member

    utACK for just 82199c4

  8. [qa] Increase wallet-dump RPC timeout
    Increase wallet-dump RPC timeout from 30 seconds to 1 minute. This avoids a
    timeout error that seemed to happen regularly (around 50% of builds) on a
    particular jenkins server during the first getnewaddress RPC call made by the
    test.
    
    The failing stack trace looked like:
    
        Unexpected exception caught during testing: timeout('timed out',)
    
        File ".../bitcoin/qa/rpc-tests/test_framework/test_framework.py", line 146, in main
          self.run_test()
        File ".../bitcoin/qa/rpc-tests/wallet-dump.py", line 73, in run_test
          addr = self.nodes[0].getnewaddress()
        File ".../bitcoin/qa/rpc-tests/test_framework/coverage.py", line 49, in __call__
          return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
        File ".../bitcoin/qa/rpc-tests/test_framework/authproxy.py", line 145, in __call__
          response = self._request('POST', self.__url.path, postdata.encode('utf-8'))
        File ".../bitcoin/qa/rpc-tests/test_framework/authproxy.py", line 121, in _request
          return self._get_response()
        File ".../bitcoin/qa/rpc-tests/test_framework/authproxy.py", line 160, in _get_response
          http_response = self.__conn.getresponse()
        File "/usr/lib/python3.4/http/client.py", line 1171, in getresponse
          response.begin()
        File "/usr/lib/python3.4/http/client.py", line 351, in begin
          version, status, reason = self._read_status()
        File "/usr/lib/python3.4/http/client.py", line 313, in _read_status
          line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
        File "/usr/lib/python3.4/socket.py", line 374, in readinto
          return self._sock.recv_into(b)
    8463aaa63c
  9. [qa] Add more helpful RPC timeout message
    Replace previous timeout('timed out',) exception with more detailed error.
    e89614b6ab
  10. ryanofsky force-pushed on Nov 7, 2016
  11. ryanofsky commented at 5:06 PM on November 7, 2016: member

    Changed timeout from 15 minutes to one minute, as suggested by @MarcoFalke in IRC.

  12. MarcoFalke merged this on Nov 7, 2016
  13. MarcoFalke closed this on Nov 7, 2016

  14. MarcoFalke referenced this in commit 1253f8692f on Nov 7, 2016
  15. sdaftuar commented at 9:35 PM on November 19, 2016: member

    @MarcoFalke Any interest in backporting this to 0.13? It's minor, but my testing infrastructure would benefit at least.

  16. MarcoFalke referenced this in commit 1d4c884cd3 on Nov 19, 2016
  17. MarcoFalke referenced this in commit da4926b1d2 on Nov 19, 2016
  18. codablock referenced this in commit 3d7bb9cf55 on Jan 15, 2018
  19. codablock referenced this in commit 33ef1c7416 on Jan 31, 2018
  20. codablock referenced this in commit bcec00b484 on Jan 31, 2018
  21. codablock referenced this in commit 1c5f139e2f on Jan 31, 2018
  22. codablock referenced this in commit 9bb9e9ea72 on Feb 1, 2018
  23. andvgal referenced this in commit 75b100b3df on Jan 6, 2019
  24. andvgal referenced this in commit 2e3c2bd7ac on Jan 6, 2019
  25. CryptoCentric referenced this in commit 3cb92b8c6c on Feb 24, 2019
  26. CryptoCentric referenced this in commit 3012a3c275 on Feb 28, 2019
  27. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-25 00:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me