On Mon, Feb 4, 2019 at 4:35 PM Gregory Farnum <[email protected]> wrote:

>
>
> On Mon, Feb 4, 2019 at 7:32 AM Mahmoud Ismail <
> [email protected]> wrote:
>
>> On Mon, Feb 4, 2019 at 4:16 PM Gregory Farnum <[email protected]> wrote:
>>
>>> On Fri, Feb 1, 2019 at 2:29 AM Mahmoud Ismail <
>>> [email protected]> wrote:
>>>
>>>> Hello,
>>>>
>>>> I'm a bit confused about how the journaling actually works in the MDS.
>>>>
>>>> I was reading about these two configuration parameters (journal write
>>>> head interval)  and (mds early reply). Does the MDS flush the journal
>>>> synchronously after each operation? and by setting mds eary reply to true
>>>> it allows operations to return without flushing. If so, what the other
>>>> parameter (journal write head interval) do or isn't it for MDS?. Also, can
>>>> all operations return without flushing with the mds early reply or is it
>>>> specific to a subset of operations?.
>>>>
>>>
>>> In general, the MDS journal is flushed every five seconds (by default),
>>> and client requests get an early reply when the operation is done in memory
>>> but not yet committed to RADOS. Some operations will trigger an immediate
>>> flush, and there may be some operations that can't get an early reply or
>>> that need to wait for part of the operation to get committed (like renames
>>> that move a file's authority to a different MDS).
>>> IIRC the journal write head interval controls how often it flushes out
>>> the journal's header, which limits how out-of-date its hints on restart can
>>> be. (When the MDS restarts, it asks the journal head where the journal's
>>> unfinished start and end points are, but of course more of the journaled
>>> operations may have been fully completed since the head was written.)
>>>
>>
>> Thanks for the explanation. Which operations trigger an immediate flush?
>> Is the readdir one of these operations?. I noticed that the readdir
>> operation latency is going higher under load when the OSDs are hitting the
>> limit of the underlying hdd throughput. Can i assume that this is happening
>> due to the journal flushing then?
>>
>
> Not directly, but a readdir might ask to know the size of each file and
> that will force the other clients in the system to flush their dirty data
> in the directory (so that the readdir can return valid results).
> -Greg
>
>

Could it be also due to the MDS lock (operations waiting for the lock under
load)? Also, i assume that the journal is using a different thread for
flushing, Right?


>

>>
>>>
>>
>>>> Another question, are open operations also written to the journal?
>>>>
>>>
>>> Not opens per se, but we do persist when clients have permission to
>>> operate on files.
>>> -Greg
>>>
>>>
>>>>
>>>> Regards,
>>>> Mahmoud
>>>>
>>>> _______________________________________________
>>>> ceph-users mailing list
>>>> [email protected]
>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>>
>>>
_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to