]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mon: OSDMonitor: trigger an immediate propose if any newly down osd is detected durin... 7942/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Thu, 7 Apr 2016 08:43:17 +0000 (16:43 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Thu, 7 Apr 2016 09:31:59 +0000 (17:31 +0800)
commita80d6c500ab247013a1c068c457c1b9bfbc750b2
tree81ef881949f73eba71a2432b21160d085796aca8
parentbe07a418b50cc56f02914bc63c82a2e881910803
mon: OSDMonitor: trigger an immediate propose if any newly down osd is detected during tick()

    Currently we rely on OSDs to watch over each other and perform failure detection
    and report to OSDMonitor. Before we can safely and undoubtedly mark an OSD as down,
    enough reports from a certain number of different reporters must have been collected.
    Also, the victimed OSD has to be declared failed long enough before we make any final
    decision in order to avoid temperary problems such as network failure, network traffic jam etc.,
    which if handled carelessly, may cause even serious problem such as flapping.

    Form the above analysis, even if we have gathered enough witnesses, we have to wait long
    enough to sentence the guilty OSD to death. Therefore we rely on the tick() thread to
    do such an hourglass job. However, the problem here is currently the tick() thread is
    unable to trigger a propose even if it has witnessed such a memont, and this is our goal
    to solve such an embrassing situation.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/mon/OSDMonitor.cc
src/mon/OSDMonitor.h