I try to uderstand how journaling is exactly working : is that correct ?
When no journaling is activated on the server side (mongod --nojournal) :
- (a) If the client request a journaled write it will output an error (from 2.6, before it was ignored),
- (b) If the client request a non journaled write, journaling will not be used so I guess change will be made on RAM, then the OS will flush changes to data file evry 60s.
When journaling is activated on Mongod (mongod --journal (default on 64 bits version):
- (a) If the client request a journaled write, mongoDB will acknowledge write in the master node only after commiting data into journal, also so as to make the client not to take too much time to perfrom the write, Mongod will reduce the commit interval.
- (b) If the client request a non journaled write, mongoDB will use the journal and acknowledge write from the master node without waiting the data to be committed to the journal.
I actually did not find anything in the official documentation about case 2(b), could someone confirm if journal is used when j is false on the client side but journaling is activated on the mongod ?