Re: cephfs client hang issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21 April 2018 at 05:26, 陶冬冬 <tdd21151186@xxxxxxxxx> wrote:
>
>> 在 2018年4月21日,上午1:54,Patrick Donnelly <pdonnell@xxxxxxxxxx> 写道:
>>
>> On Fri, Apr 20, 2018 at 7:03 AM, 陶冬冬 <tdd21151186@xxxxxxxxx> wrote:
>>> I know this can fix the hang issue, but this solution seems workaround to me, because unmount will still have to wait for 120s, i don’t think it’s user friendly
>>> I would like to propose another solution here - we request the latest osdmap in client's ms_handle_remote_reset
>>> here is the eviction flow
>>> [1] mds send evict command to monitor
>>> [2] mds then wait for the latest osdmap
>>> [3] mds get the latest osdmap and then kill the session from the evicted client which is on the blacklist now
>>> [4] when the evicted client try to communicate with the mds, this client will certainly get a RESET SESSION reply
>>
>> What you've described makes sense to me Dongdong. Rishabh, can you try
>> testing a solution that gets the latest osdmap in
>> ::ms_handle_remote_reset for case: MetaSession::STATE_OPENING.

I don't see client in `MetaSession::STATE_OPENING` at any point --
from mounting to eviction. I added debug-code to all cases [2] in `
Client::ms_handle_remote_reset` to log when client enters any of these
states to check. It only enters `MetaSession::STATE_OPEN` when it is
evicted. Adding `objecter->maybe_request_map()` here [3] fixes the
issue.

>> (Rishabh, we can drop [1] if this works as expected.)

I think not only [1] but also [4]. That part of the code would never
be used (at least in case of eviction). It will be one-liner patch, if
this solution happens to be correct/appropriate.

[1] https://github.com/ceph/ceph/pull/21065/commits/d3fb8c24c7df4fa7443bce71c1adf8cf84c6361e
[2] https://github.com/ceph/ceph/blob/master/src/client/Client.cc#L13496
[3] https://github.com/ceph/ceph/blob/master/src/client/Client.cc#L13514
[4] https://github.com/ceph/ceph/pull/21065/commits/cb996c2bef7b9dacdeec6c17d83a473b26db0e92
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux