]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rados: prevent ShardedOpWQ suicide_grace drop when waiting for work. 34575/head
authorDan Hill <daniel.hill@canonical.com>
Wed, 15 Apr 2020 21:54:09 +0000 (14:54 -0700)
committerDan Hill <daniel.hill@canonical.com>
Wed, 15 Apr 2020 21:54:09 +0000 (14:54 -0700)
commit85f6e8d29cd8d0d30b3f07b26974357d875b6908
treefee69c157bda6f1b9b1f33578e52ee182510923c
parent1576cc309c119e57f7a5815c3b9b094ea265ab76
rados: prevent ShardedOpWQ suicide_grace drop when waiting for work.
The Sharded OpWQ will opportunistically wait for more work when
processing an empty queue. While waiting, the default work queue
heartbeat timeout and suicide_grace values are modified. The
`threadpool_default_timeout` grace is applied and suicide_grace is
disabled. If this op hangs, the heartbeat watchdog will not trigger an
OSD suicide recovery.

The default work queue values for grace and suicide_grace are re-applied
after finding work. This keeps the heartbeat timeouts consistent with
the values applied on _process() entry.

Fixes: https://tracker.ceph.com/issues/45076
Signed-off-by: Dan Hill <daniel.hill@canonical.com>
src/osd/OSD.cc