Commit Graph

52 Commits

Author SHA1 Message Date
Yehuda Sadeh
2779325596 rgw: fix rgw_tools get_obj()
The original implementation broke whenever data exceeded
the chunk size. Also don't keep cache for objects that
exceed the chunk size as cache is not designed for
it. Increased chunk size to 512k.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-12-05 14:33:34 -08:00
Yehuda Sadeh
9e8c86173a rgw: unaccount multipart parts when completing upload
We need to do it atomically, so info about parts is sent to
the bucket index objclass.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-11-27 11:50:38 -08:00
Yehuda Sadeh
5d27f3da65 rgw: compile with -Woverloaded-virtual
This will trigger a warning if RGWRados api changes while
RGWCache doesn't.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-11-13 13:06:22 -08:00
Yehuda Sadeh
e0e33d2c99 rgw: fix RGWCache api
RGWCache api diverted form RGWRados, crippling the cache.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-11-13 12:39:15 -08:00
caleb miles
07e7bc3b3d rgw_cache: change call signature to overwrite rgw_rados put_obj_meta()
Signed-off-by: caleb miles <caleb.miles@inktank.com>
2012-10-26 17:04:54 -07:00
Yehuda Sadeh
4251d783db rgw: update cache interface
RGWRados::delete_obj() was updated in commit
93218aeab7, but we
failed to update the corresponding RGWCache api.
This commit fixes it.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-15 15:21:56 -07:00
Yehuda Sadeh
ed8922dfe7 rgw: RGWRados holds domain root info
Continuing cleanup work.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-08-29 14:22:45 -07:00
Yehuda Sadeh
721a6bef9e rgw: implement garbage collector
Add a garbage collector thread that is responsible for clean
up of clutter. When removing an object, store info about the
leftovers in a special gc map (via rgw objclass). A new
radosgw-admin commands to list objects in gc, and to run the
gc process manually. Also, gc processors can run in parallel,
however, each will handle a single gc shard (synchronized
using lock objclass).

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-08-27 12:41:19 -07:00
Yehuda Sadeh
b28db08ea8 rgw: use multiple notification objects
Issue #2504. This makes us listen and notify on more than
a single object, which reduces the contention of cache
notifications.

NOTE: This change requires that any radosgw and radosgw-admin
use the same 'rgw num control oids' config value. A config value
of 0 will maintain old compatibility, and will allow an upgraded
process run in conjuction with an old one. Setting value other
than 0 (or using the non-zero default) will require upgrading
and restarting all the gateways together. Failing to do so
might lead to inconsistent user and buckets metadata (which
will be resolved once gateways are restarted).

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-08-09 13:33:37 -07:00
Sage Weil
0f6d90c760 make everyone use our assert #include and macro
...as detected by the previous patch.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-06-06 16:57:31 -07:00
Yehuda Sadeh
3228643f1e rgw: update cache interface for put_obj_meta
This fixes issue #2381.
The method interface was different than the one needed in order
to override the one in RGWRados.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2012-05-03 12:52:31 -07:00
Yehuda Sadeh
b41f4d14aa rgw: normalize bucket/obj before updating cache
Fixes bug #2369. The problem was that sometimes we send the
notification with the un-normalized bucket/obj pair. We
should make sure that we use the caonical name before doing
any cache update.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-05-01 16:47:32 -07:00
Sage Weil
f41887e38d log: new logging infrastructure
- explicitly defined subsystems, and ceph_subsys_FOO enums to go with them
- modular log system with Entry object
- separate gather level and log level
- drop lots of DoutStreambuf hackery

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-27 10:41:12 -07:00
Yehuda Sadeh
5b3319870e rgw: fix internal cache api
This fixes issue #2190

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 10:25:59 -07:00
Yehuda Sadeh
826d30f1c4 rgw: remove extra layer of RGWAccess
Not needed, now that we got rid of RGWFS

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-14 17:16:05 -07:00
Yehuda Sadeh
b909761924 rgw: get rid of references to g_ceph_context where required
trickling down ceph context.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-13 14:59:00 -07:00
Yehuda Sadeh
09949b3d36 rgw: various encoding related fixes
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-09 14:01:25 -08:00
Yehuda Sadeh
2277fb4536 rgw: add stubs for dencoder test
still need to add some content to the dump methods

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-08 16:58:00 -08:00
Yehuda Sadeh
ffcf62f670 rgw: switch to new encoders/decoders
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-07 16:29:11 -08:00
Yehuda Sadeh
2824c07f8d rgw: can use swift to set bucket permissions
Currently only setting, not reading. Also, at the moment it's
setting the wrong permissions.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-02-23 13:56:22 -08:00
Yehuda Sadeh
469f3eb472 rgw: create plain processor for small objects 2012-01-06 16:53:28 -08:00
Yehuda Sadeh
a0b5539768 rgw: different atomic handling for small objects 2012-01-06 16:53:02 -08:00
Yehuda Sadeh
949f24d560 rgw: create default constructors for some structs
this will silence valgrind a bit
2011-12-30 14:31:16 -08:00
Yehuda Sadeh
bb52b18725 rgw: fix cache interface (was not overloading method) 2011-12-28 16:33:14 -08:00
Yehuda Sadeh
a8450005c7 rgw: cleanup, remove unused user_id
Some access methods required user_id param, but that was never really used. At
this point we should just remove them.
2011-10-28 11:49:53 -07:00
Yehuda Sadeh
d9f73605b9 rgw: fix attr cache 2011-10-25 16:23:08 -07:00
Yehuda Sadeh
e98cbc4320 rgw: fix xattrs cache 2011-10-21 16:14:11 -07:00
Sage Weil
27cf8547af rgw: RGW_LOG -> dout
Signed-off-by: Sage Weil <sage@newdream.net>
2011-10-04 14:59:44 -07:00
Sage Weil
4be33097ef radosgw-admin: 'log list' and 'log rm'
The normal object listing API seemed like a real poor match here so I
hacked in something that just lists the raw rados objects.  It also looks
like that may need some fixing.

This patch at least establishes a usable interface that is purely
radosgw-admin based for listing, fetching, and removing logs, so users can
avoid looking at rados pools directly.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-29 11:23:02 -07:00
Yehuda Sadeh
b30e1577b5 rgw: catch buffer::error exceptions thrown at decode 2011-09-02 13:26:21 -07:00
Yehuda Sadeh
190b89364c Merge remote-tracking branch 'origin/master' into wip-decouple-bucket
Conflicts:
	src/rgw/rgw_rados.cc
2011-08-23 18:52:08 -07:00
Yehuda Sadeh
f3396bdc50 rgw: add missing cache locking
this was overlooked when switch to the multithreaded configuration
2011-08-19 12:56:38 -07:00
Yehuda Sadeh
ff9537e520 rgw: prepare for bucket/pool decoupling
still not working
2011-08-17 17:11:55 -07:00
Yehuda Sadeh
8d63e14077 rgw: introduce context to specific access calls 2011-08-04 15:58:33 -07:00
Yehuda Sadeh
4f08881d8e rgw: fix compilation for certain architectures 2011-07-15 10:58:33 -07:00
Yehuda Sadeh
ba31462a2c rgw: configurable way to enable/disable cache 2011-07-14 12:43:25 -07:00
Yehuda Sadeh
41451a02cd rgw: bucket deletion updates caches 2011-07-11 16:55:05 -07:00
Yehuda Sadeh
cc40f11568 rgw: fix lru 2011-07-11 14:26:16 -07:00
Yehuda Sadeh
059019c907 rgw: restructure runtime config env 2011-07-11 13:41:40 -07:00
Yehuda Sadeh
9bdde93479 rgw: cache lru 2011-07-08 17:17:32 -07:00
Yehuda Sadeh
a20d1101e6 rgw: cache cleanups 2011-07-07 15:04:26 -07:00
Yehuda Sadeh
8459f80bca rgw: remove temp objects asynchronously 2011-07-05 10:00:01 -07:00
Yehuda Sadeh
e6eef5e9be rgw: sync cache between rgw instances 2011-06-30 17:13:42 -07:00
Yehuda Sadeh
128bfcfdbf rgw: put_obj_data doesn't need mtime 2011-06-20 16:01:21 -07:00
Sage Weil
879adb6190 Merge remote branch 'origin/stable'
Conflicts:
	src/osdc/Journaler.cc
2011-04-18 09:58:15 -07:00
Sage Weil
31496495a6 rgw: fix decl vs goto error 2011-04-05 15:18:14 -07:00
Colin Patrick McCabe
0a63567ea2 rgw: Properly support truncating on S3 PUT
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-03-31 17:02:47 -07:00
Yehuda Sadeh
8f2392b88f Merge commit 'origin/master' into rgw
Conflicts:

	src/Makefile.am
	src/rados.cc
	src/rgw/rgw_admin.cc
	src/rgw/rgw_main.cc
	src/rgw/rgw_rest.cc
2011-03-16 10:45:43 -07:00
Yehuda Sadeh
5d7a12cf83 rgw: explicit case mtime to uint64 before encoding/decoding 2011-03-15 17:17:22 -07:00
Yehuda Sadeh
43f6a39c0d rgw: remove warnings 2011-03-04 14:11:21 -08:00