New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mds: fix hangs involving re-entrant calls to journaler #15430

Merged
merged 2 commits into from Jun 22, 2017

Conversation

Projects
None yet
2 participants
@jcsp
Contributor

jcsp commented Jun 2, 2017

@ukernel

ukernel approved these changes Jun 2, 2017

@jcsp

This comment has been minimized.

Contributor

jcsp commented Jun 15, 2017

Updated to wrap the main objecter completion in a finisher, because I was seeing MDS hangs occasionally -- I think the existing code may have only been working in the (normal) case where taking objecter's internal write lock was not needed.

@jcsp jcsp changed the title from osdc: always use finisher from wait_for_readable to mds: fix hangs involving re-entrant calls to journaler Jun 19, 2017

osdc: always use finisher from wait_for_readable
Fixes: http://tracker.ceph.com/issues/20165
Signed-off-by: John Spray <john.spray@redhat.com>
@ukernel

This comment has been minimized.

Member

ukernel commented Jun 20, 2017

this does not compile. following patch can fix it

diff --git a/src/mds/PurgeQueue.cc b/src/mds/PurgeQueue.cc
index b854973..430d3ee 100644
--- a/src/mds/PurgeQueue.cc
+++ b/src/mds/PurgeQueue.cc
@@ -462,7 +462,7 @@ void PurgeQueue::_execute_item(
             journaler.trim();
             }));
     }
-  }, finisher)));
+  }), &finisher));
 
   gather.activate();
 }
mds: fix re-entrant calls into Journaler from PurgeQueue
Signed-off-by: John Spray <john.spray@redhat.com>
@jcsp

This comment has been minimized.

Contributor

jcsp commented Jun 20, 2017

Already updated

@jcsp

This comment has been minimized.

Contributor

jcsp commented Jun 21, 2017

retest this please (jenkins)

@jcsp jcsp merged commit 7e991fe into ceph:master Jun 22, 2017

4 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
arm64 make check arm64 make check succeeded
Details
make check make check succeeded
Details

@jcsp jcsp deleted the jcsp:wip-20165 branch Jun 22, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment