]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agorgw: update bucket index marker before skipping entries
Yehuda Sadeh [Thu, 3 Dec 2015 19:02:44 +0000 (11:02 -0800)]
rgw: update bucket index marker before skipping entries

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix data sync notification
Yehuda Sadeh [Thu, 3 Dec 2015 03:01:29 +0000 (19:01 -0800)]
rgw: fix data sync notification

should send zone id, not zone name

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: remove incorrect conn assignment
Yehuda Sadeh [Wed, 2 Dec 2015 23:14:45 +0000 (15:14 -0800)]
rgw: remove incorrect conn assignment

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: incremental sync, skip non-complete entries early
Yehuda Sadeh [Wed, 2 Dec 2015 22:13:33 +0000 (14:13 -0800)]
rgw: incremental sync, skip non-complete entries early

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: forward bucket creation removal if it's not meta master
Yehuda Sadeh [Tue, 1 Dec 2015 21:35:15 +0000 (13:35 -0800)]
rgw: forward bucket creation removal if it's not meta master

We can be in the master zonegroup, but not the meta master -- in which case
we still need to forward the request to the master.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: data sync, don't yield when spawning
Yehuda Sadeh [Tue, 1 Dec 2015 21:27:20 +0000 (13:27 -0800)]
rgw: data sync, don't yield when spawning

this enables us to filter out duplicate keys without worrying about races, since
spawned crs will only be executed once we yield.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: keep track of how busy a cr stack is
Yehuda Sadeh [Wed, 25 Nov 2015 05:09:04 +0000 (21:09 -0800)]
rgw: keep track of how busy a cr stack is

this can give indication about crs that aren't structured correctly.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: avoid unneeded yield
Yehuda Sadeh [Wed, 25 Nov 2015 05:08:13 +0000 (21:08 -0800)]
rgw: avoid unneeded yield

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix setting of rgw_zonegroup from rgw_region
Orit Wasserman [Thu, 3 Dec 2015 18:12:38 +0000 (19:12 +0100)]
rgw: fix setting of rgw_zonegroup from rgw_region

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agoradosgw-admin: clean backward support for region in the cli
Orit Wasserman [Wed, 2 Dec 2015 09:52:19 +0000 (10:52 +0100)]
radosgw-admin: clean backward support for region in the cli

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: use zonegroup id for location constrain
Orit Wasserman [Wed, 2 Dec 2015 09:47:47 +0000 (10:47 +0100)]
rgw: use zonegroup id for location constrain

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agoradosgw-admin: zone set add a check for zone name in json
Orit Wasserman [Tue, 1 Dec 2015 08:04:06 +0000 (09:04 +0100)]
radosgw-admin: zone set add a check for zone name in json

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: create a unique zone pool names
Orit Wasserman [Mon, 16 Nov 2015 11:32:19 +0000 (12:32 +0100)]
rgw: create a unique zone pool names

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: don't spawn multiple concurrent object sync for same object
Yehuda Sadeh [Wed, 25 Nov 2015 04:20:35 +0000 (20:20 -0800)]
rgw: don't spawn multiple concurrent object sync for same object

Either mark the current running operation to retry, or wait for it to finish
(if it's not doing the same operation).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix call to index_key_to_marker()
Yehuda Sadeh [Tue, 24 Nov 2015 23:10:22 +0000 (15:10 -0800)]
rgw: fix call to index_key_to_marker()

was passing variables in the wrong order

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: cancel index operation if delete got ENOENT
Yehuda Sadeh [Tue, 24 Nov 2015 20:05:43 +0000 (12:05 -0800)]
rgw: cancel index operation if delete got ENOENT

Should mark the operation as canceled, so that sync followers don't try to
apply it.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: rework set_description(), set_status()
Yehuda Sadeh [Tue, 24 Nov 2015 18:48:40 +0000 (10:48 -0800)]
rgw: rework set_description(), set_status()

make it easier to construct description, status info

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: data sync, only use complete log entries
Yehuda Sadeh [Tue, 24 Nov 2015 18:48:16 +0000 (10:48 -0800)]
rgw: data sync, only use complete log entries

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: more coroutines annotation
Yehuda Sadeh [Tue, 24 Nov 2015 03:48:38 +0000 (19:48 -0800)]
rgw: more coroutines annotation

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: start annotating coroutines status and description
Yehuda Sadeh [Tue, 24 Nov 2015 03:34:18 +0000 (19:34 -0800)]
rgw: start annotating coroutines status and description

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: remove sync reporting
Yehuda Sadeh [Mon, 23 Nov 2015 22:38:18 +0000 (14:38 -0800)]
rgw: remove sync reporting

will use the cr reporting framework instead

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: keep status and history in coroutine
Yehuda Sadeh [Mon, 23 Nov 2015 22:28:49 +0000 (14:28 -0800)]
rgw: keep status and history in coroutine

will replace the report container stuff

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: remove run context when finished running
Yehuda Sadeh [Mon, 23 Nov 2015 20:17:53 +0000 (12:17 -0800)]
rgw: remove run context when finished running

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: track all stacks, not just scheduled
Yehuda Sadeh [Mon, 23 Nov 2015 20:09:49 +0000 (12:09 -0800)]
rgw: track all stacks, not just scheduled

And don't expand spawned stacks out of existing cr. This flattens the
admin socket output.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: more on fix for g_ceph_context shutdown
Casey Bodley [Mon, 23 Nov 2015 15:39:39 +0000 (10:39 -0500)]
rgw: more on fix for g_ceph_context shutdown

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: handle the case of non exisiting zonegroup
Orit Wasserman [Mon, 23 Nov 2015 11:01:20 +0000 (12:01 +0100)]
rgw: handle the case of non exisiting zonegroup

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agoradosgw-admin: allow region use for backward compatability
Orit Wasserman [Mon, 23 Nov 2015 08:23:48 +0000 (09:23 +0100)]
radosgw-admin: allow region use for backward compatability

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: admin socket related fixes
Yehuda Sadeh [Sat, 21 Nov 2015 04:03:05 +0000 (20:03 -0800)]
rgw: admin socket related fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: hook cr managers to admin socket
Yehuda Sadeh [Fri, 20 Nov 2015 23:06:43 +0000 (15:06 -0800)]
rgw: hook cr managers to admin socket

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add locking to coroutines reporting
Yehuda Sadeh [Fri, 20 Nov 2015 19:58:18 +0000 (11:58 -0800)]
rgw: add locking to coroutines reporting

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: start moving report into coroutines
Yehuda Sadeh [Fri, 20 Nov 2015 19:26:50 +0000 (11:26 -0800)]
rgw: start moving report into coroutines

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: more metadata sync reporting
Yehuda Sadeh [Fri, 20 Nov 2015 03:38:10 +0000 (19:38 -0800)]
rgw: more metadata sync reporting

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: start hooking sync report
Yehuda Sadeh [Fri, 20 Nov 2015 02:53:27 +0000 (18:53 -0800)]
rgw: start hooking sync report

also multiple fixes around the report tool

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: framework for per-rgw sync status reporting
Yehuda Sadeh [Thu, 19 Nov 2015 19:00:55 +0000 (11:00 -0800)]
rgw: framework for per-rgw sync status reporting

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoceph_json: add deque encode/decode
Yehuda Sadeh [Thu, 19 Nov 2015 18:59:30 +0000 (10:59 -0800)]
ceph_json: add deque encode/decode

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoradosgw-admin: replace region with zonegroup in the help file
Orit Wasserman [Fri, 20 Nov 2015 15:16:43 +0000 (16:16 +0100)]
radosgw-admin: replace region with zonegroup in the help file

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: fix assert on shutdown by keeping g_ceph_context around longer
Casey Bodley [Wed, 18 Nov 2015 18:37:24 +0000 (13:37 -0500)]
rgw: fix assert on shutdown by keeping g_ceph_context around longer

RGWRealmWatcher and friends are on the stack in main(), so we can't drop
the last ref on g_ceph_context until their destructors have fired. use a
boost::intrusive_ptr to claim g_ceph_context's initial ref so that its
destructor fires last

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: remove epoch and duplicates from list_periods
Orit Wasserman [Wed, 18 Nov 2015 11:56:37 +0000 (12:56 +0100)]
rgw: remove epoch and duplicates from list_periods

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: fix compilation error in RGWPeriodPusher::handle_notify
Orit Wasserman [Wed, 18 Nov 2015 11:55:39 +0000 (12:55 +0100)]
rgw: fix compilation error in RGWPeriodPusher::handle_notify

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: fix compilation error on i386
Orit Wasserman [Tue, 17 Nov 2015 13:10:33 +0000 (14:10 +0100)]
rgw: fix compilation error on i386

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: call drain_all() before returning from some crs
Yehuda Sadeh [Tue, 17 Nov 2015 00:23:47 +0000 (16:23 -0800)]
rgw: call drain_all() before returning from some crs

spawned crs are still using marker_tracker, need to drain_all() as
we destroy it in the destructor.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: allocate a larger buffer for full sync omap oid
Yehuda Sadeh [Tue, 17 Nov 2015 00:22:17 +0000 (16:22 -0800)]
rgw: allocate a larger buffer for full sync omap oid

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: register RGWPeriodPusher with RGWRealmWatcher
Casey Bodley [Tue, 10 Nov 2015 21:06:41 +0000 (16:06 -0500)]
rgw: register RGWPeriodPusher with RGWRealmWatcher

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: RGWPeriodPusher shares periods between zones/groups
Casey Bodley [Fri, 9 Oct 2015 16:15:05 +0000 (12:15 -0400)]
rgw: RGWPeriodPusher shares periods between zones/groups

RGWPeriodPusher implements the RGWRealmWatcher interface to get
notifications for new periods.  when it discovers that it needs to push
a period to other zones, it spawns a thread to send them (and keep
retrying) until all of those zones successfully acknowledge the period

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: RGWRealmWatcher supports multiple watch types
Casey Bodley [Tue, 6 Oct 2015 21:12:14 +0000 (17:12 -0400)]
rgw: RGWRealmWatcher supports multiple watch types

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: rename RGWRealmReloader::FrontendPauser to Pauser
Casey Bodley [Fri, 6 Nov 2015 13:33:17 +0000 (08:33 -0500)]
rgw: rename RGWRealmReloader::FrontendPauser to Pauser

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: period push succeeds even if it isn't a new period
Casey Bodley [Mon, 9 Nov 2015 16:21:49 +0000 (11:21 -0500)]
rgw: period push succeeds even if it isn't a new period

when pushing periods between zones, we need a successful result to
signal that we can stop sending the period

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: refactor reconfigure out of RGWRealmWatcher
Casey Bodley [Wed, 7 Oct 2015 16:16:22 +0000 (12:16 -0400)]
rgw: refactor reconfigure out of RGWRealmWatcher

add a RGWRealmReloader class to handle reconfiguration, and use a
Watcher interface to get notifications from RGWRealmWatcher

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: keep Context for reconfig timer cancellation
Casey Bodley [Wed, 7 Oct 2015 16:08:02 +0000 (12:08 -0400)]
rgw: keep Context for reconfig timer cancellation

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: add RGWRealm::notify_new_period()
Casey Bodley [Fri, 30 Oct 2015 20:37:43 +0000 (16:37 -0400)]
rgw: add RGWRealm::notify_new_period()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: fix typo in RGWPeriod::update
Casey Bodley [Mon, 2 Nov 2015 21:01:32 +0000 (16:01 -0500)]
rgw: fix typo in RGWPeriod::update

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: fix for decode of ZoneGroup id
Casey Bodley [Mon, 2 Nov 2015 21:00:33 +0000 (16:00 -0500)]
rgw: fix for decode of ZoneGroup id

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: cr call() doesn't return a value
Yehuda Sadeh [Mon, 16 Nov 2015 23:55:50 +0000 (15:55 -0800)]
rgw: cr call() doesn't return a value

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: data sync marker tracker, don't assert
Yehuda Sadeh [Mon, 16 Nov 2015 16:34:44 +0000 (08:34 -0800)]
rgw: data sync marker tracker, don't assert

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: we need to rename the zone inside the zonegroup too
Orit Wasserman [Mon, 16 Nov 2015 15:51:14 +0000 (16:51 +0100)]
rgw: we need to rename the zone inside the zonegroup too

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: fix RGWSystemMetaObj::rename
Orit Wasserman [Mon, 16 Nov 2015 15:06:59 +0000 (16:06 +0100)]
rgw: fix RGWSystemMetaObj::rename

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agoradosgw-admin: add --zone-new-name to usage
Orit Wasserman [Mon, 16 Nov 2015 14:35:55 +0000 (15:35 +0100)]
radosgw-admin: add --zone-new-name to usage

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: init num shards if sync status did not exist
Yehuda Sadeh [Fri, 13 Nov 2015 21:47:54 +0000 (13:47 -0800)]
rgw: init num shards if sync status did not exist

in data sync process

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: use correct connection for certain data sync operations
Yehuda Sadeh [Fri, 13 Nov 2015 21:22:17 +0000 (13:22 -0800)]
rgw: use correct connection for certain data sync operations

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: translate source_zone param into source zone id
Yehuda Sadeh [Fri, 13 Nov 2015 18:48:19 +0000 (10:48 -0800)]
rgw: translate source_zone param into source zone id

operations are done using the zone id, not the zone name

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: start marker tracker sync entry can fail
Yehuda Sadeh [Fri, 13 Nov 2015 04:50:12 +0000 (20:50 -0800)]
rgw: start marker tracker sync entry can fail

We might hit duplicate entry, just skip it, don't assert.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: clarify log message
Yehuda Sadeh [Thu, 12 Nov 2015 21:14:53 +0000 (13:14 -0800)]
rgw: clarify log message

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fetch bucket instance info if doesn't exist
Yehuda Sadeh [Thu, 12 Nov 2015 19:26:39 +0000 (11:26 -0800)]
rgw: fetch bucket instance info if doesn't exist

when doing data sync. This handles a race in which we try to sync data
of bucket instance before fetched its metadata

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: data sync fixes
Yehuda Sadeh [Thu, 12 Nov 2015 00:10:52 +0000 (16:10 -0800)]
rgw: data sync fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: don't force pool names to start with periods
Yehuda Sadeh [Wed, 11 Nov 2015 23:32:34 +0000 (15:32 -0800)]
rgw: don't force pool names to start with periods

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: more backoff related changes and fixes
Yehuda Sadeh [Wed, 11 Nov 2015 23:01:36 +0000 (15:01 -0800)]
rgw: more backoff related changes and fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move code around
Yehuda Sadeh [Wed, 11 Nov 2015 20:50:29 +0000 (12:50 -0800)]
rgw: move code around

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: backoff mechanism for data sync
Yehuda Sadeh [Wed, 11 Nov 2015 20:43:31 +0000 (12:43 -0800)]
rgw: backoff mechanism for data sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: data sync CR retry after specific errors
Yehuda Sadeh [Wed, 11 Nov 2015 00:50:21 +0000 (16:50 -0800)]
rgw: data sync CR retry after specific errors

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: initialize data sync if needed
Yehuda Sadeh [Tue, 10 Nov 2015 23:33:39 +0000 (15:33 -0800)]
rgw: initialize data sync if needed

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: full data sync, pass correct op
Yehuda Sadeh [Tue, 10 Nov 2015 22:12:58 +0000 (14:12 -0800)]
rgw: full data sync, pass correct op

Need to specify appropriate op (depending on whether object is
versioned or not versioned).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: special handling of 'null' object version
Yehuda Sadeh [Tue, 10 Nov 2015 21:58:53 +0000 (13:58 -0800)]
rgw: special handling of 'null' object version

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: initialize data member
Yehuda Sadeh [Tue, 10 Nov 2015 21:47:35 +0000 (13:47 -0800)]
rgw: initialize data member

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: keep timestamp stats in incremental sync position data
Yehuda Sadeh [Tue, 10 Nov 2015 01:02:22 +0000 (17:02 -0800)]
rgw: keep timestamp stats in incremental sync position data

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: init REST connection by zone name
Yehuda Sadeh [Tue, 10 Nov 2015 01:02:03 +0000 (17:02 -0800)]
rgw: init REST connection by zone name

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: coroutine manager returns ECANCELED when going down
Casey Bodley [Tue, 10 Nov 2015 19:32:30 +0000 (14:32 -0500)]
rgw: coroutine manager returns ECANCELED when going down

RGWRemoteMetaLog::run_sync() was getting stuck in an infinite loop after
a call to RGWCoroutinesManager::stop().  instead of returning success
when we see 'going_down', fail the coroutine with ECANCELED

the other RGWCoroutinesManager::run() overload also needed modification
to prevent us from overwriting this error code

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: fix compilation with older boost versions that don't have asio coroutines
Orit Wasserman [Mon, 9 Nov 2015 10:59:22 +0000 (11:59 +0100)]
rgw: fix compilation with older boost versions that don't have asio coroutines

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: remove include to <boost/asio/coroutine.h>
Orit Wasserman [Mon, 9 Nov 2015 09:42:07 +0000 (10:42 +0100)]
rgw: remove include to <boost/asio/coroutine.h>

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: remove include to <boost/asio/coroutine.h>
Orit Wasserman [Mon, 9 Nov 2015 09:42:07 +0000 (10:42 +0100)]
rgw: remove include to <boost/asio/coroutine.h>

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: show data full sync stats
Yehuda Sadeh [Thu, 5 Nov 2015 22:50:04 +0000 (14:50 -0800)]
rgw: show data full sync stats

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: keep sync progress info for full sync
Yehuda Sadeh [Wed, 4 Nov 2015 19:06:24 +0000 (11:06 -0800)]
rgw: keep sync progress info for full sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: update the correct shards when doing full sync
Yehuda Sadeh [Wed, 4 Nov 2015 19:06:11 +0000 (11:06 -0800)]
rgw: update the correct shards when doing full sync

The shard we use for each entry (either meta, or data) needs to be selected
correctly to match the different logs we keep. Otherwise async notifications
don't work correctly

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: shutdown lease CR on mdlog inc sync failure
Yehuda Sadeh [Tue, 3 Nov 2015 23:03:01 +0000 (15:03 -0800)]
rgw: shutdown lease CR on mdlog inc sync failure

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: use boost::intrusive_ptr for http_op ref counting
Casey Bodley [Thu, 5 Nov 2015 20:16:57 +0000 (15:16 -0500)]
rgw: use boost::intrusive_ptr for http_op ref counting

this fixes a segfault in the RGWPostRESTResourceCR::request_complete()
error path, which accessed http_op after calling put()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: apply RGWRESTReadResource::wait_bl() fix to PostResource as well
Casey Bodley [Thu, 5 Nov 2015 17:27:11 +0000 (12:27 -0500)]
rgw: apply RGWRESTReadResource::wait_bl() fix to PostResource as well

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: RGWRESTPostResource takes param_list_t for RGWPostRESTResourceCR
Casey Bodley [Wed, 4 Nov 2015 21:57:34 +0000 (16:57 -0500)]
rgw: RGWRESTPostResource takes param_list_t for RGWPostRESTResourceCR

RGWPostRESTResourceCR needs to make a copy of the parameters given to
its constructor, because it doesn't use them until send_request(). this
results in a segfault when the given parameter list is on the stack

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: add make_param_list() helper
Casey Bodley [Wed, 4 Nov 2015 21:51:36 +0000 (16:51 -0500)]
rgw: add make_param_list() helper

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: add typedef for rest parameter lists
Casey Bodley [Wed, 4 Nov 2015 21:43:41 +0000 (16:43 -0500)]
rgw: add typedef for rest parameter lists

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: use insert to copy containers in rgw_rest_conn
Casey Bodley [Wed, 4 Nov 2015 21:39:45 +0000 (16:39 -0500)]
rgw: use insert to copy containers in rgw_rest_conn

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: move RGWPostRESTResourceCR to rgw_cr_rest.h
Casey Bodley [Mon, 12 Oct 2015 19:07:39 +0000 (15:07 -0400)]
rgw: move RGWPostRESTResourceCR to rgw_cr_rest.h

for use by RGWRealmPusher

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: RGWRestConn uses vector instead of map
Casey Bodley [Mon, 12 Oct 2015 17:14:59 +0000 (13:14 -0400)]
rgw: RGWRestConn uses vector instead of map

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: workaround to clear location constrain when using default zonegroup
Orit Wasserman [Wed, 4 Nov 2015 14:27:06 +0000 (15:27 +0100)]
rgw: workaround to clear location constrain when using default zonegroup

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: bucket ops, obj create and obj delete should check to see if bucket exists
Orit Wasserman [Wed, 4 Nov 2015 10:50:18 +0000 (11:50 +0100)]
rgw: bucket ops, obj create and obj delete should check to see if bucket exists

rgw_build_policies set the bucket_exists flag

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: realm watcher locks mutex for SafeTimer::shutdown()
Casey Bodley [Tue, 3 Nov 2015 15:44:17 +0000 (10:44 -0500)]
rgw: realm watcher locks mutex for SafeTimer::shutdown()

this fixes an assert() on shutdown

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: fix bucket creation and deletion when there is no realm or period configured
Orit Wasserman [Tue, 3 Nov 2015 15:21:32 +0000 (16:21 +0100)]
rgw: fix bucket creation and deletion when there is no realm or period configured

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: use default zonegroup and zone in init_complete
Orit Wasserman [Tue, 3 Nov 2015 10:29:30 +0000 (11:29 +0100)]
rgw: use default zonegroup and zone in init_complete

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: allow creating a bucket without current period
Orit Wasserman [Tue, 3 Nov 2015 09:09:38 +0000 (10:09 +0100)]
rgw: allow creating a bucket without current period

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: fix data sync initialization
Yehuda Sadeh [Mon, 2 Nov 2015 18:43:24 +0000 (10:43 -0800)]
rgw: fix data sync initialization

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move data sync init into the processing thread
Yehuda Sadeh [Sat, 31 Oct 2015 00:34:06 +0000 (17:34 -0700)]
rgw: move data sync init into the processing thread

that way we don't depend on remote peer to be available

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: rework incremental md sync error handling
Yehuda Sadeh [Fri, 30 Oct 2015 23:59:44 +0000 (16:59 -0700)]
rgw: rework incremental md sync error handling

similar to what we do with the full md sync. Identify transient
errors, and if so return -EAGAIN so that caller would retry.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>