but osd->clog->info() is not atomic in the sense that get_mon_log_message could be called afterLogClient::last_log is updated by LogClient::get_next_seq() and beforeLogClient::queue(), that's why num_unsent was 4 and log_queue.size() is 3, which should have been 4 right after the LogClient::queue() call.