[Bugs] [Bug 1274100] need a way to pause/stop tiering to take snapshot
bugzilla at redhat.com
bugzilla at redhat.com
Thu Dec 24 15:59:01 UTC 2015
https://bugzilla.redhat.com/show_bug.cgi?id=1274100
--- Comment #2 from Vijay Bellur <vbellur at redhat.com> ---
COMMIT: http://review.gluster.org/13078 committed in release-3.7 by Dan
Lambright (dlambrig at redhat.com)
------
commit 4ec0e36fff703d156c52bada758b97eff86ce61c
Author: Dan Lambright <dlambrig at redhat.com>
Date: Wed Dec 16 15:28:57 2015 -0500
cluster/tier: do not block in synctask created from pause tier
We had run sleep() in the pause tier callback. Blocking within
a synctask is dangerous. The sleep() call does not inform
the synctask scheduler that a thread is no longer running.
It therefore believes it is running. If a second synctask already
exists, it may not be able to run. This occurs if the thread
limit in the pool has been reached.
Note the pool size only grows when a synctask is created, not
when it is moved from wait state to run state, as is the case
when an FOP completes. When the tier is paused during migration,
synctasks already exist waiting for responses to FOPs to the
server with high probability.
The fix is to yield() in the RPC callback, which will place
the synctask into the wait queue and free up a thread for the
FOP callback. A timer wakes the callback after sufficient
time has elapsed for the pause to occur.
This is a backport of 12987.
> Change-Id: I6a947ee04c6e5649946cb6d8207ba17263a67fc6
> BUG: 1267950
> Signed-off-by: Dan Lambright <dlambrig at redhat.com>
> Reviewed-on: http://review.gluster.org/12987
> Tested-by: Gluster Build System <jenkins at build.gluster.com>
> Reviewed-by: Rajesh Joseph <rjoseph at redhat.com>
Signed-off-by: Dan Lambright <dlambrig at redhat.com>
Change-Id: I9bb7564d57d59abb98e89c8d54c8b1ff4a5fc3f3
BUG: 1274100
Reviewed-on: http://review.gluster.org/13078
Tested-by: Gluster Build System <jenkins at build.gluster.com>
Reviewed-by: Dan Lambright <dlambrig at redhat.com>
Tested-by: Dan Lambright <dlambrig at redhat.com>
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list