]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agorgw: fix busy wait in RGWHTTPManager
Yehuda Sadeh [Wed, 2 Sep 2015 21:50:31 +0000 (14:50 -0700)]
rgw: fix busy wait in RGWHTTPManager

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: sync local mdlog if needed
Yehuda Sadeh [Wed, 2 Sep 2015 20:09:44 +0000 (13:09 -0700)]
rgw: sync local mdlog if needed

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: wake up wait coroutine thread on destruction
Yehuda Sadeh [Wed, 2 Sep 2015 15:36:29 +0000 (08:36 -0700)]
rgw: wake up wait coroutine thread on destruction

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoAdd zone create admin command - wip
Orit Wasserman [Tue, 14 Jul 2015 13:22:14 +0000 (15:22 +0200)]
Add zone create admin command - wip

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: add id to RGWZone
Orit Wasserman [Thu, 3 Sep 2015 08:49:44 +0000 (10:49 +0200)]
rgw: add id to RGWZone

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: poll mdlog for incremental sync
Yehuda Sadeh [Wed, 2 Sep 2015 00:05:11 +0000 (17:05 -0700)]
rgw: poll mdlog for incremental sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: read mdlog entries for incremental sync
Yehuda Sadeh [Tue, 1 Sep 2015 23:18:32 +0000 (16:18 -0700)]
rgw: read mdlog entries for incremental sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: get remote mdlog status when initializing
Yehuda Sadeh [Tue, 1 Sep 2015 03:50:54 +0000 (20:50 -0700)]
rgw: get remote mdlog status when initializing

Use that as the lowerbound for the meta marker when we start
the incremental sync.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: hash full sync keys to shards
Yehuda Sadeh [Tue, 1 Sep 2015 02:22:53 +0000 (19:22 -0700)]
rgw: hash full sync keys to shards

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: switch to incremental sync when done full meta sync
Yehuda Sadeh [Sat, 29 Aug 2015 02:27:06 +0000 (19:27 -0700)]
rgw: switch to incremental sync when done full meta sync

each shard need to collect the coroutines it spawned before continuing.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: update global sync state after building meta indexes
Yehuda Sadeh [Fri, 28 Aug 2015 20:35:44 +0000 (13:35 -0700)]
rgw: update global sync state after building meta indexes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: update meta sync markers during full sync operation
Yehuda Sadeh [Fri, 28 Aug 2015 18:52:08 +0000 (11:52 -0700)]
rgw: update meta sync markers during full sync operation

update marker per shard, keep a window so that we don't update after each change

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add zonegroup name or id to zonegroup get and set commands
Orit Wasserman [Tue, 1 Sep 2015 12:30:38 +0000 (14:30 +0200)]
rgw: add zonegroup name or id to zonegroup get and set commands

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Add zonegroup create, delete and rename admin commands
Orit Wasserman [Tue, 1 Sep 2015 11:03:11 +0000 (13:03 +0200)]
rgw: Add zonegroup create, delete and rename admin commands

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: add period activate admin command and fix get current command
Orit Wasserman [Tue, 1 Sep 2015 10:38:39 +0000 (12:38 +0200)]
rgw: add period activate admin command and fix get current command

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: add current_period to RGWRealm
Orit Wasserman [Tue, 1 Sep 2015 09:55:27 +0000 (11:55 +0200)]
rgw: add current_period to RGWRealm

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: RGWZoneGroup should inheirt from RGWSystemMetaObj
Orit Wasserman [Wed, 26 Aug 2015 14:43:49 +0000 (16:43 +0200)]
rgw: RGWZoneGroup should inheirt from RGWSystemMetaObj

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Add old_format support to RGWSystemMetaObj
Orit Wasserman [Tue, 25 Aug 2015 13:05:13 +0000 (15:05 +0200)]
rgw: Add old_format support to RGWSystemMetaObj

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: add id to zonegroup
Orit Wasserman [Thu, 20 Aug 2015 10:07:20 +0000 (12:07 +0200)]
rgw: add id to zonegroup

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: remove region
Orit Wasserman [Thu, 20 Aug 2015 10:07:44 +0000 (12:07 +0200)]
rgw: remove region

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: change RGWZoneGroup::get_pool_name to return string
Orit Wasserman [Mon, 10 Aug 2015 16:19:02 +0000 (18:19 +0200)]
rgw: change RGWZoneGroup::get_pool_name to return string

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: convert old region configuration to zonegroups during init
Orit Wasserman [Fri, 7 Aug 2015 12:01:39 +0000 (14:01 +0200)]
rgw: convert old region configuration to zonegroups during init

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agofix ceph-dencoder link
Orit Wasserman [Thu, 27 Aug 2015 09:09:07 +0000 (11:09 +0200)]
fix ceph-dencoder link

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agocmake: add rgw_sync.cc and rgw_coroutine.cc
Orit Wasserman [Thu, 6 Aug 2015 15:40:03 +0000 (17:40 +0200)]
cmake: add rgw_sync.cc and rgw_coroutine.cc

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: fix async sleep and wakeup logic
Yehuda Sadeh [Sat, 15 Aug 2015 00:34:47 +0000 (17:34 -0700)]
rgw: fix async sleep and wakeup logic

lot's of cleanups and fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: full meta sync
Yehuda Sadeh [Tue, 25 Aug 2015 00:10:46 +0000 (17:10 -0700)]
rgw: full meta sync

need to handle errors, and update markers, but full meta sync is functional

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: naively fetch all meta objects
Yehuda Sadeh [Mon, 24 Aug 2015 21:49:28 +0000 (14:49 -0700)]
rgw: naively fetch all meta objects

doing it one by one, later will spawn these concurrently

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: read remote meta coroutine
Yehuda Sadeh [Wed, 19 Aug 2015 00:14:05 +0000 (17:14 -0700)]
rgw: read remote meta coroutine

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: read full sync indexes
Yehuda Sadeh [Tue, 18 Aug 2015 23:41:55 +0000 (16:41 -0700)]
rgw: read full sync indexes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: modify sync state, sync run uses state
Yehuda Sadeh [Tue, 18 Aug 2015 21:18:53 +0000 (14:18 -0700)]
rgw: modify sync state, sync run uses state

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: coroutie for omap_get_vals()
Yehuda Sadeh [Tue, 18 Aug 2015 20:43:39 +0000 (13:43 -0700)]
rgw: coroutie for omap_get_vals()

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: keep track of spawned coroutines under the current op
Yehuda Sadeh [Tue, 18 Aug 2015 18:57:27 +0000 (11:57 -0700)]
rgw: keep track of spawned coroutines under the current op

instead of keeping a per-stack list of spawned coroutines, keep it
on the op that spawned it. Otherwise, we might spawn a cr, call a second
one that will spawn some crs, and when waiting for these to complete
it will also wait on the first one.
The list of spawned coroutines is inherited. Once a coroutine finishes
its parent will take over all the spawned ones that weren't collected.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: replace omap_set coroutine code
Yehuda Sadeh [Tue, 18 Aug 2015 00:13:13 +0000 (17:13 -0700)]
rgw: replace omap_set coroutine code

No need to use the async rados worker.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix the simple coroutine
Yehuda Sadeh [Sat, 15 Aug 2015 01:45:23 +0000 (18:45 -0700)]
rgw: fix the simple coroutine

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix async sleep and wakeup logic
Yehuda Sadeh [Sat, 15 Aug 2015 00:34:47 +0000 (17:34 -0700)]
rgw: fix async sleep and wakeup logic

lot's of cleanups and fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: coroutines producer consumers
Yehuda Sadeh [Fri, 14 Aug 2015 19:33:11 +0000 (12:33 -0700)]
rgw: coroutines producer consumers

Create a new producer-consumer(s) abstraction for the coroutines
infrastructure.
Move environment info from the op into the stack. Stack can be
sent to sleep and awaken explicitly.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: build index of all master zone meta keys
Yehuda Sadeh [Fri, 14 Aug 2015 05:59:51 +0000 (22:59 -0700)]
rgw: build index of all master zone meta keys

still wip, but getting there

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: create a coroutine for fetching REST api objects
Yehuda Sadeh [Thu, 13 Aug 2015 01:28:31 +0000 (18:28 -0700)]
rgw: create a coroutine for fetching REST api objects

this simplifies the code that yanks all the metadata from the master

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fetch all metadata entries
Yehuda Sadeh [Thu, 13 Aug 2015 00:47:50 +0000 (17:47 -0700)]
rgw: fetch all metadata entries

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: meta sync cleanups
Yehuda Sadeh [Wed, 12 Aug 2015 22:41:16 +0000 (15:41 -0700)]
rgw: meta sync cleanups

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: remove calls for synchronous rados ops
Yehuda Sadeh [Wed, 12 Aug 2015 21:03:17 +0000 (14:03 -0700)]
rgw: remove calls for synchronous rados ops

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoradosgw-admin: dump shard status on mdlog sync status
Yehuda Sadeh [Wed, 12 Aug 2015 20:49:36 +0000 (13:49 -0700)]
radosgw-admin: dump shard status on mdlog sync status

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: initialize all shard markers
Yehuda Sadeh [Wed, 12 Aug 2015 18:55:31 +0000 (11:55 -0700)]
rgw: initialize all shard markers

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: return error if any spawned op errored
Yehuda Sadeh [Wed, 12 Aug 2015 18:40:40 +0000 (11:40 -0700)]
rgw: return error if any spawned op errored

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: iterate through all mdlog sync status shards
Yehuda Sadeh [Tue, 11 Aug 2015 22:20:02 +0000 (15:20 -0700)]
rgw: iterate through all mdlog sync status shards

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: remove unused code, cleanups
Yehuda Sadeh [Tue, 11 Aug 2015 21:43:02 +0000 (14:43 -0700)]
rgw: remove unused code, cleanups

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: adjust mdlog fetch to use new interfaces
Yehuda Sadeh [Tue, 11 Aug 2015 20:48:57 +0000 (13:48 -0700)]
rgw: adjust mdlog fetch to use new interfaces

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix init mdlog sync
Yehuda Sadeh [Tue, 11 Aug 2015 20:39:19 +0000 (13:39 -0700)]
rgw: fix init mdlog sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: mdlog sync init
Yehuda Sadeh [Tue, 11 Aug 2015 07:41:39 +0000 (00:41 -0700)]
rgw: mdlog sync init

initialize mdlog sync state, uses the implicit yield scheme (from boost)

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: use boost for stackless coroutine flow
Yehuda Sadeh [Tue, 11 Aug 2015 06:21:46 +0000 (23:21 -0700)]
rgw: use boost for stackless coroutine flow

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add cookie to lock coroutines
Yehuda Sadeh [Mon, 10 Aug 2015 20:57:05 +0000 (13:57 -0700)]
rgw: add cookie to lock coroutines

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: more lock/unlock coroutines work
Yehuda Sadeh [Mon, 10 Aug 2015 20:49:05 +0000 (13:49 -0700)]
rgw: more lock/unlock coroutines work

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: prepare rados lock operation to be used with coroutines
Yehuda Sadeh [Fri, 7 Aug 2015 23:51:13 +0000 (16:51 -0700)]
rgw: prepare rados lock operation to be used with coroutines

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: simple rgw metadata write coroutine
Yehuda Sadeh [Fri, 7 Aug 2015 22:02:13 +0000 (15:02 -0700)]
rgw: simple rgw metadata write coroutine

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move coroutines code
Yehuda Sadeh [Fri, 7 Aug 2015 21:17:33 +0000 (14:17 -0700)]
rgw: move coroutines code

move the generic code to rgw_coroutine.{h,cc}

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: return retcode of failing coroutine
Yehuda Sadeh [Thu, 6 Aug 2015 23:11:34 +0000 (16:11 -0700)]
rgw: return retcode of failing coroutine

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: rename async ops to coroutines
Yehuda Sadeh [Thu, 6 Aug 2015 22:37:46 +0000 (15:37 -0700)]
rgw: rename async ops to coroutines

which they basically are

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fail if master zone tries to use meta sync
Yehuda Sadeh [Thu, 6 Aug 2015 18:26:31 +0000 (11:26 -0700)]
rgw: fail if master zone tries to use meta sync

We'll change it later, but as it is now that's the way to handle it
gracefully.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: Fix init_complete
Orit Wasserman [Tue, 28 Jul 2015 11:36:44 +0000 (13:36 +0200)]
rgw: Fix init_complete

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: support old region configurations
Orit Wasserman [Mon, 13 Jul 2015 16:32:46 +0000 (18:32 +0200)]
rgw: support old region configurations

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Remove region admin commands
Orit Wasserman [Tue, 14 Jul 2015 11:53:08 +0000 (13:53 +0200)]
rgw: Remove region admin commands

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Add zone group admin commands
Orit Wasserman [Mon, 13 Jul 2015 13:07:25 +0000 (15:07 +0200)]
rgw: Add zone group admin commands

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: zonegroup json encoding/decoding with backward compatability
Orit Wasserman [Tue, 14 Jul 2015 08:53:43 +0000 (10:53 +0200)]
rgw: zonegroup json encoding/decoding with backward compatability

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Rename Region to ZoneGroup only internal structures and class
Orit Wasserman [Mon, 13 Jul 2015 12:56:53 +0000 (14:56 +0200)]
rgw: Rename Region to ZoneGroup only internal structures and class

User visuable are not changed: admin commands, jsons and rados objects names

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
Conflicts:
src/rgw/rgw_admin.cc
src/rgw/rgw_rados.cc

9 years agorgw: Add period admin commands and rest api to handle period
Orit Wasserman [Mon, 29 Jun 2015 14:48:34 +0000 (16:48 +0200)]
rgw: Add period admin commands and rest api to handle period

the new commands are prepare,delete, get, activate, pull and push

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
Conflicts:
src/rgw/rgw_admin.cc

9 years agorgw: Add RGWPeriod
Orit Wasserman [Thu, 25 Jun 2015 08:45:24 +0000 (10:45 +0200)]
rgw: Add RGWPeriod

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Add RGWRealm class and admin commands to handle it
Orit Wasserman [Thu, 18 Jun 2015 10:53:00 +0000 (12:53 +0200)]
rgw: Add RGWRealm class and admin commands to handle it

admin realm commands: create, get, delete, rename, set-default and get-default

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Use switch for raw storage opcodes
Orit Wasserman [Thu, 18 Jun 2015 10:56:37 +0000 (12:56 +0200)]
rgw: Use switch for raw storage opcodes

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: use string for default realm
Orit Wasserman [Fri, 3 Jul 2015 15:03:06 +0000 (17:03 +0200)]
rgw: use string for default realm

Conflicts:
src/rgw/rgw_rados.cc

9 years agorgw: Add RGWSystemMetaObj class
Orit Wasserman [Fri, 19 Jun 2015 13:21:55 +0000 (15:21 +0200)]
rgw: Add RGWSystemMetaObj class

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
Conflicts:
src/rgw/rgw_rados.cc

9 years agorgw: Add RGWNameToId and RGWDefaultSystemMetaObjInfo
Orit Wasserman [Fri, 12 Jun 2015 23:29:12 +0000 (01:29 +0200)]
rgw: Add RGWNameToId and RGWDefaultSystemMetaObjInfo

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: fix test_rgw_admin_log.cc
Orit Wasserman [Tue, 28 Jul 2015 16:42:33 +0000 (18:42 +0200)]
rgw: fix test_rgw_admin_log.cc

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agocmake: add rgw_sync.cc
Orit Wasserman [Tue, 28 Jul 2015 15:53:31 +0000 (17:53 +0200)]
cmake: add rgw_sync.cc

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: async ops can generate new stacks for parallel execution
Yehuda Sadeh [Thu, 6 Aug 2015 00:19:11 +0000 (17:19 -0700)]
rgw: async ops can generate new stacks for parallel execution

Can now have an op generating another op that will be called at
a different stack. The current op will halt execution until new
op finishes. We can call this multiple times so that multiple ops
will be executed concurrently. This can be useful in the case we
want to generate a single op that will read from multiple objects,
after it had read some meta information. So the root op will read
the meta information and will generate multiple request that will
execute concurrently (albeit on a single thread).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: a few bug fixes related to async operations
Yehuda Sadeh [Wed, 5 Aug 2015 23:22:49 +0000 (16:22 -0700)]
rgw: a few bug fixes related to async operations

fix uninitialized state, trim stacks, etc.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add a generic op to pull data off metadata obj
Yehuda Sadeh [Wed, 5 Aug 2015 21:58:17 +0000 (14:58 -0700)]
rgw: add a generic op to pull data off metadata obj

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add another state for simple async ops
Yehuda Sadeh [Wed, 5 Aug 2015 21:24:33 +0000 (14:24 -0700)]
rgw: add another state for simple async ops

so that these ops can chain other ops and handle their
response

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: more simplification
Yehuda Sadeh [Wed, 5 Aug 2015 21:07:08 +0000 (14:07 -0700)]
rgw: more simplification

create a helper method in the ops manager to run a single op, it
builds the needed env

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: more simplification, no need to take reference to op
Yehuda Sadeh [Wed, 5 Aug 2015 20:58:55 +0000 (13:58 -0700)]
rgw: more simplification, no need to take reference to op

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: some cleanup, keep async env structure
Yehuda Sadeh [Wed, 5 Aug 2015 20:51:56 +0000 (13:51 -0700)]
rgw: some cleanup, keep async env structure

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: create simple async op handler
Yehuda Sadeh [Wed, 5 Aug 2015 20:20:09 +0000 (13:20 -0700)]
rgw: create simple async op handler

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: async rados requests through a work queue
Yehuda Sadeh [Wed, 5 Aug 2015 00:23:10 +0000 (17:23 -0700)]
rgw: async rados requests through a work queue

Tie in the async rados requests to the async framework.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: retrieve a specific sync shard info
Yehuda Sadeh [Mon, 3 Aug 2015 23:01:22 +0000 (16:01 -0700)]
rgw: retrieve a specific sync shard info

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw-admin: command to show mdlog sync status
Yehuda Sadeh [Sat, 1 Aug 2015 00:09:30 +0000 (17:09 -0700)]
rgw-admin: command to show mdlog sync status

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: stackable ops infrastructure
Yehuda Sadeh [Fri, 31 Jul 2015 22:26:25 +0000 (15:26 -0700)]
rgw: stackable ops infrastructure

ops can now call other ops, so that we could simplify
the different states each ops need to keep.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: initial work on sync status marker
Yehuda Sadeh [Fri, 31 Jul 2015 20:20:50 +0000 (13:20 -0700)]
rgw: initial work on sync status marker

Also, rename radosgw-admin mdlog sync to radosgw-admin mdlog-fetch.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: read mdlog marker
Yehuda Sadeh [Fri, 24 Jul 2015 06:06:28 +0000 (23:06 -0700)]
rgw: read mdlog marker

Use our local marker as a starting point for fetching the mater mdlog.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: clean up mdlog clone states, other fixes
Yehuda Sadeh [Thu, 23 Jul 2015 21:31:21 +0000 (14:31 -0700)]
rgw: clean up mdlog clone states, other fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: don't reference msg after finish_request()
Yehuda Sadeh [Thu, 23 Jul 2015 21:16:37 +0000 (14:16 -0700)]
rgw: don't reference msg after finish_request()

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: hide the completion manager
Yehuda Sadeh [Wed, 22 Jul 2015 22:57:26 +0000 (15:57 -0700)]
rgw: hide the completion manager

some more layer separation

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: create some abstraction around async ops infrastructure
Yehuda Sadeh [Wed, 22 Jul 2015 22:37:30 +0000 (15:37 -0700)]
rgw: create some abstraction around async ops infrastructure

This will be reused later for other operations.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: mdlog sync error reporting on failed request
Yehuda Sadeh [Wed, 22 Jul 2015 18:35:15 +0000 (11:35 -0700)]
rgw: mdlog sync error reporting on failed request

Basic error reporting. We'll need to dump this to the backend and
add admin commands to read.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agosome error handling work, not ready yet
Yehuda Sadeh [Tue, 21 Jul 2015 03:17:36 +0000 (20:17 -0700)]
some error handling work, not ready yet

9 years agorgw: md log cloning completely async
Yehuda Sadeh [Fri, 17 Jul 2015 23:29:19 +0000 (16:29 -0700)]
rgw: md log cloning completely async

hook librados completions into the rgw completion notifier, split the
md log write into two different states.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: rework metadata log sync to use async capabilities
Yehuda Sadeh [Thu, 16 Jul 2015 23:44:39 +0000 (16:44 -0700)]
rgw: rework metadata log sync to use async capabilities

We now have a window of operations. The next step will be to
asynchronously write to the local mdlog, so that we don't
just hold the work on a synchronous request.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: can now wait on async rest requests
Yehuda Sadeh [Thu, 16 Jul 2015 23:43:25 +0000 (16:43 -0700)]
rgw: can now wait on async rest requests

In addition to waiting on a specific request, added a
completion manager that we can wait on so that we get
which request is ready.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add new class to create resource request
Yehuda Sadeh [Sat, 11 Jul 2015 00:10:25 +0000 (17:10 -0700)]
rgw: add new class to create resource request

RGWRESTReadResource holds the request input and output. Previously
we were using stack variables that couldn't be used in the async
path.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: more http aio stuff
Yehuda Sadeh [Thu, 9 Jul 2015 23:27:41 +0000 (16:27 -0700)]
rgw: more http aio stuff

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: threaded http manager groundwork
Yehuda Sadeh [Thu, 9 Jul 2015 21:33:26 +0000 (14:33 -0700)]
rgw: threaded http manager groundwork

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: more work on cleaning up http client interfaces
Yehuda Sadeh [Thu, 9 Jul 2015 20:05:00 +0000 (13:05 -0700)]
rgw: more work on cleaning up http client interfaces

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