Skip to content
This repository has been archived by the owner on Feb 21, 2023. It is now read-only.

Add connect timeout #184

Closed
popravich opened this issue Jan 17, 2017 · 5 comments
Closed

Add connect timeout #184

popravich opened this issue Jan 17, 2017 · 5 comments

Comments

@popravich
Copy link
Contributor

aioredis may stuck (pool especially) if Redis server is not responsive.

(don't know why nobody notice it is missing)

@popravich
Copy link
Contributor Author

TODO:

  • add connect timeout
  • test with slow connection

@SeavantUUz
Copy link

SeavantUUz commented Apr 27, 2017

I met some problem, but I could not support your suggestion. What I had seen, although redis server is fine, aioredis got stuck too.

In redis-py, why you could pass an optional argument to pool, is redis-py chose block queue as its pool's implement. The timeout argument actually is used to tell pool the queue had been empty for specific time. aioredis used deque as its pool's implement, so you can't pass a timeout.

Maybe you pointed in socket_timeout or socket_keepalive and so on ? I have added part of them into my project, and waiting for conclusion.

@popravich
Copy link
Contributor Author

What I mean is that aioredis can stuck for some time (probably long enough) when using pool,
basically, the call to ConnectionsPool._create_new_connection() need to have some timeout
otherwise it will block the whole pool.

@pfreixes
Copy link
Contributor

pfreixes commented May 1, 2017

We might be having this issue, I can work on a fix ASAP

pfreixes added a commit to pfreixes/aioredis that referenced this issue May 10, 2017
Related to aio-libs-abandoned#184, it allows aioredis to configure a limited
time that will be used trying to open a connection, if it is
reached a `asyncio.TimeoutError` will be raised

By default any timeout is configured.
@pfreixes
Copy link
Contributor

This can be closed.

popravich pushed a commit that referenced this issue Jun 21, 2017
Related to #184, it allows aioredis to configure a limited
time that will be used trying to open a connection, if it is
reached a `asyncio.TimeoutError` will be raised

By default any timeout is configured.
popravich added a commit that referenced this issue Jun 21, 2017
Squashed commit of the following:

commit 71ea399
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Jun 21 10:56:12 2017 +0300

    fix typo

commit 98ee8be
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Jun 21 10:47:36 2017 +0300

    Bump version: 0.3.1 → 0.3.2

commit 013ec54
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Jun 21 10:47:22 2017 +0300

    update CHANGES

commit b2cfb7b
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Jun 21 10:28:19 2017 +0300

    fix timeout passing in pool

commit 201451d
Author: Pau Freixes <pfreixes@gmail.com>
Date:   Wed Jun 21 08:46:50 2017 +0200

    * #231 Patch for the cpython issue with Lock

    * Make Lock compatible with 3.3 and 3.4

    * Changed test to make it compatible with python 3.3 version

    * Flake8 issue

    * Increase coverage by reducing scope, test just the bugfix for 3.6

    * One unique version of Lock.acquire function

    * Use create_future provided by aioredis

commit 2ca2f08
Author: argaen <manu.mirandad@gmail.com>
Date:   Thu Jun 8 20:40:44 2017 +0200

    Create only one task for closing

commit e7a0063
Author: argaen <manu.mirandad@gmail.com>
Date:   Mon Jun 5 16:26:22 2017 +0200

    close_waiter is lazily created

commit e38be72
Author: Pau Freixes <pau.freixes@skyscanner.net>
Date:   Thu May 11 22:07:33 2017 +0200

    Removed print

commit f77a06b
Author: Pau Freixes <pau.freixes@skyscanner.net>
Date:   Thu May 11 17:07:55 2017 +0200

    Some small MR issues fixed

commit eaede3d
Author: Pau Freixes <pau.freixes@skyscanner.net>
Date:   Wed May 10 16:40:24 2017 +0200

    Support for connection timeout param

    Related to #184, it allows aioredis to configure a limited
    time that will be used trying to open a connection, if it is
    reached a `asyncio.TimeoutError` will be raised

    By default any timeout is configured.

commit 6b13dd1
Author: Alexey Popravka <alexey.popravka@horsedevel.com>
Date:   Mon Mar 6 10:36:37 2017 +0200

    tiny styling fix

commit 864a390
Author: marijngiesen <marijn@studio-donder.nl>
Date:   Fri Mar 3 10:25:20 2017 +0100

    Fixed flake8 errors

commit b36a17a
Author: marijngiesen <marijn@studio-donder.nl>
Date:   Fri Mar 3 01:38:42 2017 +0100

    Fixed typo

commit d93e25d
Author: marijngiesen <marijn@studio-donder.nl>
Date:   Fri Mar 3 01:36:37 2017 +0100

    Added ZREVRANGEBYLEX command

commit bab6a0b
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Tue May 9 22:15:29 2017 +0300

    update spelling wordlist

commit e2bae24
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Tue May 9 22:11:40 2017 +0300

    Bump version: 0.3.0 → 0.3.1

commit 1c4327c
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Tue May 9 22:11:35 2017 +0300

    update changes

commit 3b779a8
Author: Alexey Popravka <alexey.popravka@horsedevel.com>
Date:   Mon Mar 27 10:42:04 2017 +0300

    fix pubsub Receiver missing iter() method (fixes #203)
popravich added a commit that referenced this issue Nov 2, 2017
commit 1fcdcff
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Oct 25 11:41:24 2017 +0300

    Bump version: 0.3.3 → 0.3.4

commit 56e7c34
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Oct 25 11:36:25 2017 +0300

    update changes.txt

commit 4171376
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Oct 25 11:26:06 2017 +0300

    fix test

commit aaae7b8
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Oct 25 11:14:42 2017 +0300

    add integrational test to compare v0.x version with v1.x

commit 2a6cf14
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Oct 25 10:39:23 2017 +0300

    fix time command when connection-wide encoding is set (fixes #266)

commit ac47208
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Fri Jun 30 10:54:12 2017 +0300

    spelling

commit 7a26c16
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Fri Jun 30 10:25:33 2017 +0300

    bump version to v0.3.3

commit 1082256
Merge: 71ea399 718f731
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Fri Jun 30 10:19:20 2017 +0300

    Merge pull request #257 from pfreixes/fix_lock_critical_bug_v03

    Fix critical bug with patched Lock

commit 718f731
Author: Pau Freixes <pau.freixes@skyscanner.net>
Date:   Thu Jun 29 22:44:53 2017 +0200

    Fix critical bug with patched Lock

commit 71ea399
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Jun 21 10:56:12 2017 +0300

    fix typo

commit 98ee8be
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Jun 21 10:47:36 2017 +0300

    Bump version: 0.3.1 → 0.3.2

commit 013ec54
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Jun 21 10:47:22 2017 +0300

    update CHANGES

commit b2cfb7b
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Wed Jun 21 10:28:19 2017 +0300

    fix timeout passing in pool

commit 201451d
Author: Pau Freixes <pfreixes@gmail.com>
Date:   Wed Jun 21 08:46:50 2017 +0200

    * #231 Patch for the cpython issue with Lock

    * Make Lock compatible with 3.3 and 3.4

    * Changed test to make it compatible with python 3.3 version

    * Flake8 issue

    * Increase coverage by reducing scope, test just the bugfix for 3.6

    * One unique version of Lock.acquire function

    * Use create_future provided by aioredis

commit 2ca2f08
Author: argaen <manu.mirandad@gmail.com>
Date:   Thu Jun 8 20:40:44 2017 +0200

    Create only one task for closing

commit e7a0063
Author: argaen <manu.mirandad@gmail.com>
Date:   Mon Jun 5 16:26:22 2017 +0200

    close_waiter is lazily created

commit e38be72
Author: Pau Freixes <pau.freixes@skyscanner.net>
Date:   Thu May 11 22:07:33 2017 +0200

    Removed print

commit f77a06b
Author: Pau Freixes <pau.freixes@skyscanner.net>
Date:   Thu May 11 17:07:55 2017 +0200

    Some small MR issues fixed

commit eaede3d
Author: Pau Freixes <pau.freixes@skyscanner.net>
Date:   Wed May 10 16:40:24 2017 +0200

    Support for connection timeout param

    Related to #184, it allows aioredis to configure a limited
    time that will be used trying to open a connection, if it is
    reached a `asyncio.TimeoutError` will be raised

    By default any timeout is configured.

commit 6b13dd1
Author: Alexey Popravka <alexey.popravka@horsedevel.com>
Date:   Mon Mar 6 10:36:37 2017 +0200

    tiny styling fix

commit 864a390
Author: marijngiesen <marijn@studio-donder.nl>
Date:   Fri Mar 3 10:25:20 2017 +0100

    Fixed flake8 errors

commit b36a17a
Author: marijngiesen <marijn@studio-donder.nl>
Date:   Fri Mar 3 01:38:42 2017 +0100

    Fixed typo

commit d93e25d
Author: marijngiesen <marijn@studio-donder.nl>
Date:   Fri Mar 3 01:36:37 2017 +0100

    Added ZREVRANGEBYLEX command

commit bab6a0b
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Tue May 9 22:15:29 2017 +0300

    update spelling wordlist

commit e2bae24
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Tue May 9 22:11:40 2017 +0300

    Bump version: 0.3.0 → 0.3.1

commit 1c4327c
Author: Alexey Popravka <popravich@users.noreply.github.com>
Date:   Tue May 9 22:11:35 2017 +0300

    update changes

commit 3b779a8
Author: Alexey Popravka <alexey.popravka@horsedevel.com>
Date:   Mon Mar 27 10:42:04 2017 +0300

    fix pubsub Receiver missing iter() method (fixes #203)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants