Closed
Conversation
…t_max Backport: firefly Signed-off-by: David Zafman <david.zafman@inktank.com> (cherry picked from commit 9cf470c)
…t) secs Add config osd_agent_delay_time of 5 seconds Honor delay by ignoring agent_choose_mode() calls Add tier_delay to logger Treat restart after delay like we were previously idle Fixes: ceph#8113 Backport: firefly Signed-off-by: David Zafman <david.zafman@inktank.com> (cherry picked from commit b7d31e5)
We were special casing WRITEBACK mode for handling whiteouts; this needs to also include the FORWARD and READONLY modes. To avoid having to list specific cache modes, though, just check != NONE. Fixes: ceph#8296 Backport: firefly Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 3e387d6)
We normally need to stat the hit_set to know how many bytes to adjust the stats by. If the hit_set was just written, we will get ENOENT. Get the obc instead, which will either get the in-memory copy (because the repop is still in flight) or load it off of disk. Fixes: ceph#8283 Backport: firefly Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 72fdd55)
Callig _finish_hunting() clears out the bool hunting flag, which means we don't retry by connection to another mon periodically. Instead, we send keepalives every 10s. But, since we aren't yet in state HAVE_SESSION, we don't check that the keepalives are getting responses. This means that an ill-timed connection reset (say, after we get a MonMap, but before we finish authenticating) can drop the monc into a black hole that does not retry. Instead, we should *only* call _finish_hunting() when we complete the authentication handshake. Fixes: ceph#8278 Backport: firefly, dumpling Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> (cherry picked from commit 77a6f0a)
This is not particularly smart, but it is *a* knob that lets you make the snap trimmer slow down. It's a flow and a simple delay, so it is adjustable at runtime. Default is 0 (no change in behavior). Partial solution for ceph#6278. Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 4413670)
Fixes: ceph#8289 Backport: firefly, dumpling When reading an object, if we hit an error when trying to read one of the rados objects then we should just stop. Otherwise we're just going to continue reading the rest of the object, and since it can't be sent back to the client (as we have a hole in the middle), we end up accumulating everything in memory. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> (cherry picked from commit 03b0d1c)
If we get a MOSDMarkMeDown message and set service.state == STOPPING, we kick the prepare_to_stop() thread. Normally, it will wake up and then set osd.state == STOPPING, and when we process the map message next we will not warn. However, if dispatch() takes the lock instead and processes the map, it will fail the preparing_to_stop check and issue a spurious warning. Fix by checking for either preparing_to_stop or stopping. Fixes: ceph#8319 Backport: firefly, emperor, dumpling Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 6b858be)
Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 3152faf)
If we are a client, and process a map that sets last_force_op_resend to the current epoch, force a resend of this op. If the OSD expects us to do this, it will discard our previous op. If the OSD is old, it will process the old one, this will appear as a dup, and we are no worse off than before. Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit dd700bd)
If an op is sent before last_force_op_resend, and the client's feature is present, drop the op because we know they will resend. Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 45e79a1)
If a client is sending a sequence of ops (say, a, b, c, d) and partway through that sequence it receives an OSDMap update that changes the overlay, the ops will get send to different pools, and the replies will come back completely out of order. To fix this, force a resend of all outstanding ops any time the overlay changes. Fixes: ceph#8305 Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit 63d92ab)
…reset Backport: firefly, emperor, dumpling Signed-off-by: Guang Yang (yguang@yahoo-inc.com) Reviewed-by: Greg Farnum <greg@inktank.com> (cherry picked from commit bdee119)
When we send redirected ops, we do not assign a new tid, which means that a given client's ops for a pool may not have strictly ordered tids. Skip this check if the pool is tiered to avoid false positives. Fixes: ceph#8380 Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit cf2b172)
When calling osdmap_subscribe, you have to pass an epoch newer than the current map's. _maybe_boot() was not doing this correctly -- we would fail a check for being *in* the monitor's existing map range, and then pass along the map prior to the monitor's range. But if we were exactly one behind, that value would be our current epoch, and the request would get dropped. So instead, make sure we are not *in contact* with the monitor's existing map range. Signed-off-by: Greg Farnum <greg@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com> (cherry picked from commit 290ac81)
Signed-off-by: Greg Farnum <greg@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com> (cherry picked from commit 00225d7)
…_4.9.0 Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org> (cherry picked from commit 0f4120c)
…iable).
This should not affect OpenJDK which understands '-classpath' as well.
With gcj-jdk we still get FTBFS later:
~~~~
java/native/libcephfs_jni.cc:2878:55: error: invalid conversion from 'const jbyte* {aka const signed char*}' to 'jbyte* {aka signed char*}' [-fpermissive]
reinterpret_cast<const jbyte*>(rawAddress));
^
In file included from java/native/libcephfs_jni.cc:27:0:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/jni.h:1471:8: error: initializing argument 4 of 'void _Jv_JNIEnv::SetByteArrayRegion(jbyteArray, jsize, jsize, jbyte*)' [-fpermissive]
void SetByteArrayRegion (jbyteArray val0, jsize val1, jsize val2, jbyte * val3)
^
make[5] *** [java/native/libcephfs_jni_la-libcephfs_jni.lo] Error 1
~~~~
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
(cherry picked from commit 89fe035)
…tives). On Debian this fixes FTBFS when gcj-jdk and openjdk-7-jdk are installed at the same time because build system will use default `javac` executable provided by current JDK through `update-alternatives` instead of blindly calling GCJ when it is present. Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org> (cherry picked from commit 8b682d1)
Older versions of the JNI interface expected non-const parameters to their memory move functions. It's unpleasant, but won't actually change the memory in question, to do a cast_const in order to satisfy those older headers. (And even if it *did* modify the memory, that would be okay given our single user.) Signed-off-by: Greg Farnum <greg@inktank.com> (cherry picked from commit 4d4b77e)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.