Activity log for bug #1262166

Date Who What changed Old value New value Message
2013-12-18 11:26:25 Nikolay Markov bug added bug
2013-12-18 11:32:57 Nikolay Markov swift: assignee Nikolay Markov (nmarkov)
2013-12-18 11:37:14 Nikolay Markov description After late fixes complexity and time spent on ring rebalancing was seriously increased with calling sorted() on each iteration through tiers depths Ordered by: cumulative time ncalls tottime percall cumtime percall filename:lineno(function) 3145728 10.013 0.000 13.212 0.000 {sorted} 786432 4.811 0.000 8.633 0.000 /usr/lib/python2.7/dist-packages/swift/common/ring/builder.py:906(_sort_key_for) 12582912 6.418 0.000 6.418 0.000 {_bisect.bisect_left} 12582912 4.933 0.000 4.933 0.000 {method 'pop' of 'list' objects} 12582912 4.748 0.000 4.748 0.000 {method 'insert' of 'list' objects} ... This bug is easily reproduced on Ubuntu + Python 2.7 On Ubuntu + Python 2.7 swift rebalance takes up to 8 minutes to complete, instead of 1-2. /bin/sh -c swift-ring-builder /etc/swift/container.builder rebalance Looking through recent changes, I found that complexity and time spent on ring rebalancing was seriously increased with calling sorted() on each iteration through tiers depths:  Ordered by: cumulative time    ncalls tottime percall cumtime percall filename:lineno(function)   3145728 10.013 0.000 13.212 0.000 {sorted}    786432 4.811 0.000 8.633 0.000 /usr/lib/python2.7/dist-packages/swift/common/ring/builder.py:906(_sort_key_for)  12582912 6.418 0.000 6.418 0.000 {_bisect.bisect_left}  12582912 4.933 0.000 4.933 0.000 {method 'pop' of 'list' objects}  12582912 4.748 0.000 4.748 0.000 {method 'insert' of 'list' objects}  ...
2013-12-18 11:40:06 Nikolay Markov description On Ubuntu + Python 2.7 swift rebalance takes up to 8 minutes to complete, instead of 1-2. /bin/sh -c swift-ring-builder /etc/swift/container.builder rebalance Looking through recent changes, I found that complexity and time spent on ring rebalancing was seriously increased with calling sorted() on each iteration through tiers depths:  Ordered by: cumulative time    ncalls tottime percall cumtime percall filename:lineno(function)   3145728 10.013 0.000 13.212 0.000 {sorted}    786432 4.811 0.000 8.633 0.000 /usr/lib/python2.7/dist-packages/swift/common/ring/builder.py:906(_sort_key_for)  12582912 6.418 0.000 6.418 0.000 {_bisect.bisect_left}  12582912 4.933 0.000 4.933 0.000 {method 'pop' of 'list' objects}  12582912 4.748 0.000 4.748 0.000 {method 'insert' of 'list' objects}  ... On Ubuntu + Python 2.7 swift rebalance takes up to 8 minutes to complete, instead of 1-2. /bin/sh -c swift-ring-builder /etc/swift/container.builder rebalance Looking through recent changes, I found that complexity and time spent on ring rebalancing was seriously increased with calling sorted() on each iteration through tiers depths
2016-09-20 17:31:14 Thiago da Silva swift: status New Fix Released