519 Commits

Author SHA1 Message Date
Mark Gius
2f50a0798e Add more specific error messages to swift-ring-builder
Replace existing Exceptions in ring builder with more specific exceptions.
Abstracted out some behavior in ring-builder that is likely to cause an
exception. Add try/except blocks to swift-ring-builder to catch specific
exceptions and provide the user with some information about how to deal
with the error.

This change begins to address blueprint friendly-error-messages

Change-Id: I8fc9cfa4899421fe04bba23ac52523778e902321
2011-09-27 10:20:51 -07:00
Chuck Thier
71f82582db removed unused import 2011-09-02 15:17:35 +00:00
Chuck Thier
2be5c2a820 Added unit test :P 2011-09-01 21:12:35 +00:00
Doug Weimer
772dde3be5 Proposed fix for bug #837428.
To test: 
Create an object without an x-timestamp or x-put-timestamp header and request the object with the X-newest header.

Without the patch, the proxy will return a 404 object not found even though the storage nodes return the object to the proxy.

With the patch, the proxy will return the first object received unless an object with a newer timestamp header exists.
2011-08-31 15:37:53 +00:00
David Goetz
b0651fde1e Fix for object auditor. It doesn't close files that are quarantined for certain reasons, zero byte files for one, which will cause it to eventually crash due to keeping too many files open. Thanks David Kranz for finding / reporting this!! 2011-08-31 15:17:26 +00:00
David Goetz
fc4f6feb8f fix for unit test 2011-08-31 07:28:36 -07:00
Doug Weimer
5d13c0bde3 PEP8 fixes and unit tests merged from https://code.launchpad.net/~gholt/swift/lp837428/+merge/73439 . Added additional unittests for GET in case it is handled by a separate code path from HEAD in the future. 2011-08-31 06:08:59 -07:00
David Goetz
daa057d597 make sure files always get closed 2011-08-30 14:29:19 -07:00
David Goetz
418b57b729 Changes needed for SOS 2011-08-30 20:47:31 +00:00
gholt
5b9137cc71 Test for x-newest with new proxy and old object server 2011-08-30 20:27:06 +00:00
David Goetz
bed607b07a adding unit tests 2011-08-30 12:07:32 -07:00
John Dickinson
57a4e509f3 improved delete db test 2011-08-29 13:04:20 -05:00
John Dickinson
6f854676f1 deleting a db now also clears the db's metadata 2011-08-29 10:58:07 -05:00
John Dickinson
1313d1fc16 added test for an extra header in lobjects 2011-08-22 10:22:50 -05:00
gholt
c9cd011c46 Minor fix of quarantine naming 2011-08-12 18:29:16 +00:00
John Dickinson
0504fffb05 added client_ip to all proxy log lines not otherwise containing it 2011-08-11 14:36:02 -05:00
gholt
9ca33c8690 More quarantine catching code. This should catch and quarantine any databases that indicate malformation or corruption with the known raised exceptions and it should catch and quarantine the case we've seen where hash directories become files. 2011-08-04 16:52:26 +00:00
Ewan Mellor
3373382284 Bug #820185: Intermittent TypeError NoneType in atexit handler of unit tests
Work around what appears to be a Python standard library bug by silencing
exceptions in the logging library.
2011-08-02 22:55:13 -07:00
gholt
3628c08b3e Real files for bad databases. 2011-08-02 18:21:25 +00:00
gholt
dfd61697c1 Fix bug; added test for quarantined a hash dir that becomes a file 2011-08-02 17:46:17 +00:00
gholt
a68e5d883c Fixed test based on testdir 2011-08-01 21:14:41 +00:00
gholt
671117e1d9 Tests for db quarantining 2011-08-01 20:46:30 +00:00
David Goetz
e6f752e76b Rollback of XML:
rolling back xml changes bzr merge -r323..322
rolling back xml changes bzr merge -r319..318
2011-07-25 16:12:56 +00:00
gholt
ae5cc4f6ce Fix test to compare unpickled values since we really don't care to test pickling 2011-07-25 08:40:11 -07:00
David Goetz
d234461344 merge up to trunk, rollback xml 2011-07-22 12:58:22 -07:00
David Goetz
9be62bd9cd rolling back xml changes bzr merge -r319..318 2011-07-22 10:54:54 -07:00
David Goetz
065318a251 rolling back xml changes bzr merge -r323..322 2011-07-22 10:53:25 -07:00
FUJITA Tomonori
fe27d30c5e Fix swift3 authentication bug about the Date and X-Amz-Date handling. 2011-07-22 15:32:19 +00:00
David Goetz
9986c0d8eb Changing ratelimiting so that it only limits PUTs/DELETEs. 2011-07-19 20:02:31 +00:00
gholt
498edf3e34 Reset container sync points when the sync-to changes 2011-07-14 20:07:45 +00:00
gholt
f4fa3d626c Merged from trunk 2011-07-14 18:43:08 +00:00
gholt
7b06c9855c Update to <?xml version="1.1" 2011-07-13 20:03:04 +00:00
David Goetz
87176f582b fixing unit test 2011-07-13 11:05:26 -07:00
David Goetz
e3ff894fab limit posts and copies 2011-07-11 15:54:51 -07:00
FUJITA Tomonori
e0bc916ccd s3api: add more unittests for canonical_string
For the Date and X-Amz-Date header handling.
2011-07-11 20:19:43 +09:00
David Goetz
748f449d31 changing ratelimiting so it only limits PUTs/DELETEs 2011-07-08 10:48:47 -07:00
gholt
8c24a70139 Merged from trunk 2011-06-30 21:52:09 +00:00
John Dickinson
411bc0b9e2 updated test to include request method 2011-06-30 10:20:36 -05:00
Joe Arnold
3d112ecfdb Fixed a bug800348, where users failed to be created if bind_port wasn't defined in the config. 2011-06-27 15:02:32 +00:00
gholt
64601cb02c Update to comply with XML 1.1: No NULLs in names allowed; control chars are converted to entities (ex: &#x4;) 2011-06-24 14:22:30 +00:00
Joe Arnold
00aabb21d7 Changed port for storage ural to the documented 8080 2011-06-22 01:06:05 +02:00
Joe Arnold
8d840cef0f fixed bug bug800348 - TempAuth failed to instantiate when bind_port was missing from config while building up users 2011-06-21 21:53:48 +02:00
John Dickinson
b3a451c832 merged with trunk 2011-06-17 16:47:39 -05:00
gholt
082b324bc3 Update to comply with XML 1.1: No NULLs in names allowed; control chars are converted to entities (ex: &#x4;) 2011-06-17 00:57:00 +00:00
gholt
1dca388dec Merge from trunk 2011-06-16 22:05:03 +00:00
gholt
fc68f824f1 You can specify X-Newest: true on GETs and HEADs to indicate you want Swift to query all backend copies and return the newest version retrieved.
Object COPY requests now always copy the newest object they can find.
Object POSTs are implemented as COPYs now by default (you can revert to previous implementation with conf object_post_as_copy = false)
Account and container GETs and HEADs now shuffle the nodes they use to balance load.
2011-06-16 21:12:04 +00:00
David Goetz
8062d32c19 fixing ratelimit tests 2011-06-16 11:09:15 -07:00
David Goetz
105d199b4b fixing ratelimit tests 2011-06-16 11:04:17 -07:00
gholt
f9fb4c739c consync: Now queries all primary nodes for a put and uses the newest object if it is newer or equal to the object to sync 2011-06-16 01:31:51 +00:00
gholt
78d417dda7 consync: More tests and slight refactor to be more testable 2011-06-16 00:59:55 +00:00