Skip to content

Commit a304282

Browse files
committed
MDEV-37553: Assertion failure lsn - get_flushed_lsn(...) < capacity()
log_t::append_prepare_wait(): Relax the debug assertion in case log_overwrite_warning() has been called. In this case, the contents of log_sys.buf (and the ib_logfile0) is basically unrecoverable garbage, and it does not matter which write was last persisted. This assertion would easily fail in the 11.4 branch in the test encryption.innochecksum after merging MDEV-36024.
1 parent 6619e1d commit a304282

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

storage/innobase/mtr/mtr0mtr.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -909,7 +909,8 @@ ATTRIBUTE_COLD void log_t::append_prepare_wait(bool late, bool ex) noexcept
909909
const bool is_pmem{is_mmap()};
910910
if (is_pmem)
911911
{
912-
ut_ad(lsn - get_flushed_lsn(std::memory_order_relaxed) < capacity());
912+
ut_ad(lsn - get_flushed_lsn(std::memory_order_relaxed) < capacity() ||
913+
overwrite_warned);
913914
persist(lsn);
914915
}
915916
#endif

0 commit comments

Comments
 (0)