continue;
any_reader_exists = true;
- if (!log_storage_reader_is_new_entry_available(lsr))
- continue;
- const bool extraction_ok = log_storage_reader_get_new_entry(lsr, &reader->peek_cache[i].header);
- assert(extraction_ok);
+ log_storage_reader_get_new_entry(lsr, &reader->peek_cache[i].header);
+ /* Note, the reader can become finished even if we didn't extract an entry,
+ * due to actions of other threads (our last logs got overwritten by new
+ * logs, since the buffer is cyclic). So we need to check regardless of the
+ * success of the above call. */
if (log_storage_reader_is_finished(lsr)) {
log_storage_release_reader(lsr);
reader->log_storage_reader_ptrs[i] = NULL;