summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rgw: rework replica log + RESTful apiwip-rgw-geo-2-replicalog2Yehuda Sadeh2013-06-296-136/+94
| | | | | | simplifying. not compiling yet Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* RESTful implementation to dump regionmap implementationBabu Shanmugam2013-06-284-0/+106
| | | | Signed-off-by: Babu Shanmugam <anbu@enovance.com>
* RESTful API implementation for replica_logBabu Shanmugam2013-06-285-2/+572
| | | | Signed-off-by: Babu Shanmugam <anbu@enovance.com>
* rgw: initialize system flag in RGWUserInfoYehuda Sadeh2013-06-231-1/+1
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: various object put processor fixesYehuda Sadeh2013-06-231-6/+3
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: fix broken obj putYehuda Sadeh2013-06-221-0/+4
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: handle bucket creation with specified placement poolYehuda Sadeh2013-06-219-31/+171
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: user configuration for bucket placementYehuda Sadeh2013-06-213-1/+22
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: data structures for new data/index placement rulesYehuda Sadeh2013-06-212-2/+90
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw: make replica log object name configurableYehuda Sadeh2013-06-212-1/+3
| | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* RGWReplicaBucketLogger: store bucket replica logs in the .logs poolGreg Farnum2013-06-212-5/+13
| | | | Signed-off-by: Greg Farnum <greg@inktank.com>
* Merge branch 'wip-rgw-geo-2' into wip-rgw-geoYehuda Sadeh2013-06-2149-954/+4550
|\ | | | | | | | | Conflicts: src/test/cli/radosgw-admin/help.t
| * rgw: buffer atomic put handlerYehuda Sadeh2013-06-202-9/+38
| | | | | | | | | | | | | | | | | | Since we tied the atomic put handler to libcurl output data, which uses much smaller chunks, we need to buffer data, otherwise we'd end up with a huge amount of small writes. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: tie opstate into intra-region copy operationsYehuda Sadeh2013-06-206-23/+119
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * Merge branch 'wip-rgw-geo-enovance' into wip-rgw-geo-2Yehuda Sadeh2013-06-209-124/+218
| |\
| | * rgw: lock related modificationswip-rgw-geo-enovanceBabu Shanmugam2013-06-207-82/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. zone-id inclusion in lock/unlock for mdlog and datalog 2. renewal of lock if the locker request lock again 3. modified lock_id param to locker-id Signed-off-by: Babu Shanmugam <anbu@enovance.com> Conflicts: src/rgw/rgw_rest_log.cc
| | * rgw: add max-entries, marker for log operationsBabu Shanmugam2013-06-208-50/+108
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Babu Shanmugam <anbu@enovance.com> Conflicts: src/rgw/rgw_admin.cc src/rgw/rgw_rest_log.cc
| * | fixup "radosgw-admin: new commands to look at and clean up replica logs"Greg Farnum2013-06-201-6/+6
| | |
| * | radosgw-admin: new commands to look at and clean up replica logsGreg Farnum2013-06-202-1/+148
| | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: integrate with RGWRadosGreg Farnum2013-06-204-3/+229
| | | | | | | | | | | | | | | | | | | | | | | | We introduce an implementation class RGWReplicaLogger, and two user classes RGWReplicaObjectLogger (for the data/metadata logs) and RGWReplicaBucketLogger (for the bucket logs). Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: add tests.Greg Farnum2013-06-202-0/+160
| | | | | | | | | | | | | | | | | | | | | We do several good updates, a bad update, a good delete, a bad delete, several good gets, and a bad get. Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: add client with user documentationGreg Farnum2013-06-203-1/+178
| | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: add the actual classGreg Farnum2013-06-202-0/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | This class can be applied to any object, and will keep track of the bounds, matching times, and matching sets of in-progress items. We're about to add a cls_replica_log_client that will provide a friendly user interface and provide more documentation. Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: add ops for new classGreg Farnum2013-06-204-2/+200
| | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | cls_replica_log: add types for new classGreg Farnum2013-06-204-1/+282
| | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | radosgw_admin: fixup cli testGreg Farnum2013-06-201-0/+5
| | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | test: update cli testYehuda Sadeh2013-06-201-0/+4
| |/ | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * radosgw-admin: interface to control ops stateYehuda Sadeh2013-06-181-1/+104
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: OpState internal apiYehuda Sadeh2013-06-183-27/+83
| | | | | | | | | | | | | | Add new higher level functions to set, renew, list, and remove logged operation state. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: fix check_state callYehuda Sadeh2013-06-181-1/+1
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: specialized obj zone copy state for statelogYehuda Sadeh2013-06-183-1/+85
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: internal api for statelog objclassYehuda Sadeh2013-06-183-3/+198
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * cls_statelog: pass in timestampYehuda Sadeh2013-06-184-8/+10
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * cls_statelog: improve unitestYehuda Sadeh2013-06-181-58/+105
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * cls_statelog: fix a few issuesYehuda Sadeh2013-06-181-5/+9
| | | | | | | | | | | | Issues that came up when developed the unitest Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * test: test for cls_statelogYehuda Sadeh2013-06-182-2/+170
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * cls_statelog: fixesYehuda Sadeh2013-06-183-9/+9
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * cls_statelog: add client api functionsYehuda Sadeh2013-06-172-0/+156
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * cls_statelog: fixes and changes to apiYehuda Sadeh2013-06-172-36/+63
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * cls_statelog: introducing new objclass to handle state trackingYehuda Sadeh2013-06-174-0/+492
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Somewhat similar to the log objclass, but uses different data for indexing. Also keeps a dual index. In general an entry has 3 identifiers: - object: the object id on which the operation is made - client_id: client's unique identifier - op_id: operation's unique identifier An entry is indexed by both client_id+op_id, and by object+op_id, make it possible to list operations either by client_id, or by object id. We also keep state per each entry and the new check_state request can be used as a guard. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: object mtime the same for both object and bucket indexYehuda Sadeh2013-06-171-4/+7
| | | | | | | | | | | | | | Make sure object mtime that's passed to bucket index is the same as the one set on the object. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: fix inter-region copy (ofs wasn't correct)Yehuda Sadeh2013-06-171-5/+8
| | | | | | | | | | | | | | | | Fixing an issue with data read. Since inter-region copy uses embedded metadata within the data input, we need to fix the ofs accordingly. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: intra-region copy, preserve mtimeYehuda Sadeh2013-06-176-23/+38
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: system user get obj returns JSON encoded metadataYehuda Sadeh2013-06-172-7/+15
| | | | | | | | | | | | instead of binary encoded metadata Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: get / set user & bucket meta mtimeYehuda Sadeh2013-06-1512-52/+69
| | | | | | | | | | | | also update infrastructure to be able to set mtime on objects Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: preserve bucket creation time across different zones / regionsYehuda Sadeh2013-06-159-41/+51
| | | | | | | | | | | | | | Keep bucket creation time in RGWBucketInfo, and make use of it where necessary. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: show mtime for metadata entriesYehuda Sadeh2013-06-1512-50/+78
| | | | | | | | | | | | currently only shows for buckets Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: fixes for intra-zone object copyYehuda Sadeh2013-06-143-14/+17
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: set bucket marker and bucket obj version from masterYehuda Sadeh2013-06-146-18/+38
| | | | | | | | | | | | | | | | Make sure that bucket that's created gets the same marker as the one that the master region generated. Also, for some reason we weren't passing in the metadata obj version for the bucket. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: multiple changes for intra-zone object copyYehuda Sadeh2013-06-148-48/+117
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>