Idle client connections can persist indefinitely

Bug #1371022 reported by Stuart McLaren
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
High
Stuart McLaren
Glance
Fix Released
High
Stuart McLaren
Juno
New
High
Unassigned
Kilo
Fix Released
High
Matt Riedemann
OpenStack Shared File Systems Service (Manila)
Fix Released
Undecided
Valeriy Ponomaryov

Bug Description

Idle client socket connections can persist forever, eg:

$ nc localhost 8776
[never returns]

Revision history for this message
Stuart McLaren (stuart-mclaren) wrote :
Changed in cinder:
assignee: nobody → Stuart McLaren (stuart-mclaren)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/119365
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=08bfa77aeccb8ca589e3fb5cf9771879818f59de
Submitter: Jenkins
Branch: master

commit 08bfa77aeccb8ca589e3fb5cf9771879818f59de
Author: Stuart McLaren <email address hidden>
Date: Fri Sep 5 12:48:04 2014 +0000

    Add client_socket_timeout option

    Add a parameter to take advantage of the new(ish) eventlet socket timeout
    behaviour. Allows closing idle client connections after a period of
    time, eg:

    $ time nc localhost 8776
    real 1m0.063s

    Setting 'client_socket_timeout = 0' means do not timeout.

    DocImpact

    Change-Id: If492810a2f10fa5954f8c8bb708b14be0b77fb90
    Closes-bug: #1371022

Changed in cinder:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (stable/juno)

Fix proposed to branch: stable/juno
Review: https://review.openstack.org/140304

Thierry Carrez (ttx)
Changed in cinder:
milestone: none → kilo-1
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/juno)

Reviewed: https://review.openstack.org/140304
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=f88dc8495f7ec5dc7f1b01c43f0237141af6b98f
Submitter: Jenkins
Branch: stable/juno

commit f88dc8495f7ec5dc7f1b01c43f0237141af6b98f
Author: Stuart McLaren <email address hidden>
Date: Fri Sep 5 12:48:04 2014 +0000

    Add client_socket_timeout option

    Add a parameter to take advantage of the new(ish) eventlet socket timeout
    behaviour. Allows closing idle client connections after a period of
    time, eg:

    $ time nc localhost 8776
    real 1m0.063s

    Setting 'client_socket_timeout = 0' means do not timeout.

    DocImpact:
    Added client_socket_timeout option (default=0).

    Conflicts:
            cinder/wsgi.py
            etc/cinder/cinder.conf.sample

    Note: This patch is not 1:1 cherry-pick, I have changed the default value
    of client_socket_timeout to 0.

    Change-Id: If492810a2f10fa5954f8c8bb708b14be0b77fb90
    Closes-bug: #1361360
    Closes-bug: #1371022
    (cherry picked from commit 08bfa77aeccb8ca589e3fb5cf9771879818f59de)

tags: added: in-stable-juno
Thierry Carrez (ttx)
Changed in cinder:
milestone: kilo-1 → 2015.1.0
Erno Kuvaja (jokke)
tags: added: juno-backport-potential kilo-backport-potential
Changed in glance:
milestone: none → liberty-1
assignee: nobody → Stuart McLaren (stuart-mclaren)
status: New → Fix Committed
importance: Undecided → High
Revision history for this message
Erno Kuvaja (jokke) wrote :

Both backport potentials REF Glance as the fix on master was flagged on already closed Cinder bug and merged.

Revision history for this message
Erno Kuvaja (jokke) wrote :
Revision history for this message
Matt Riedemann (mriedem) wrote :

Nova had the same fix in kilo and was backported to juno and icehouse, but in the backports to retain compat the socket_timeout default was 0:

https://review.openstack.org/#/c/138368/

The same would need to be done for glance here.

Revision history for this message
Matt Riedemann (mriedem) wrote :

Ignore the cinder kilo/juno nomination, it's already fixed in kilo and juno for cinder.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to glance (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/193607

Alan Pevec (apevec)
no longer affects: cinder/kilo
tags: removed: in-stable-juno juno-backport-potential kilo-backport-potential
no longer affects: cinder/juno
Changed in cinder:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to glance (stable/kilo)

Reviewed: https://review.openstack.org/193607
Committed: https://git.openstack.org/cgit/openstack/glance/commit/?id=5baf01842c1b4fd723191638f5eb42af05d3af75
Submitter: Jenkins
Branch: stable/kilo

commit 5baf01842c1b4fd723191638f5eb42af05d3af75
Author: Stuart McLaren <email address hidden>
Date: Thu Sep 4 16:00:31 2014 +0000

    Add client_socket_timeout option

    Add a parameter to take advantage of the new(ish) eventlet socket timeout
    behaviour. Allows closing idle client connections after a period of
    time, eg:

    $ time nc localhost 9292
    real 1m0.063s

    Setting 'client_socket_timeout = 0' means do not timeout.

    NOTE(mriedem): This patch is not 1:1 cherry-pick, I have changed the
    default value of client_socket_timeout to 0, as per the policy for
    changes to stable branches:
    (https://wiki.openstack.org/wiki/StableBranch#Appropriate_Fixes)

    DocImpact
    Closes-bug: 1371022
    Change-Id: I9e7edcbf25ece61dc16b8cd5a8bef5ed9a14e3d6
    (cherry picked from commit 19bba346ba3a52ebd5a3f83d7ed259d7e8025489)

Changed in glance:
status: Fix Committed → Fix Released
Changed in manila:
assignee: nobody → Valeriy Ponomaryov (vponomaryov)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to manila (master)

Fix proposed to branch: master
Review: https://review.openstack.org/204700

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to manila (master)

Reviewed: https://review.openstack.org/204700
Committed: https://git.openstack.org/cgit/openstack/manila/commit/?id=46538cd85cc9e30e724034eb046d4957d6ba4e59
Submitter: Jenkins
Branch: master

commit 46538cd85cc9e30e724034eb046d4957d6ba4e59
Author: Valeriy Ponomaryov <email address hidden>
Date: Wed Jul 22 20:23:19 2015 +0300

    Add client_socket_timeout option to manila.wsgi.Server

    Add a parameter to take advantage of the eventlet socket timeout behaviour.
    Allows closing idle client connections after a period of time, eg:

    $ time nc localhost 8786
    real 1m0.063s
    Setting 'client_socket_timeout = 0' means do not timeout.

    This is port of Cinder change - [1]

    [1] If492810a2f10fa5954f8c8bb708b14be0b77fb90

    DocImpact
    Closes-bug: #1371022

    Change-Id: I1da2a108c89ab292f9de66fce9cdc211ff5391a0

Changed in manila:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in manila:
milestone: none → liberty-2
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in manila:
milestone: liberty-2 → 1.0.0
Thierry Carrez (ttx)
Changed in glance:
milestone: liberty-1 → 11.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.