fix expirer bug with unicode container listings
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openstack-manuals |
Invalid
|
Medium
|
Unassigned |
Bug Description
https:/
commit e2255fc1f4d0899
Author: David Goetz <email address hidden>
Date: Thu Jul 31 10:19:10 2014 -0700
fix expirer bug with unicode container listings
If the container names in the expirer's account are returned as
unicode strings (as is the case with some json libraries), the
expirer compared eg u'1' == '1', which is problematic. This patch
ensures that the unicode is coerced to ascii so the comparison
is correct.
Change-Id: I72b322e7513f7d
commit 4286f36a60446e3
Author: anc <email address hidden>
Date: Mon Mar 10 11:46:58 2014 +0000
Enable object system metadata on PUTs
This patch takes a first step towards support
for object system metadata by enabling headers
in the x-object-sysmeta- namespace to be
persisted when objects are PUT. This should be
useful for other pending patches such as on
demand migration and server side encryption
(https:/
https:/
The x-object-sysmeta- namespace is already
reserved/
passed through the proxy. This patch modifies
the object server to persist these headers
alongside user metadata when an object is
PUT.
This patch will preserve existing object
system metadata and ignore any new system
metadata when handling object POSTs,
including POST-as-copy operations. Support
for modification of object system metadata
with a POST request requires further work
as discussed in the blueprint.
This patch will preserve existing object
system metadata and update it with new
system metadata when copying an object.
A new probe test is added which makes use of
the BrainSplitter class that has been moved
from test_container_
a new module brain.py.
blueprint object-
Change-Id: If716bc15730b73
commit 8ad37b2217c30b7
Author: Christian Schwede <email address hidden>
Date: Fri Aug 1 13:55:21 2014 +0000
Fix swift-dispersio
Commit 7fcbbebb changed the internal client a little bit and removed the
class variable self.attempts in SimpleClient. This is currently still
needed in swift-dispersio
re-adding it again.
Closes-Bug: 1351323
Change-Id: I98ba6441607158
commit 5a84b1cde102dac
Author: Samuel Merritt <email address hidden>
Date: Thu Jul 31 12:18:47 2014 -0700
Put proxy-logging in object expirer's sample config
It's generally better to have logs for something than to not have
logs. This way, the object expirer (if using the sample config as a
starting point) will log what it does.
Note that the container reconciler's sample config already contains
proxy-logging, as does the proxy server's. The object expirer is the
odd man out.
Change-Id: I32aac991317465
commit 4bc600ff42f2548
Author: Samuel Merritt <email address hidden>
Date: Fri Jul 25 18:50:19 2014 -0700
Fix "Handoff requested (N)" log spam
A long, long time ago, on a GET request, the proxy would go look on 3*
nodes for the requested thing. If one of the primary nodes was
error-limited, it'd look on two primaries and a handoff. Since this
indicated some failure somewhere, the proxy would emit a warning:
"Handoff requested (1)". If two primaries were down, there'd be a
second message "Handoff requested (2)", and so on.
Some StatsD messages were emitted too.
A somewhat shorter time ago (commit d79a67eb), the proxy started
looking into handoffs if it got 404s from the primaries. While this
was a good idea, it resulted lots of "Handoff requested (N)" log spam;
you'd see these messages on every single 404. Also, the StatsD
handoff_count and handoff_all_count metrics shot way up and turned
into noise.
This commit restores the original intent (and usefulness) of the log
messages and StatsD metrics: if the proxy only looks at the normal
number of handoff nodes, nothing is logged. However, if a primary is
down, then the message "Handoff requested (1)" will be logged,
indicating that the proxy looked at one more handoff than it normally
would, and this happened because a primary node was error-limited.
Closes-Bug: 1297214
* or whatever the replica count was
Change-Id: If1b77c18c880b0
commit 1cd14daadb40f5d
Author: paul luse <email address hidden>
Date: Fri Jul 25 16:34:39 2014 -0700
Reuse a cursor instead of a conn.execute for better performance
Basically the same thing as https:/
but over in the account backend.
Change-Id: I9255f3145818da
commit 670dc920deaf64a
Author: David Goetz <email address hidden>
Date: Fri Jul 25 12:16:54 2014 -0700
Reuse a cursor instead of a conn.execute for better performance
In some limited testing it was ~10% faster. Every little bit helps right?
Change-Id: Ide55b7600d625a
commit 6aff48c6f1effc4
Author: anc <email address hidden>
Date: Mon Jul 7 12:32:44 2014 +0100
Fix trivial typos
Fixes a few typos I have stumbled across recently.
Change-Id: Ib232924f6b23c0
commit 665c95331f9d0a8
Author: anc <email address hidden>
Date: Thu Jul 17 11:17:57 2014 +0100
Update doc for list_endpoints v2 API
Adds some v2 doc to list_endpoints module.
Also adds LE to list of swift sources in logs.rst
Change-Id: I6ccbcf677b12f5
commit ee14d58d84e6dfb
Author: guang-yee <email address hidden>
Date: Wed Jul 23 10:27:40 2014 -0700
Use auth_token from keystonemiddleware
auth_token middleware in python-
been moved to the keystonemiddleware repo.
Change-Id: Ia04aa83348e077
Closes-Bug: #1342274
commit f918bd47c04a6b4
Author: Lin Yang <email address hidden>
Date: Wed Jul 23 17:31:06 2014 +0800
Remove duplicate conditional statement
It contains two same conditional statements to check whether the first
argurment is end with '.ring.gz'. The latter one can be covered by 'else'
clause.
Change-Id: I4b67dc330e82e7
Signed-off-by: Lin Yang <email address hidden>
commit 05121f533a22c8e
Author: ppalucki <email address hidden>
Date: Tue Jul 22 12:30:54 2014 +0200
typo tradeoff -> trade-off
Change-Id: Iad5eb611bc7279
commit 02aaabba6a1ff91
Author: Samuel Merritt <email address hidden>
Date: Mon Jul 21 11:37:57 2014 -0700
Fix a couple small things in formpost doc string
Change-Id: Idb8d4707180396
commit b908a65649cbdd0
Author: Michael Barton <email address hidden>
Date: Mon Jul 21 07:45:56 2014 +0000
lock_file race fixes
I attempted to use this function and found a few problems.
We shouldn’t unlink the file after closing it, because someone else could lock
it in between. Switch to unlink before close.
If someone else locked the file between our open and flock, they are likely to
unlink it out from underneath us. Then we have a lock on a file that no longer
exists. So stat the filename after locking to make sure the inode hasn't
changed or gone away.
We probably shouldn’t unlink the file if we time out waiting for a lock. So
move that to before the finally block.
Change-Id: Id1858c97805d3a
commit 90272a0564e3824
Author: Matthew Oliver <email address hidden>
Date: Wed Jul 2 17:21:54 2014 +1000
Add X-Delete-At/After support to FormPost
This change adds the ability to specify a X-Delete-At or
X-Delete-After attribute when using the FormPost middleware.
Here is an example of what you need to add to the form:
<input type="hidden" name="x_delete_at" value="
<input type="hidden" name="x_
To be inline with the other form imput names, x-delete-at/after has
changed to x_delete_at/after.
DocImpact
Change-Id: Ib1cc0bcf1dd7d2
Closes-Bug: #1065522
commit 116ac459a64471b
Author: paul luse <email address hidden>
Date: Fri Jul 18 14:35:12 2014 -0700
Fix small typo in deployment guide
Change-Id: Ifd86ce5b36c258
commit e1fb64a7a6c675d
Author: David Moreau Simard <email address hidden>
Date: Fri Jul 18 13:25:58 2014 -0400
Pass disk usage options when using --all
This commit allows the arguments --human-readable and --top to be
used with --all to customize the output of the disk usage portion.
There are no unit tests attached to this commit, I have created and
referenced bug #1344200 which shows there is a larger bug to address
to create several missing tests.
Change-Id: I46b8359533989e
Closes-Bug: #1344178
Related-Bug: #1344200
commit 216aaab6387cd4d
Author: Clay Gerrard <email address hidden>
Date: Fri Jun 20 15:43:40 2014 -0700
Add v2 API to list endpoints middleware
The new API adds better support for storage policies and changes the
response from a list of backend urls to a dictionary with a key
"endpoints" that's a list of of the backend urls and a new key headers
that's a dictionary of headers to send along with the backend request.
In the v2 response format for object requests, there the headers key
includes "X-Backend-
policy index for the endpoints returned in the response.
Change-Id: I706a5b5be8002c
commit 25c98b771a26ffe
Author: Samuel Merritt <email address hidden>
Date: Fri Jul 11 12:03:30 2014 -0700
Allow HEAD for POST tempurls
HEAD requests are already allowed for GET and PUT tempurls; this
commit adds that for POST tempurls. Since POST replaces all the
object's metadata, it's quite useful to be able to HEAD the object in
order to fetch the old metadata and do a client-side merge of the new
metadata (like with normal, token-authenticated POST requests).
Change-Id: I603c7822cd27f0
commit e5d90a9cc3f784d
Author: Thiago da Silva <email address hidden>
Date: Fri Jul 11 11:13:52 2014 -0400
clean up saio env. after runnning func tests
Added call to delete container in teardown_package().
Tests are leaving objects and containers in saio environment
after finishing running the tests.
Currently, delete_containers() is called in the setUp of each test
class, which cleans up the containers of the previous test,
but leaves the containers of the last test in the saio environment.
Change-Id: I643d7083a2a310
Signed-off-by: Thiago da Silva <email address hidden>
commit e5d76e9f055805e
Author: Gil Vernik <email address hidden>
Date: Thu Apr 24 09:50:36 2014 +0300
Container PUT requests and max container per account
If container counter per account is equal or greater than
max_
403 is returned.
This is correct behaviour if the request is to create a new
container, however if container already exists PUT should be
allowed, even the max_container_
This patch allows to process PUT requests for existing containers,
even if max_container_
It indirectly resolve the bug 1306711, since swift-client
uses internally PUT requests for container, prior it upload an
object there.
Change-Id: I2dcf20b6feb27e
commit 7573fbd4985fb09
Author: Steven Lang <email address hidden>
Date: Mon Jun 23 12:59:24 2014 -0700
Object services user-agent string uses full name
It does not appear that, aside from the user-agent string, the strings
"obj-server", "obj-updater", or "obj-replicator" (or "obj-<anything>"*)
appear in the swift code base, aside from the directory containing the
object services code being named "obj".
Furthermore, the container, account, and proxy services construct their
user-agent string, as reported in the logs, using their full name. In
addition, this full name also shows up as the name of the process via
"ps" or "top", etc., which can make it easier for admins to match log
entries with other tools.
For consistency, we update the object services to use an "object-"
prefix rather than "obj-" in its user agent string.
* obj-etag does appear in a unit test, but not part of the regular
code.
Change-Id: I914fc189514207
commit 3cad20570c79ec4
Author: Clay Gerrard <email address hidden>
Date: Wed Jun 25 20:34:39 2014 -0700
Add X-Backend-Timestamp on more object server responses
It's particularly interesting on writes (PUT, POST, DELETE) where the
current on-disk timestamp would prevent the object server from serving
the incoming request and returns 409 Conflict.
The FakeConn has also been updated to respond in kind for 409's on
expect and all responses generaly just cause it's good to keep fakes in
line with the reals - not that I expected any existing tests to break
because of the new headers.
Change-Id: Iac6fbd2f872a95
commit f2774a4d11bb005
Author: MORITA Kazutaka <email address hidden>
Date: Tue Apr 22 09:28:15 2014 +0900
Disable case-changing behavior in Eventlet
RFC 2616 says that HTTP header fields are case-insensitive. However, there are
some S3 clients who don't accept normalized header by Swift and Eventlet. For
example, AWS Java SDK expects that an etag header is 'ETag', not 'Etag'.
This patch disables Eventlet's header capitalization so that the swift3
middleware can normalize the response headers as those clients expect.
Note that this change requires a fix for Eventlet, which will be included in
the next Eventlet release (v0.15).
Change-Id: I6d3428b0dafef7
Changed in openstack-manuals: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in openstack-manuals: | |
status: | Confirmed → Invalid |