Commit 8c7c92ad authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-27787 mariadb-backup --backup is allocating extra memory for log records

In commit 685d958e (MDEV-14425),
the log parsing in mariadb-backup --backup was rewritten.
The parameter STORE_IF_EXISTS that is being passed to recv_sys.parse_mtr()
or recv_sys.parse_pmem() instead of STORE_NO caused unnecessary additional
memory allocation for redo log records.
parent e375f519
......@@ -3003,7 +3003,7 @@ static bool xtrabackup_copy_logfile()
#ifdef HAVE_PMEM
if (log_sys.is_pmem())
{
if ((ut_d(r=) recv_sys.parse_pmem(STORE_IF_EXISTS)) != recv_sys_t::OK)
if ((ut_d(r=) recv_sys.parse_pmem(STORE_NO)) != recv_sys_t::OK)
{
ut_ad(r == recv_sys_t::GOT_EOF);
goto retry;
......@@ -3073,7 +3073,7 @@ static bool xtrabackup_copy_logfile()
start_offset= recv_sys.offset;
}
while ((ut_d(r=)recv_sys.parse_pmem(STORE_IF_EXISTS)) == recv_sys_t::OK);
while ((ut_d(r=)recv_sys.parse_pmem(STORE_NO)) == recv_sys_t::OK);
ut_ad(r == recv_sys_t::GOT_EOF);
pthread_cond_broadcast(&scanned_lsn_cond);
......@@ -3109,7 +3109,7 @@ static bool xtrabackup_copy_logfile()
if (log_sys.buf[recv_sys.offset] <= 1)
break;
if (recv_sys.parse_mtr(STORE_IF_EXISTS) == recv_sys_t::OK)
if (recv_sys.parse_mtr(STORE_NO) == recv_sys_t::OK)
{
do
{
......@@ -3119,7 +3119,7 @@ static bool xtrabackup_copy_logfile()
sequence_offset));
*seq= 1;
}
while ((r= recv_sys.parse_mtr(STORE_IF_EXISTS)) == recv_sys_t::OK);
while ((r= recv_sys.parse_mtr(STORE_NO)) == recv_sys_t::OK);
if (ds_write(dst_log_file, log_sys.buf + start_offset,
recv_sys.offset - start_offset))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment