Memory Leak

Bug #1055834 reported by gholt on 2012-09-24
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Critical
gholt

Bug Description

There is an issue where Request objects (and related objects) are not getting garbage collected when a 499 (client disconnect) occurs for responses that still would have had more than the proxy server's client chunk size left to send.

See https://review.openstack.org/#/c/13465/ for a proposed patch that seems to work on most environments.

Changed in swift:
assignee: nobody → gholt (gholt)
status: New → In Progress
gholt (gholt) on 2012-09-24
Changed in swift:
assignee: gholt (gholt) → nobody
Changed in swift:
assignee: nobody → gholt (gholt)

Reviewed: https://review.openstack.org/13465
Committed: http://github.com/openstack/swift/commit/7e0c4eb1529d36f5fe8b40bdba986b6ff3be391b
Submitter: Jenkins
Branch: master

commit 7e0c4eb1529d36f5fe8b40bdba986b6ff3be391b
Author: gholt <email address hidden>
Date: Tue Sep 25 19:23:31 2012 +0000

    Fixed leak on 499s

    This fixes an issue where Request objects (and related objects) were
    not getting garbage collected when a 499 (client disconnect) occurred
    for responses that still would have had more than the proxy server's
    client chunk size left to send.

    Fixed bug #1055834

    Change-Id: Ib7b5fffe970dcdec60b90a9bdcd67c49b68fb914

Changed in swift:
status: In Progress → Fix Committed
Changed in swift:
importance: Undecided → Critical
Thierry Carrez (ttx) on 2012-09-25
Changed in swift:
milestone: none → 1.7.4

Reviewed: https://review.openstack.org/13668
Committed: http://github.com/openstack/swift/commit/7368af5475be3055b7942acddf8ec5d5696fe2c5
Submitter: Jenkins
Branch: milestone-proposed

commit 7368af5475be3055b7942acddf8ec5d5696fe2c5
Author: Darrell Bishop <email address hidden>
Date: Tue Sep 25 11:22:11 2012 -0700

    Restore old SIGPIPE handler in a proxy server test.

    I think not doing this was setting the SIGPIPE handler to signal.SIG_DFL
    instead of the Python default of signal.SIG_IGN. This could cause other
    tests which make a client stop reading before all data "chunks" are read
    to fail harder than they should (i.e. the SIGPIPE there is benign and
    even expected--the other side of the socket really did get closed
    early).

    Fixed leak on 499s

    This fixes an issue where Request objects (and related objects) were
    not getting garbage collected when a 499 (client disconnect) occurred
    for responses that still would have had more than the proxy server's
    client chunk size left to send.

    Fixed bug #1055834

    Change-Id: I40266a0874cd2142c90f26b9f030d534286fc6da

Changed in swift:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers