2352b9d66f7a767376d36bd5b79d4b2c328ea45a
1992 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Iryoung Jeong
|
49a9cc7e68 |
Made ranged requests on large objects working correctly when size of manifest file is not 0 byte.
Fixed bug 969411 Ranged GET request checked wheter the object is large objects only when response is 416 Requested Range Not Satisfiable. All ranged GET requests should check the object is large object or not because size of the manifest file can be larger than 0. Change-Id: Ia3632252d6879a773be881149c10ce0f5ffbcd82 |
||
|
Jenkins
|
c16b70bb3d | Merge "Remove hard coded man page paths." | ||
|
Vincent Untz
|
1125368624 |
Remove ambiguity in memcache_servers documentation
The documentation could be understood like the following: memcache_servers from memcache.conf is always used if set, even if memcache_servers in proxy-server.conf is set. This is clearly not the case, as proxy-server.conf has a higher priority if it memcache_servers is set there. Change-Id: I967c7e80796a0e296c5c65bd097df1669d16203e |
||
|
Iryoung Jeong
|
c67e56848c |
Use buffered gzip stream with python 2.7.
- Fixes bug 898169. - It's possible to make GzipFile inherits io.BufferedIOBase in python 2.6, but IMO it's better let people to use 2.7 if they really need this feature. Change-Id: I4c6e4858e3f616af892e7f4fa6daae0f6ee31723 |
||
|
Kota Tsuyuzaki
|
f0eb25a973 |
add UDP protocol support for logger
When a syslog daemon fails and SysLogHandler cannot reconnect to it, server processes (proxy, container, object, and more) would start consuming 100 % CPU and stop responding to requests. It is because the server process go into an infinite loop if they fail to reconnect to /dev/log. This problem happens only when using unix_sockets. This change enables us to use syslog without unix_sockets and fixes bug 780025. Change-Id: Ibcc99a1a148b1008036146bf3bd079a9be24982c |
||
|
Jenkins
|
fcab7b7358 | Merge "Fixes for probe tests" | ||
|
Jenkins
|
7538ff496a | Merge "use sort_key to compare the number of partitions the device wants" | ||
|
Jenkins
|
04b77fdf4d | Merge "Make proxy-logging more like eventlet.posthook" | ||
|
Jenkins
|
57008e553a | Merge "Patch for Swift Solaris (Illumos) compability." | ||
|
gholt
|
be79b0884e |
Fixes for probe tests
Updated the imports and added a head_account to the "is the cluster started yet?" checks. Hopefully this fixes the notorious timing issues of these tests where auth answers requests just a bit before the rest of the cluster is ready. Fixes bug 1014931 Change-Id: Iea1d62db2317560371da49af5e94a0279b646294 |
||
|
Dan Prince
|
69fd05f439 |
Remove hard coded man page paths.
Fixes LP Bug #1016656. Change-Id: I22455d27cb82830dabd4fb0677da26915a60eb85 |
||
|
MORITA Kazutaka
|
a4ebc465c3 |
use sort_key to compare the number of partitions the device wants
Fixes bug 1016140. Change-Id: I0c98561f58f80408064ea178c6d6e8889604cddb |
||
|
Samuel Merritt
|
67af56b156 |
Make swift-get-nodes -a show all handoffs.
Commit
|
||
|
Jenkins
|
cc73f5cbe0 | Merge "Added config options for rate limiting of large object downloads." | ||
|
Jenkins
|
609f9059c2 | Merge "check disk failure before syncing for each partition" | ||
|
Victor Rodionov
|
13e4de1899 |
Patch for Swift Solaris (Illumos) compability.
* Add new configuration option log_address. Change-Id: I636bd4116687629c997b70a0d804b7ed4bc46032 |
||
|
Greg Lange
|
f4c319b94c |
Made dispersion report work with any replica count other than 3.
This changes the JSON output keys missing_one and missing_two to missing_1 and missing_2 (if there are at least 2 replicas), drops the missing_all key, and can add more missing_x keys depending on the replica count. We will definitely need to post a prominent notice of this change with the next release. bug 862816 Change-Id: Ib747d944476638c33ee1d876b8f9db28953826e2 |
||
|
MORITA Kazutaka
|
50806efdba |
check disk failure before syncing for each partition
If disk failure happens while object replication is ongoing, object-replicator could replicate objects from other nodes to the root file system. It is because object-replicator does no mount check (error check) at all after collect_jobs() is called, and it executes rsync based on the old partition information in update(). This change prevents many objects from being written to the root file system wrongly and fixes bug 1014545. Change-Id: Icf740a2683e360df89eccb71b269977f294340b9 |
||
|
gholt
|
8b778c706a |
Make proxy-logging more like eventlet.posthook
The old use of Eventlet's posthook process meant that responses that forgot to include content-length or transfer-encoding headers would get one tacked on, if Eventlet could guess what was probably meant. I added a bit of that logic into proxy-logging now as we saw some errors resulting from this. Fixes Bug #1012714 Change-Id: I671453eaf3704eab814ff12c4625ba7d749cc7ed |
||
|
François Charlier
|
ef3e556b72 |
swift-bench should be able to use auth version 2.0
Fixes Bug #1011727 Change-Id: I6681bd85a5ddb82a1059913ae90696e5994aa906 |
||
|
gholt
|
95786e577c |
Update swift-get-nodes to return fewer more_nodes
Changed swift-get-nodes to just return up to replica_count of more_nodes instead of all of them. When you have thousands of drives, returning all possible handoff nodes is pretty crazy. :) Change-Id: I864e7243726ca3ef2ac08c4ab660a05789f37878 |
||
|
Jenkins
|
c0e7c38c9f | Merge "Make object server's caching more configurable." | ||
|
Jenkins
|
22624aa50a | Merge "added printing of 404s to dispersion report; fixed small, unrelated bug" | ||
|
Jenkins
|
429c285c96 | Merge "Align tox.ini and fix coverage jobs in jenkins." | ||
|
Jenkins
|
8709ea7b1b | Merge "Remove swift.common.client from here." | ||
|
Monty Taylor
|
e7180a5876 |
Align tox.ini and fix coverage jobs in jenkins.
The jenkins coverage jobs expect there to be a .coverage file, so deleting it is a bad idea. Also, coverage erase will do that for us. While we're in there, update tox.ini and setup.cfg to the latest. Change-Id: Icd0a8fc66a5146e0d94f62a9f65a4536981d2916 |
||
|
Samuel Merritt
|
28cd9b2da8 |
Make object server's caching more configurable.
The object server had a constant KEEP_CACHE_SIZE = 5*1024*1024;
unauthenticated GET requests for files smaller than KEEP_CACHE_SIZE
would not evict the file from the kernel's buffer cache after it was
read from disk.
Now that hardcoded constant is a configuration parameter
("keep_cache_size"), and now there is also another parameter called
"keep_cache_private". If set, then both authenticated and
unauthenticated GET requests for small files will not evict the data
from the buffer cache. The default values are 5 MiB and False,
respectively, so the default behavior is the same.
Bonus: the "mb_per_sync" parameter is now documented in the deployment
guide.
Change-Id: I9a11dbe861f4c23535c6aa82a9111a6fe2db2a59
|
||
|
Greg Lange
|
27455cb15b |
added printing of 404s to dispersion report; fixed small, unrelated bug
also fixed bug where in error_log where identifier wasn't being set to anything meaningful, set it to the right thing bug 612722 Change-Id: I53f237ea0db2a5b2b8979a7b41189faf1275e861 |
||
|
Greg Lange
|
6987d222de |
Added config options for rate limiting of large object downloads.
bug 786197 Change-Id: Idd73986ca4550b20dff340df4acd12f3bfc01075 |
||
|
Vincent Untz
|
f7757e4ebf |
Fix typos in source documentation
metdata -> metadata requets -> requests Change-Id: Idc3c67e6415532e64e1d04c767f64e1d50269f44 |
||
|
Chmouel Boudjnah
|
22572b506a |
Remove swift.common.client from here.
- It has been to its own gerrit project. - direct_client should follow next. - Implements blueprint clientbindings. Change-Id: I3bb50c95eba81302bfec71cb7ce5288b85a41dc0 |
||
|
Jenkins
|
3ba5ea354b | Merge "Fixed bug with container reclaim/report race" | ||
|
Ionuț Arțăriși
|
9af3df9ee8 |
fix object replication on older rsync versions when using ipv4
Fixes bug 987388 Change-Id: I6eb5c45fe1f5844ad853a4ff9bc8fd23cc9abd5d |
||
|
Jenkins
|
54072cc951 | Merge "Added global catchall to account-reaper." | ||
|
Jenkins
|
efb0436838 | Merge "Raise ClientException for invalid auth version." | ||
|
Dan Prince
|
f48f253f4c |
Raise ClientException for invalid auth version.
Fixes LP Bug #1008667. Change-Id: I1e767a804b617eff8a9700c3d98b2360c040933a |
||
|
Greg Lange
|
63ad27cd5f |
Added global catchall to account-reaper.
bug 644075 Change-Id: I75c73a42ddd8654a39a2fd82320941199bee4363 |
||
|
Ionuț Arțăriși
|
9f5a6bba1a |
only allow methods which implement HTTP verbs to be called remotely
This fixes 500 server crashes caused by requests such as: curl -X__init__ "http://your-swift-object-server:6000/sda1/p/a/c/o" Fixes bug 1005903 Change-Id: I6c0ad39a29e07ce5f46b0fdbd11a53a9a1010a04 |
||
|
gholt
|
213f385348 |
Fixed bug with container reclaim/report race
Before, a really lagged cluster might not get its final report for a deleted container database sent to its corresponding account database. In such a case, the container database file would be permanently deleted while still leaving the container listed in the account database, never to be updated since the actual container database file was gone. The only way to fix such the situation before was to recreate and redelete the container. Now, the container database file will not be permanently deleted until it has sent its final report successfully to its corresponding account database. Change-Id: I1f42202455e7ecb0533b84ce7f45fcc7b98aeaa3 |
||
|
Samuel Merritt
|
783f16035a |
Fix starvation in object server with fast clients.
When an object server was handling concurrent GET or POST requests from very fast clients, it would starve other connected clients. The greenthreads responsible for servicing the fast clients would hog the processor and only rarely yield to another greenthread. The reason this happens for GET requests is found in eventlet.greenio.GreenSocket, in the send() method. When you call .send(data) on a GreenSocket, it immediately calls .send(data) on its underlying real socket (socket._socketobject). If the real socket accepts all the data, then GreenSocket.send() returns without yielding to another greenthread. Only if the real socket failed to accept all the data (either .send(data) < len(data) or by raising EWOULDBLOCK) does the GreenSocket yield control. Under most workloads, this isn't a problem. The TCP connection to client X can only consume data so quickly, and therefore the greenthread serving client X will frequently encounter a full socket buffer and yield control, so no clients starve. However, when there's a lot of contention for a single object from a large number of fast clients (e.g. on a LAN connected w/10Gb Ethernet), then one winds up in a situation where reading from the disk is slower than writing to the network, and so full socket buffers become rare, and therefore so do context switches. The end result is that many clients time out waiting for data. The situation for PUT requests is analogous; GreenSocket.recv() seldom encounters EWOULDBLOCK, so greenthreads seldom yield. This patch calls eventlet.sleep() to yield control after each chunk, preventing any one greenthread's IO from blocking the hub for very long. This code has the flaw that it will greenthread-switch twice when a send() or recv() does block, but since there isn't a way to find out if a switch occurred or not, there's no way to avoid it. Since greenlet switches are quite fast (faster than system calls, which the object server does a lot of), this shouldn't have a significant performance impact. Change-Id: I8549adfb4a198739b80979236c27b76df607eebf |
||
|
gholt
|
7a9c2d6ea5 |
Proxy logging content-length fix
Change-Id: Iad2f12b3db44378c1369481c567b3d13b9a4b75f |
||
|
Jenkins
|
4d25774012 | Merge "Fixed bug where 204 would sometimes be chunked" | ||
|
Florian Hines
|
243b439507 |
Ensure empty results are returned
Make sure that empty but still valid results (like no unmounted drives) aren't treated as 500 errors. Change-Id: I9588e2711d7916406f15613d5a26b9f0cf38235a |
||
|
gholt
|
135f154285 |
Fixed bug where 204 would sometimes be chunked
Not sure how this got introduced (which really annoys me) but here's the fix to make sure the content-length / transfer-encoding headers are set properly. Specifically, the proxy was sometimes returning transfer-encoding: chunked with no content-length on 204 No Content responses where it used to return content-length: 0 and no transfer-encoding header at all. Change-Id: I0927d102bc5e4324e38dbbb44be9033a6cd8ee20 |
||
|
Jenkins
|
ff761638ca | Merge "Fixed another make_pre_auth bug (wsgi.input)" | ||
|
Jenkins
|
6e77cb97a5 | Merge "Fixed query removal bug in make_pre_authed_request" | ||
|
gholt
|
d4c5818354 |
Fixed another make_pre_auth bug (wsgi.input)
Change-Id: I8b3c182ab85d4c5545e0a4259a64a496ebaf2bcb |
||
|
Thierry Carrez
|
9a2d9b920b |
Adding missing files in generated tarballs
Fix MANIFEST.in to include tools/, tox.ini and test/sample.conf in generated tarballs. Fixes bug 960018 and bug 1005801. Change-Id: Ifa83eab62300e3aec71ced217dc3cdcb2846ea0e |
||
|
John Dickinson
|
d668b27c09 |
fixed doc table format
Change-Id: I319de933ecfb1e3853e3064656968c36980ce5f5 |
||
|
John Dickinson
|
ad6a00d0a2 |
1.5.1 version bump to continue dev
Change-Id: Ied84c8274b3aee5f63a11e557c6c59729666d99f |