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
