I'm reading the commitLog code since I have some similar logic in my
application code,
so that I could benefit from the same techniques that CommitLog code uses.

I see that
CommitLog.add(RowMutation rowMutation) {
        executor.add(new LogRecordAdder(rowMutation));
}

while executor could be the parallel  BatchCommitLogExecutorService(),
which by default
has 32 writer threads.

I wonder how the CommitLog code is able to avoid writing garbled
result on the file,
since if multiple LogRecordAdder() are all executed at the same time,  they run
currentSegment().write() ====> SequentialWriter.write() , is it
possible that their output will overlap??


Thanks  l lot
Yang

Reply via email to