Default concurrency for auditor/replicator/updater is way to high and might overload nodes

Bug #1631359 reported by Christian Schwede
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-swift
Fix Released
Undecided
Christian Schwede

Bug Description

The default concurrency is $::processorcount, and this results in environments where 24 auditors/replicators/reapers processes might all use the same disk, especially if there are only a few disks. This results in a high I/O load, because every thread blocks the others.

These values are 1 by default in Swift. If one has many disks and a powerful machine, a single-digit concurrency for auditors and replicators might work fine; the reaper is most likely only running with a concurrency of 1 in any case.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-swift (master)

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

Changed in puppet-swift:
assignee: nobody → Christian Schwede (cschwede)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-swift (master)

Reviewed: https://review.openstack.org/383724
Committed: https://git.openstack.org/cgit/openstack/puppet-swift/commit/?id=f8d6c083343cd308da1fc68113b22664d276d011
Submitter: Jenkins
Branch: master

commit f8d6c083343cd308da1fc68113b22664d276d011
Author: Christian Schwede <email address hidden>
Date: Fri Oct 7 14:56:37 2016 +0200

    Set concurrency to 1 for auditor/replicator/updater

    Before this the default concurrency was set to $::processorcount, and
    this resulted in environments where 24 auditors/replicators/reapers
    processes were all using the same disk. This results in a high I/O load,
    because every thread blocks the others.

    These values are 1 by default in Swift. If one has many disks and a
    powerful machine, a single-digit concurrency for auditors and
    replicators might work fine; the reaper is most likely only running with
    a concurrency of 1 in any case.

    Let's set this to the default of 1; operators with a need to use a
    higher value can easily override the defaults (and probably want to use
    a value that is appropriate to their setup).

    Closes-Bug: 1631359
    Change-Id: I54a5d01e4bd357973e142274db79d119e9e46457

Changed in puppet-swift:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-swift (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/385626

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-swift (stable/newton)

Reviewed: https://review.openstack.org/385626
Committed: https://git.openstack.org/cgit/openstack/puppet-swift/commit/?id=5b9f67d745970fbe20de1c6938eab3471a112ccb
Submitter: Jenkins
Branch: stable/newton

commit 5b9f67d745970fbe20de1c6938eab3471a112ccb
Author: Christian Schwede <email address hidden>
Date: Fri Oct 7 14:56:37 2016 +0200

    Set concurrency to 1 for auditor/replicator/updater

    Before this the default concurrency was set to $::processorcount, and
    this resulted in environments where 24 auditors/replicators/reapers
    processes were all using the same disk. This results in a high I/O load,
    because every thread blocks the others.

    These values are 1 by default in Swift. If one has many disks and a
    powerful machine, a single-digit concurrency for auditors and
    replicators might work fine; the reaper is most likely only running with
    a concurrency of 1 in any case.

    Let's set this to the default of 1; operators with a need to use a
    higher value can easily override the defaults (and probably want to use
    a value that is appropriate to their setup).

    Closes-Bug: 1631359
    Change-Id: I54a5d01e4bd357973e142274db79d119e9e46457
    (cherry picked from commit f8d6c083343cd308da1fc68113b22664d276d011)

tags: added: in-stable-newton
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-swift 9.4.2

This issue was fixed in the openstack/puppet-swift 9.4.2 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-swift 10.0.0

This issue was fixed in the openstack/puppet-swift 10.0.0 release.

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.