Project

General

Profile

Actions

Bug #4736

closed

Timeout value connect must be an int or float

Added by Bryan Cosca over 9 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
-
Story points:
-

Description

In pipeline_instances/qr1hi-d1hrv-fvgr0m5dikkozqc#Log, this keeps popping up:

Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr Exception in thread Thread-21:
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr Traceback (most recent call last):
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/lib/python2.7/threading.py", line 810, in bootstrap_inner
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr self.run()
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/arvados/keep.py", line 369, in run
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr self.run_with_limiter(limiter)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/arvados/keep.py", line 381, in run_with_limiter
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr timeout=self.args.get('timeout', None)))
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/arvados/keep.py", line 337, in put
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr timeout=timeout)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/api.py", line 99, in put
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr return request('put', url, data=data, **kwargs)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/api.py", line 44, in request
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr return session.request(method=method, url=url, **kwargs)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/sessions.py", line 456, in request
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr resp = self.send(prep, **send_kwargs)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/sessions.py", line 559, in send
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr r = adapter.send(request, **kwargs)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/adapters.py", line 313, in send
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr timeout = TimeoutSauce(connect=timeout, read=timeout)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/packages/urllib3/util/timeout.py", line 88, in __init

Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr self._connect = self._validate_timeout(connect, 'connect')
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/packages/urllib3/util/timeout.py", line 119, in _validate_timeout
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr "int or float." % (name, value))
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr ValueError: Timeout value connect was (2, 300), but it must be an int or float.

Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr Exception in thread Thread-24:
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr Traceback (most recent call last):
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/lib/python2.7/threading.py", line 810, in bootstrap_inner
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr self.run()
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/arvados/keep.py", line 369, in run
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr self.run_with_limiter(limiter)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/arvados/keep.py", line 381, in run_with_limiter
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr timeout=self.args.get('timeout', None)))
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/arvados/keep.py", line 337, in put
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr timeout=timeout)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/api.py", line 99, in put
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr return request('put', url, data=data, **kwargs)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/api.py", line 44, in request
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr return session.request(method=method, url=url, **kwargs)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/sessions.py", line 456, in request
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr resp = self.send(prep, **send_kwargs)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/sessions.py", line 559, in send
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr r = adapter.send(request, **kwargs)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/adapters.py", line 313, in send
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr timeout = TimeoutSauce(connect=timeout, read=timeout)
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/packages/urllib3/util/timeout.py", line 88, in __init

Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr self._connect = self._validate_timeout(connect, 'connect')
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/packages/urllib3/util/timeout.py", line 119, in _validate_timeout
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr "int or float." % (name, value))
Mon Dec 8 15:32:09 2014 qr1hi-8i9sb-zil9f8j0ifz9j97 27192 3 stderr ValueError: Timeout value connect was (2, 300), but it must be an int or float.

The thread number keeps changing.


Related issues

Has duplicate Arvados - Bug #4738: [SDKs] Keep write error (wanted 2 but wrote 0)Closed12/08/2014Actions
Actions #1

Updated by Tim Pierce over 9 years ago

This error is caused when arvados-python-client is running with an old version of the requests library. requests-2.3.0 is too old to support the timeout behavior we need. The SDK installer specifies requests>=2.4.

This output appears to be generated from run-command on the compute node, outside of the job's docker image:

12/8/2014 10:28:44 AM    compute29    1    task-print    1    run-command: cutadapt completed with exit code 0 (success)
12/8/2014 10:28:44 AM    compute29    1    task-print    1    run-command: the following output files will be saved to keep:
12/8/2014 10:28:44 AM    compute29    1    task-print    1    run-command: 1420452418 ./qr1hi-ot0gb-jw3p0jhk4t8gm8m
12/8/2014 10:28:44 AM    compute29    1    task-print    1    run-command: start writing output to keep
12/8/2014 10:28:45 AM    compute29    1    task-print    1    Exception in thread Thread-3:
12/8/2014 10:28:45 AM    compute29    1    task-print    1    Traceback (most recent call last):
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
12/8/2014 10:28:45 AM    compute29    1    task-print    1    self.run()
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/local/lib/python2.7/dist-packages/arvados/keep.py", line 369, in run
12/8/2014 10:28:45 AM    compute29    1    task-print    1    self.run_with_limiter(limiter)
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/local/lib/python2.7/dist-packages/arvados/keep.py", line 381, in run_with_limiter
12/8/2014 10:28:45 AM    compute29    1    task-print    1    timeout=self.args.get('timeout', None)))
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/local/lib/python2.7/dist-packages/arvados/keep.py", line 337, in put
12/8/2014 10:28:45 AM    compute29    1    task-print    1    timeout=timeout)
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/api.py", line 99, in put
12/8/2014 10:28:45 AM    compute29    1    task-print    1    return request('put', url, data=data, **kwargs)
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/api.py", line 44, in request
12/8/2014 10:28:45 AM    compute29    1    task-print    1    return session.request(method=method, url=url, **kwargs)
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/sessions.py", line 456, in request
12/8/2014 10:28:45 AM    compute29    1    task-print    1    resp = self.send(prep, **send_kwargs)
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/sessions.py", line 559, in send
12/8/2014 10:28:45 AM    compute29    1    task-print    1    r = adapter.send(request, **kwargs)
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/adapters.py", line 313, in send
12/8/2014 10:28:45 AM    compute29    1    task-print    1    timeout = TimeoutSauce(connect=timeout, read=timeout)
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/packages/urllib3/util/timeout.py", line 88, in __init__
12/8/2014 10:28:45 AM    compute29    1    task-print    1    self._connect = self._validate_timeout(connect, 'connect')
12/8/2014 10:28:45 AM    compute29    1    task-print    1    File "/usr/local/lib/python2.7/dist-packages/requests-2.3.0-py2.7.egg/requests/packages/urllib3/util/timeout.py", line 119, in _validate_timeout
12/8/2014 10:28:45 AM    compute29    1    task-print    1    "int or float." % (name, value))
12/8/2014 10:28:45 AM    compute29    1    task-print    1    ValueError: Timeout value connect was (2, 300), but it must be an int or float.

Can we confirm that the compute node is installing an SDK that includes commit d1cdd7ed, and that puppet is not reinstalling an older version of the Python requests library over the one we have already installed?

Actions #2

Updated by Brett Smith over 9 years ago

  • Status changed from New to Resolved

Tim Pierce wrote:

This output appears to be generated from run-command on the compute node, outside of the job's docker image:

run-command acts as the Crunch script, and runs inside any specified Docker image. (One hint from the logs is that the output is labeled task-print; if it was coming from Crunch itself, it would say crunch or something else.)

Can we confirm that the compute node is installing an SDK that includes commit d1cdd7ed, and that puppet is not reinstalling an older version of the Python requests library over the one we have already installed?

The compute nodes have the correct version and have since at least November 24 according to timestamps. Puppet is not doing anything to manage the requests library directly.

Bryan confirmed on IRC that updating the library is his Docker image resolved the issue, so closing this.

Actions

Also available in: Atom PDF