Commit Graph

18721 Commits

Author SHA1 Message Date
Joao Eduardo Luis
eebc9ec2dd test: test_workload_gen: Add callback for collection destruction.
When we remove a collection, we must cleanup after the coll_entry_t we
once had on the available collections set. For some reason, we weren't
doing this.

This commit adds a new callback, which inherits from the 'OnReadable'
callback on the WorkloadGenerator class, that will be responsible for
deleting the coll_entry_t once we know the collection transaction
destroying the collection has finished.
2012-03-30 15:32:12 +01:00
Joao Eduardo Luis
c39ed56861 test: test_workload_gen: Fixing a memleak.
Apparently, the FileStore does not cleanup after transactions once they
are applied, which may lead to huge memory leaks.

In this commit we simply 'delete m_tx' in the transaction's callback
class.
2012-03-29 15:34:01 +01:00
Joao Eduardo Luis
4f0d170a25 test: test_workload_gen: Change CLI option and add '--help' usage.
With this commit, we support the following options (and old ones are no
longer available):

--test-num-colls VAL                Set the number of collections
--test-num-objs-per-coll VAL        Set the number of objects per
                                    collection
--test-destroy-coll-per-N-trans VAL Set how many transactions to run
                                    before destroying a collection.

And --help will show the program's usage description.
2012-03-28 17:02:15 +01:00
Joao Eduardo Luis
a3bdf05513 test: test_workload_gen: Default arguments, and minor changes.
Besides adding support for default arguments, passed onto global_init(),
this commit fixes a conflict in Makefile.am, and a missing lib
dependency. Also, we didn't used to pay attention to the return values
from store->mkfs() and store->mount(), and now do.
2012-03-28 14:59:32 +01:00
Joao Eduardo Luis
d172b40cfd test: test_workload_gen: Destroy collections. 2012-03-28 01:22:11 +01:00
Joao Eduardo Luis
8948ad018b test: test_workload_gen: CodeStyle compliance and cleanup.
This commit aims at the compliance with Ceph's CodeStyle, as well
as cleaning up some lingering unused code.

Also, now we allow changing the default OSD data and journal
locations, as well as the OSD journal size, by providing the
options '--osd-data <PATH>', '--osd-journal <PATH>' and
'--osd-journal-size <VAL>' on the CLI arguments. If not provided,
these will default to 'workload_gen_dir', 'workload_gen_journal'
and '400', respectively.
2012-03-28 01:22:11 +01:00
Joao Eduardo Luis
3770096a0a test: test_workload_gen: Mimic an OSD's workload.
In it's current state, the workload generator will queue a lot of
transactions onto the FileStore, and will wait if needed in case
there are too many in-flight transactions.

The workload generator will perform the transactions over a
pre-determined number of collections and objects, which may very
well be defined at runtime by using the options '-C <VAL>' and
'-O <VAL>' for collections and objects per collection, respectively.
If these are not provided, the program will default to 30 collections
and 6000 objects per collection.
2012-03-28 01:22:01 +01:00
Yehuda Sadeh
d536096861 throttle: fix off by one issue
We were blocking only if we exceeded max count, not if
we reached it.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-27 16:27:26 -07:00
Yehuda Sadeh
a52d048ac4 rgw: throttle incoming requests
Don't accept more than the number of threads, otherwise if cluster is
backed up for any reason we'd end up exhausting resources.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-27 16:23:53 -07:00
Yehuda Sadeh
93ba4c004a Merge branch 'wip-intent-fixes' 2012-03-27 15:35:45 -07:00
Yehuda Sadeh
ca4fab4789 Merge branch 'master' of ssh://github.com/ceph/ceph 2012-03-27 15:35:38 -07:00
Yehuda Sadeh
16b60b3eae rgw: minor style fixes
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-27 15:35:03 -07:00
Yehuda Sadeh
5dbb9715ef rgw: all intent log operations are now async
That includes removing a directory index object, and the removal of
the actual intent log object.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-27 14:37:51 -07:00
Sage Weil
0b1e3ed465 osd: increase default heartbeat_interval to 6 seconds
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2012-03-27 14:20:08 -07:00
Yehuda Sadeh
69844496ca rgw: remove pool_list(), can't list_objects() on system buckets
pool_list() was broken, replaced now with pool_iterate(). list_objects()
shouldn't be used any more with system buckets (raw pools), we can't
have it return sorted list of objects without reading the entire list.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-27 14:12:55 -07:00
Yehuda Sadeh
2e9079cfda rgw: intent log processing uses new pool_iterate()
intead of pool_list(), which is broken (assuming pgls results are
sorted, which are not).

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-27 14:04:30 -07:00
Greg Farnum
1814aac175 Merge branch 'misc-fixes-for-review' 2012-03-27 13:57:54 -07:00
Greg Farnum
2acf4aeaa6 mon: Paxos needs to store the latest version permanently on-disk.
Previously it was only storing this m->latest_value in the stash,
which of course got overwritten. And then when somebody tried to read
it back, it failed!
Instead, require that the message include the regular version (not
just the stashed version), which the previous commit provides. And then
write the regular version to disk alongside the stash.

This set of procedures still suffers from some of the same disk consistency
issues as we recently fixed in slurping, but it's better than it was, and
fixing those would require a good deal more work.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2012-03-27 13:57:49 -07:00
Greg Farnum
c3b0464454 paxos: share_state sends every unknown value, including the stashed one
Sage points out that the stashed object might not be the same as the
one we actually archive. For instance, OSDMonitor stashes the full
OSDMap but the items it stores in the regular machine_name dir are
incrementals.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2012-03-27 13:57:49 -07:00
Greg Farnum
d5c4015d25 uclient: We want to release cache when we lose the CACHE cap, not gain it!
Looks like this was detected as a problem back in
84644dc561 but the fix wasn't completed.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2012-03-27 13:57:49 -07:00
Greg Farnum
d0ba27ae50 doc: add a short thing on kernel client troubleshooting.
I just noticed this sitting uncommitted in my tree.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2012-03-27 13:57:45 -07:00
Yehuda Sadeh
974a201313 objecter: don't call op_throttle_ops.take(1) unconditionally
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-26 16:48:25 -07:00
Yehuda Sadeh
679cd1fedc objecter: add in-flight ops throttling
In addition to ops length, we also want to throttle it by
actual number of ops.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-26 16:17:51 -07:00
Sage Weil
c3dc6a6ebf msg: assert pipe->msgr == msgr
Fixes: #2216
Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-26 12:40:18 -07:00
Sage Weil
483fcf8018 doc: include crush in toctree
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2012-03-26 11:43:17 -07:00
Sage Weil
3bd1f18e59 doc: few notes on manipulating the crush map
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2012-03-26 11:30:20 -07:00
Sage Weil
6db7715897 doc/dev/peering.rst: fix typo
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2012-03-26 10:15:07 -07:00
Sage Weil
e478a75862 vstart: enable omap for xattrs
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2012-03-25 20:28:14 -07:00
Sage Weil
f4b2097a59 Merge remote branch 'gh/wip-doc-peering' 2012-03-25 08:05:08 -07:00
Sage Weil
b5641ef3e3 rgw: don't #include fcgi from rgw_common.h
ceph-dencoder #includes rgw_common.h, and needs to build even when
--without-radosgw is specified and libfcgi isn't installed.

Reported-by: vandemar in #ceph
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2012-03-24 21:20:27 -07:00
Samuel Just
2ec8f27f58 rados_bench: generate_object_name now takes a buffer length
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Reviewed-by: Josh Durgin <josh.durgin@dreamhost.com>
2012-03-23 13:27:39 -07:00
Sage Weil
21a170e8f3 doc: dev/peering.rst edits from Greg
Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-22 14:41:30 -07:00
Sage Weil
8fa904a6ea doc: update dev/peering document
- fix discussion of last epoch started
- define terms for current and past intervals
- describe role of pg info
- remove mention of the backlog
- fix discussion of up_thru
- etc.

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-22 08:33:09 -07:00
Sage Weil
de86763213 msgr: fix tcp.cc linkage
Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-22 07:55:26 -07:00
Sage Weil
fd9935b730 cephtool: don't prefix log items
This just makes it hard to read them.

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-22 07:53:48 -07:00
Sage Weil
d0e8f148a6 doc: update list of debian dists
Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-21 06:30:43 -07:00
Sage Weil
a608a8fef6 Merge branch 'stable' 2012-03-21 06:28:15 -07:00
Samuel Just
7236178452 Objecter: resend linger_ops on any change
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Reviewed-by: Josh Durgin <josh.durgin@dreamhost.com>
2012-03-20 17:51:28 -07:00
Samuel Just
3019d4604d TestRados: Add watch
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Reviewed-by: Josh Durgin <josh.durgin@dreamhost.com>
2012-03-20 17:51:17 -07:00
Yehuda Sadeh
4760536fe5 rgw: keep pool placement info also in cacheable location
Mirror the pools placement info, so that we can cache it.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 17:20:03 -07:00
Yehuda Sadeh
2998368a7e rgw: remove unused definition
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 17:20:03 -07:00
Samuel Just
f1563a6657 Revert "Objecter: add op->resend_on_any_change"
This reverts commit c53194d753.

recalc_linger_op_target is used for linger_ops

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-20 17:00:43 -07:00
Samuel Just
fc7a1bda1f ReplicatedPG: return -EBUSY on delete for objects with watchers
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-20 16:11:08 -07:00
Samuel Just
c53194d753 Objecter: add op->resend_on_any_change
lingers must be resent even if the primary does not change.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-20 16:11:08 -07:00
Samuel Just
2daff0e9d2 ReplicatedPG: osd_max_notify_timeout -> osd_default_notify_timeout
This setting should not override user specified timeout.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-20 16:11:08 -07:00
Yehuda Sadeh
6a5cbec38b rgw: replace bucket_id generation
bucket_id is now string: <global instance id>.<num> where
num is increasing monotonically within the current rgw
instance.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 15:15:09 -07:00
Sage Weil
cdd5298d27 v0.44 2012-03-20 11:41:08 -07:00
Yehuda Sadeh
e42fbb70be rgw: process default alt args before processing conf file
this fixes #2189

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 10:59:52 -07:00
Yehuda Sadeh
e0b8f7a033 rgw: process default alt args before processing conf file
this fixes #2189

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 10:52:14 -07:00
Yehuda Sadeh
51a0733962 rgw: incrase socket backlog
20 is too small

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 10:37:35 -07:00