2015-06-28 Thomas Mueller <[email protected]>: > So far I assumed that the PageStore works fine, as it uses a write-ahead log > (ARIES style), plus fsync after writing the log. Once I have the "simulated > reordered writes file system" in place, I can test that. I'm still working > on that (I already have some results, but it's not complete yet).
I could not find which code path H2 uses to perform an fsync after flushing the log. Could you point me in the right direction? It seems that org.h2.store.FileStore.sync() is only called when a manual CHECKPOINT SYNC is issued (and also by PageStore.writeVariableHeader, which doesn’t seem to be relevant here). There are other callers of FileDisk.force(), but they don’t seem relevant to the case of “fsync after writing the log”. The WriterThread, which seems to perform the time-based flushing of the log, only calls PageStore.flushLog(), which calls PageLog.flush(), etc, which in the end doesn't seem to do any fsync’ing. Did I miss something about the inner workings of H2, or does this point to a problem? Greetings, Nicolas -- A. Because it breaks the logical sequence of discussion. Q. Why is top posting bad? -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/h2-database. For more options, visit https://groups.google.com/d/optout.
