So in this case, the client got blacklisted after sending the request but before the reply? Ok. >> Blacklist is disabled in my env, client fails to response caps revoke, mds tick evicts it, and before evict closed the session, it cost much time to remove client caps which is running in finish thread, the next mds tick comes, I suspect if the client with STATE_KILLING session is put to to_evict list again, it happens to kill client's session when the client opening new session. I would like to propose a new patch as follow change: - if (s->s_state < CEPH_MDS_SESSION_OPEN) { + if (s->s_state == CEPH_MDS_SESSION_NEW || + s->s_state == CEPH_MDS_SESSION_RESTARTING || + s->s_state == CEPH_MDS_SESSION_REJECTED)