Commit Graph

21295 Commits

Author SHA1 Message Date
Sage Weil
e9f051ef3c osdmap: include osd_xinfo_t to track laggy probabilities, timestamps
Track information about laggy probabilities for each OSD.  That is, the
probability that if it is marked down it is because it is laggy, and
the expected interval over which it will take to recovery if it is laggy.

We store this in the OSDMap because it is not convenient to keep it
elsewhere in the monitor.  Yet.  When the new mon infrastructure is in
place, there is a bunch of stuff that can be moved out of the OSDMap
'extended' section into other mon data structures.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-18 14:38:59 -07:00
Sage Weil
b64641c3dd osd: include boot_epoch in MOSDBoot
This will let the monitor infer whether we were wrongly marked down or
the daemon restarted.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-18 14:38:59 -07:00
Sage Weil
4f1792d769 osd: include failed_for in MOSDFailure reports
The monitor will need this to dynamically adjust the heartbeat grace.

Closes: #3044
Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-18 14:38:59 -07:00
Samuel Just
6f5c4a913d PG: need pg lock to read osdmap_ref
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-09-18 14:30:22 -07:00
Samuel Just
59f85874b9 OSD: in enqueue_op, cannot read *pg since we don't hold the pg lock
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-09-18 14:27:13 -07:00
Samuel Just
78a322b224 OSD: remove some commented out pg->unlock calls
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-09-18 14:26:37 -07:00
John Wilkins
f418172e80 Merge branch 'master' of https://github.com/ceph/ceph 2012-09-18 14:17:19 -07:00
John Wilkins
ed18eea47d :doc: Changed rados.gateway to radosgw.gateway. Start with /etc/init.d.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 14:16:44 -07:00
Sage Weil
900e4ceb83 workqueue: allow thread pool size to be adjusted dynamically
Allow thread pool sizes to be adjusted on the fly by telling the
ThreadPool which config option to monitor.  Add some basic unit tests
for resizing.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2012-09-18 14:16:22 -07:00
John Wilkins
5e095ec889 :doc: Trimmed up the stack diagram and fixed a few hyperlink refs.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 13:55:18 -07:00
John Wilkins
53508306b3 :doc: Modified hostname to hostname -s.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 13:44:16 -07:00
John Wilkins
7c178be1a6 :doc: Modified hostname to hostname -s.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 13:43:47 -07:00
John Wilkins
5936ded85a :doc: Modified hostname to hostname -s.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 13:43:25 -07:00
Yehuda Sadeh
9b628efee1 Merge branch 'wip-3127'
Conflicts:
	src/rgw/rgw_rados.cc

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 13:24:52 -07:00
Yehuda Sadeh
fa93ea117e rgw: fix unused warning message
Remove unused variable.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 13:20:06 -07:00
Yehuda Sadeh
496c5d458e rgw: fix uninitialized var in error message
Used the wrong variable in error message.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 13:13:48 -07:00
Yehuda Sadeh
6bc1ef0aa2 rgw, cls_rgw: a tool to rebuild bucket stats
radosgw-admin bucket check [--fix] --bucket=<bucket>

The command will dump the existing bucket header stats,
and the calculated bucket header stats. If --fix is provided
the bucket stats will be overwritten by the recalculated
stats.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 13:08:56 -07:00
John Wilkins
11b80ae78b :doc: Changed title to RBD from RADOS. Clearer.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 13:02:17 -07:00
John Wilkins
9829039eb9 :doc: Made notice to stop i/o a warning. Initial format clean up.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 13:01:50 -07:00
John Wilkins
84c50dd8de :doc: Added discussion and stack diagram. Initial format cleanup.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 13:00:58 -07:00
John Wilkins
171fcd8133 :doc: Remove legacy usage. Initial format cleanup.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 13:00:07 -07:00
Yehuda Sadeh
08e9fc02fe rgw: obj_stat() returns object version (epoch), use it
We now pass the object version returned by obj_stat. We use that
epoch for setting the object version through the index suggestion
mechanism. This was broken by a recent change that switched from
reading the obj stats by (wrongly) calling directly to ioctx->stat()
to calling get_obj_state().

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:57:05 -07:00
Yehuda Sadeh
15e97d7307 cls_rgw: complete_op() only skip update if epoch is non zero
An update shouldn't be skipped if epoch is zero. We'd see a zero
epoch if we tried to read an object and it didn't exist. That
could happen e.g., when a delete object operation failed to
call the complete earlier, and now we're recalling delete on
the (now non-existent object).
However, note that the zero epoch is racy. We may end up racing
with an object creation. This will be taken care of by a new
rados change that will set the returned object version even if
it didn't exist.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:57:05 -07:00
Yehuda Sadeh
316722848c cls_rgw: update index stats based on correct category
only refer to the on-disk category if the object existed.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:57:05 -07:00
Yehuda Sadeh
0f82a3931a rgw: fix suggested object size
We can't just stat the head object, we need to go through
get_obj_state() to get obj attributes.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:57:05 -07:00
Yehuda Sadeh
6a054ea9d8 rgw: set exists flag when suggesting existing bucket entry
We weren't setting the 'exists' flag on the bucket entry,
so we ended up not updating the index correctly.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:57:05 -07:00
Yehuda Sadeh
b12c1477a3 cls_rgw: change scoping of suggested changes vars
Fixes: #3127
Bad variable scoping made it so that specific variables
weren't initialized between suggested changes iterations.
This specifically affected a case where in a specific
change we had an updated followed by a remove, and the
remove was on a non-existent key (e.g., was already
removed earlier). We ended up re-substracting the
object stats, as the entry wasn't reset between
the iterations (and we didn't read it because the
key didn't exist).

backport:argonaut
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:57:05 -07:00
Yehuda Sadeh
c11e05f532 test/rgw: add a test for index suggest
test the bucket index suggest api

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:57:02 -07:00
John Wilkins
5b7e60d0d8 Merge branch 'master' of https://github.com/ceph/ceph 2012-09-18 12:55:35 -07:00
Yehuda Sadeh
12175386d9 cls_rgw: configurable tag timeout
we'll be using that for bucket index unitest

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:55:33 -07:00
Yehuda Sadeh
64b9a898b6 test/rgw: add bucket index unitest
Tests objects creation, removal, prepare, complete

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:50:07 -07:00
Gary Lowell
519ed2471c cpeh.spec.in: Don't package boto_tool. 2012-09-18 12:43:36 -07:00
Yehuda Sadeh
6ff23bb9e3 cls_rgw: client api for bucket index init
create a client api function for bucket index init.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:27:49 -07:00
Yehuda Sadeh
b03adda4d9 cls_rgw: add client api calls for index suggest
This is needed for unitest creation.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 12:27:43 -07:00
Sage Weil
1bf345ecd0 doc/config-cluster/*: update recently added/changed config options
Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-18 12:20:37 -07:00
John Wilkins
91f3893f0b :doc: Title change for clarity. Initial formatting cleanup.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 11:41:32 -07:00
John Wilkins
93323134c7 Merge branch 'master' of https://github.com/ceph/ceph 2012-09-18 11:23:55 -07:00
John Wilkins
88dd90e15e :doc: Removed old rec section.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 11:23:22 -07:00
Yehuda Sadeh
2f73c07511 docs: add radosgw internals and usage testing section
Document the current tests that are being done on the
radosgw usage feature.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-18 11:17:22 -07:00
John Wilkins
3369ea3a1f :doc: Notes to add data directory. Notes to address key with escape char.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 11:15:37 -07:00
John Wilkins
0398b9f709 :doc: Added note to clarify use of host=shortname.
Fixes: #3155


Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 11:14:54 -07:00
John Wilkins
3d86194f9e :doc: Rewrote architecture paper. Still needs some work.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 11:08:23 -07:00
John Wilkins
fafb195169 :doc: Removing old control.rst. New one is in ceph/docs/cluster-ops.rst
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 11:05:30 -07:00
John Wilkins
f60ea3836b :doc: Removing old init section.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-18 11:02:41 -07:00
Josh Durgin
4f3642c5f4 rbd: only open the destination pool for import
Otherwise importing into another pool when the default pool, rbd,
doesn't exist results in an error trying to open the rbd pool.

Reported-by: Sébastien Han <han.sebastien@gmail.com>
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-18 10:10:50 -07:00
Gary Lowell
46883a5a0f ceph.spec.in: Add new rados libraries, libcls_kvs.so and libcls_refcount.so. 2012-09-17 22:21:15 -07:00
Sage Weil
cb49823569 osd: default journal size to 1 GB
The default is used to create or extend the journal when it is a file.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-17 18:23:39 -07:00
Sage Weil
6b0c9ffc8b filejournal: do not enforce that bdev size >= osd journal size
If the configure osd journal size is > the block device size, warn, but
do not generate an error and abort startup.  This makes it safe to have
a default 'osd journal size' value of, say, 1 GB without fear of breaking
existing clusters with smaller jouranl block devices.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Tommi Virtanen <tv@inktank.com>
2012-09-17 18:23:39 -07:00
Sage Weil
de930440e7 remove obsync
This now lives at http://github.com/ceph/obsync

Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-17 18:23:39 -07:00
John Wilkins
f1819f05dc :doc: Changed from bullet list to section titles.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-17 16:25:54 -07:00