Commit Graph

23428 Commits

Author SHA1 Message Date
John Wilkins
6b272e0ff4 Merge branch 'master' of https://github.com/ceph/ceph 2013-01-24 12:47:58 -08:00
John Wilkins
42d92b73d5 doc: Added example of ext4 user_xattr mount option.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-24 12:46:49 -08:00
caleb miles
b3a2e7e955 rgw_rest: Make fallback uri configurable.
Some HTTP servers, notabily lighttp, do not set SCRIPT_URI, make the fallback
string configurable.

Signed-off-by: caleb miles <caleb.miles@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-01-24 15:30:58 -05:00
Sage Weil
00cfe1d3af common/HeartbeatMap: fix uninitialized variable
Introduced by me in 132045ce08.  Thank you,
valgrind!

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-24 10:52:46 -08:00
Sage Weil
b9f58baaa6 libcephfs-java test: jar files are in /usr/local/share/java, it seems
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-24 10:41:34 -08:00
Danny Al-Gaaf
f9f31aae68 wireshark: fix indention
Fix indention.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-24 10:35:58 -08:00
Danny Al-Gaaf
3e9cc0d40d wireshark: fix guint64 print format handling
Use G_GUINT64_FORMAT to handle print format of guint64 correctly.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-24 10:35:57 -08:00
Sage Weil
67c77577bd PendingReleaseNotes: pool removal cli changes
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-23 18:50:57 -08:00
Sage Weil
87fe35f622 Merge remote-tracking branch 'gh/wip-rm-pool'
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-23 18:49:05 -08:00
Sage Weil
64b9dd088d Merge remote-tracking branch 'gh/wip-3832-oc-flushrange'
Reviewed-by: Sage Weil <sage@inktank.com>
2013-01-23 18:47:25 -08:00
Sage Weil
62579eefba Merge branch 'wip-osd-hb'
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-23 18:40:49 -08:00
Samuel Just
d6db239ce5 Merge remote-tracking branch 'upstream/wip_push_after_complete'
Reviewed-by: Sage Weil <sage@inktank.com>
2013-01-23 16:55:33 -08:00
Samuel Just
8a97eef1f7 ReplicatedPG: handle omap > max_recovery_chunk
span_of fails if len == 0.

Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-01-23 12:49:04 -08:00
Samuel Just
c3dec3e30a ReplicatedPG: correctly handle omap key larger than max chunk
Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-01-23 12:35:16 -08:00
Samuel Just
09c71f2f5e ReplicatedPG: start scanning omap at omap_recovered_to
Previously, we started scanning omap after omap_recovered_to.
This is a problem since the break in the loop implies that
omap_recovered_to is the first key not recovered.

Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-01-23 12:15:10 -08:00
Samuel Just
62a4b96831 ReplicatedPG: don't finish_recovery_op until the transaction completes
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-01-23 11:50:24 -08:00
Samuel Just
20278c4f77 ReplicatedPG: ack push only after transaction has completed
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-01-23 11:50:24 -08:00
Samuel Just
4d6ba06309 ObjectStore: add queue_transactions with oncomplete
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-01-23 11:50:21 -08:00
Sage Weil
c061e841a5 rados: safety interlock on 'rmpool' command
This is a very easy way for a user to do a lot of damage with no way back.
Make sure they mean it.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-23 08:49:06 -08:00
Sage Weil
c993ac9b1f mon: implement safety interlock for deleting pools
This is a very easy way for users to accidentally to a *lot* of damage.
Make it an annoying manual process to actually do this.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-23 08:40:13 -08:00
Sage Weil
132045ce08 common/HeartbeatMap: inject unhealthy heartbeat for N seconds
This lets us test code that is triggered by an unhealthy heartbeat in a
generic way.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 21:20:55 -08:00
Sage Weil
657df852e9 os/FileStore: add stall injection into filestore op queue
Allow admin to artificially induce a stall in the op queue.  Forces the
thread(s) to sleep for N seconds.  We pause for 1 second increments and
recheck the value so that a previously stalled thread can be unwedged by
reinjecting a lower value (or 0).  To stall indefinitely, just injust
very large number.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 21:20:55 -08:00
Sage Weil
a4e78652cd osd: do not join cluster if not healthy
If our internal heartbeats are failing, do not send a boot message and try
to join the cluster.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 18:03:10 -08:00
Sage Weil
c406476c03 osd: hold lock while calling start_boot on startup
This probably doesn't strictly matter because start_boot doesn't need the
lock (currently) and few other threads should be running, but it is
better to be consistent.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 18:01:07 -08:00
Sage Weil
ad6b231127 osd: do not reply to ping if internal heartbeat is not healthy
If we find that our internal threads are stalled, do not reply to ping
requests.  If we do this long enough, peers will mark us down.  If we are
only transiently unhealthy, we will reply to the next ping and they will
be satisfied.  If we are unhealthy and marked down, and eventually recover,
we will mark ourselves back up.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 17:56:32 -08:00
Sage Weil
61eafffc32 osd: reduce op thread heartbeat default 30 -> 15 seconds
If the thread stalls for 15 seconds, let our internal heartbeat fail.
This will let us internally respond more quickly to a stalled or failing
disk.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 17:53:40 -08:00
Yehuda Sadeh
371e6fbed6 Merge pull request #35 from cholcombe973/master
Making the usage details a little better.
2013-01-22 16:54:39 -08:00
Sage Weil
8eee815fb2 Merge remote-tracking branch 'gh/wip-3833-b'
Conflicts:
	src/osd/OSD.cc
	src/osd/OSD.h

Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-22 16:13:14 -08:00
cholcombe973
9388f941e4 Update src/rgw/rgw_admin.cc
Improved the usage message.
2013-01-22 19:07:27 -05:00
David Zafman
eaf20fa94b Merge branch 'wip-3651' 2013-01-22 15:58:44 -08:00
David Zafman
db48caf693 osd: debug support for omap deep-scrub
Deep-scrub test support through admin socket

Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-22 15:57:01 -08:00
David Zafman
509a93e89f osd: Add digest of omap for deep-scrub
Add ScrubMap encode/decode v4 message with omap digest
Compute digest of header and key/value.  Use bufferlist
to reflect structure and compute as we go, clearing
bufferlist to reduce memory usage.

Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-22 15:57:01 -08:00
David Zafman
cfb1aa809d osd: Add missing unregister_command() in OSD::shutdown()
Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-22 15:57:00 -08:00
Sage Weil
c3266ad109 config: helper to identify internal fields we should be quiet about
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 15:10:22 -08:00
Sage Weil
0ee5ec7eae common/Throttle: fix modeline, whitespace
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 15:10:22 -08:00
John Wilkins
451cc00ab2 doc: Modified usage for upgrade.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-22 14:55:19 -08:00
Sage Weil
73a969366c osd: improve sub_op flag points
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:43 -08:00
Sage Weil
23c02bce90 osd: refactor ReplicatedPG::do_sub_op
PULL is the only case where we don't wait for active.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:42 -08:00
Sage Weil
a1137eb3e1 osd: make last state for slow requests more informative
Report on the last event string, and pass in important context for the
op event list, including:

 - which peers were sent sub ops and we are waiting for
 - which pg queue we are delayed by

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:42 -08:00
Sage Weil
24d0d7eb01 osd: dump op priority queue state via admin socket
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:42 -08:00
Sage Weil
33efe32151 osd: simplify asok to single callback
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:42 -08:00
Sage Weil
514af15e95 common/PrioritizedQueue: dump state to Formatter
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:41 -08:00
Sage Weil
6e3363b20e common/PrioritizedQueue: add min cost, max tokens per bucket
Two problems.

First, we need to cap the tokens per bucket.  Otherwise, a stream of
items at one priority over time will indefinitely inflate the tokens
available at another priority.  The cap should represent how "bursty"
we allow a given bucket to be.  Start with 4MB for now.

Second, set a floor on the item cost.  Otherwise, we can have an
infinite queue of 0 cost items that start over queues.  More
realistically, we need to balance the overhead of processing small items
with the cost of large items.  I.e., a 4 KB item is not 1/1000th as
expensive as a 4MB item.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:41 -08:00
Sage Weil
c549a0cf6f common/PrioritizedQueue: buckets -> tokens
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:41 -08:00
Sage Weil
128fcfcac7 note puller's max chunk in pull requests
this lets us calculate a cost value
2013-01-22 14:47:40 -08:00
Sage Weil
b685f727d4 osd: add OpRequest flag point when commit is sent
With writeahead journaling in particular, we can get requests that
stay in the queue for a long time even after the commit is sent to the
client while we are waiting for the transaction to apply to the fs.
Instead of showing up as 'waiting for subops', make it clear that the
client has gotten its reply and it is local state that is slow.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:40 -08:00
Sage Weil
a1bf8220e5 osd: set PULL subop cost to size of requested data
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:40 -08:00
Sage Weil
e8e0da1a57 osd: use Message::get_cost() function for queueing
The data payload is a decent proxy for cost in most cases, but not all.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:40 -08:00
Sage Weil
bec96a234c osd: debug msg prio, cost, latency
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:40 -08:00
Sage Weil
40654d6d53 filestore: filestore_queue_max_ops 500 -> 50
Having a deep queue limits the effectiveness of the priority queues
above by adding additional latency.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-22 14:47:39 -08:00