race condition quarantines valid objects
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | OpenStack Object Storage (swift) |
Undecided
|
Unassigned | ||
Bug Description
There's a race condition that isn't handled well in diskfile.py - in some cases when a file gets removed between the object hash listdir and reading the metadata, _failsafe_
DELETE request does a listdir, sees an existing .ts file.
A separate PUT operation completes, removing the .ts and adding a new .data.
DELETE request attempts to read metadata from old .ts, gets an exception, and quarantines the shiny new .data file.
| description: | updated |
| Changed in swift: | |
| status: | New → Fix Committed |
Fix proposed to branch: feature/hummingbird
Review: https:/
Change abandoned by Michael Barton (<email address hidden>) on branch: feature/hummingbird
Review: https:/
Reason: Apparently I did this wrong.
Fix proposed to branch: feature/hummingbird
Review: https:/
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: feature/hummingbird
commit 51f806d3e3d3a1f
Author: John Dickinson <email address hidden>
Date: Tue Jul 14 20:49:08 2015 -0700
remove Python 2.6 from the classifier
Change-Id: I67233e9c7b6982
commit 278adf5c20101a1
Author: Hisashi Osanai <email address hidden>
Date: Tue Jul 14 15:33:45 2015 +0900
Make logic of unit tests responsive to the method names
The two methods, test_authorize_
test_
match what they are testing. tenant_name and tenant_id need to be
switched.
Change-Id: I7cb0a7d2b21111
commit 1cc3eff958fdd4f
Author: Victor Stinner <email address hidden>
Date: Fri Jul 10 13:04:44 2015 +0200
Fixes for mock 1.1
The new release of mock 1.1 is more strict. It helped to find bugs in
tests.
Closes-Bug: #1473369
Change-Id: Id179513c6010d8
commit ff192cfe5705324
Author: janonymous <email address hidden>
Date: Wed Jul 8 18:38:22 2015 +0530
Replace reduce and unichr , these are no longer available in py3
* Replace reduce() with six.moves.reduce()
* Replace unichr with six.unichr
Change-Id: I2038e47e0a6522
commit 4beceab4f4be99f
Author: OpenStack Proposal Bot <email address hidden>
Date: Thu Jul 9 06:14:56 2015 +0000
Imported Translations from Transifex
For more information about this automatic import see:
https:/
Change-Id: I9ff1dde06be45f
commit 56ee39a7e134172
Author: Matthew Oliver <email address hidden>
Date: Thu Jul 9 15:19:32 2015 +1000
Ring builder code clean up follow up patch
This is a simple change that cleans up a NIT from Sam's 'stop moving
partitions unnecessarily when overload is on' patch.
Change-Id: I9d9f1cc23e2bb6
commit 6cafd0a4c0bb8f3
Author: Oshrit Feder <email address hidden>
Date: Wed Jul 8 15:18:22 2015 +0300
Fix Container Sync example
Container-sync realm uses cluster_ as a prefix to specify clusters'
names. At use, the prefix should not be included. Fixing the examples
and sample conf to make it clearer that only the name of the cluster
should be passed.
Change-Id: I2e521d86faffb5
commit 125238612f58481
Author: Janie Richling <email address hidden>
Date: Sat Jul 4 17:08:32 2015 -0500
Add CORS unit tests to base
In earlier versions of swift when a request was made with an
existing origin, but without any CORS settings in the container,
it was possible to get an u...
| tags: | added: in-feature-hummingbird |
Fix proposed to branch: feature/crypto
Review: https:/
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: feature/crypto
commit 89f705e8aab1440
Author: OpenStack Proposal Bot <email address hidden>
Date: Thu Jul 23 06:11:27 2015 +0000
Imported Translations from Transifex
For more information about this automatic import see:
https:/
Change-Id: I94cf347564cb33
commit a65e9db8752793e
Author: Christian Schwede <email address hidden>
Date: Wed Jul 22 10:43:17 2015 +0000
Removing commented out code in test/unit/
Noticed this while reviewing another change. Looks like the test itself already
ensures correct functionality of the reclaim() method in AccountBroker without
the commented code, thus removing this stale code.
Change-Id: I6a26a7591adef9
commit 99d052772a9585e
Author: Kota Tsuyuzaki <email address hidden>
Date: Mon Jul 13 01:12:43 2015 -0700
Fix 499 client disconnected on COPY EC object
Currently, a COPY request for an EC object might go to fail as 499 Client
disconnected because of the difference between destination request content
length and actual transferred bytes.
That is because the conditional response status and content length for
an EC object range GET is handled at calling the response instance on
proxy server. Therefore the calling response instance (resp()) will change
the conditional status from 200 (HTTP_OK) to 206 (PartialContent) and will
change the content length for the range GET.
In EC case, sometimes Swift needs whole stored contents to decode a segment.
It will make 200 HTTP OK response from object-server and proxy-server
will unfortunately set whole content length to the destination content
length and it makes the bug 1467677.
This patch introduces a new method "fix_conditiona
swift.
iter in the Response instance. By calling it, Swift can set correct condtional
response any time after setting whole content_length to the response
instance like EC case.
Change-Id: If85826243f955d
Closes-Bug: #1467677
commit 62ed4f81ef80440
Author: Timur Alperovich <email address hidden>
Date: Tue Jul 14 16:56:44 2015 -0700
Add two functional tests for delimiter.
The first test verifies that a delimiter will trim entries beyond the
first matching instance of delimiter (after the given matching prefix,
if any) and squash duplicates. So, when setting the delimiter
to "-", given blobs "test", "test-foo" and "test-bar-baz", we expect
only "test" (no matching delim) and "test-" (trim all characters after
the first "-", and squash duplicates).
The second test verifies that when a prefix is provid...
| tags: | added: in-feature-crypto |
| Changed in swift: | |
| milestone: | none → 2.4.0 |
| status: | Fix Committed → Fix Released |


Reviewed: https:/ /review. openstack. org/187116 /git.openstack. org/cgit/ openstack/ swift/commit/ ?id=1bef06eec8f 5f780914ac701d6 3f9c498b29119b
Committed: https:/
Submitter: Jenkins
Branch: master
commit 1bef06eec8f5f78 0914ac701d63f9c 498b29119b
Author: Michael Barton <email address hidden>
Date: Sun May 31 23:10:15 2015 +0000
Don't quarantine on read_metadata ENOENT
An operation that removes an existing .ts or .meta out from under another
concurrent operation at the right point can cause the whole object to be
needlessly quarantined.
Closes-Bug: #1451520
Change-Id: I37d660199e5441 1d0610889f9ee23 0b13747244b