summaryrefslogtreecommitdiff
path: root/storage/innobase/log
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2018-11-20 15:08:41 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2018-11-20 15:08:41 +0200
commit4210e7bf6fc94c60434aeca385ce041ccb9d6925 (patch)
treebb98636faf7b78154959353900a71666a284ece0 /storage/innobase/log
parent92996c9aa90d3fb3bf6bba550fe724ec5d77dea6 (diff)
parentb86e18cb44fd4ab42c08e4b7aae1b7e131a3ea46 (diff)
downloadmariadb-git-4210e7bf6fc94c60434aeca385ce041ccb9d6925.tar.gz
Merge 10.2 into 10.3
Diffstat (limited to 'storage/innobase/log')
-rw-r--r--storage/innobase/log/log0recv.cc27
1 files changed, 5 insertions, 22 deletions
diff --git a/storage/innobase/log/log0recv.cc b/storage/innobase/log/log0recv.cc
index 890761c1932..afcd9079480 100644
--- a/storage/innobase/log/log0recv.cc
+++ b/storage/innobase/log/log0recv.cc
@@ -232,9 +232,8 @@ static void recv_addr_trim(ulint space_id, unsigned pages, lsn_t lsn)
hash_cell_t* const cell = hash_get_nth_cell(
recv_sys->addr_hash, i);
for (recv_addr_t* addr = static_cast<recv_addr_t*>(cell->node),
- *prev = NULL, *next;
- addr;
- prev = addr, addr = next) {
+ *next;
+ addr; addr = next) {
next = static_cast<recv_addr_t*>(addr->addr_hash);
if (addr->space != space_id || addr->page_no < pages) {
@@ -256,22 +255,6 @@ static void recv_addr_trim(ulint space_id, unsigned pages, lsn_t lsn)
}
recv = n;
}
-
- if (UT_LIST_GET_LEN(addr->rec_list)) {
- DBUG_PRINT("ib_log",
- ("preserving " ULINTPF
- " records for page %u:%u",
- UT_LIST_GET_LEN(addr->rec_list),
- addr->space, addr->page_no));
- } else {
- ut_ad(recv_sys->n_addrs);
- --recv_sys->n_addrs;
- if (addr == cell->node) {
- cell->node = next;
- } else {
- prev->addr_hash = next;
- }
- }
}
}
if (fil_space_t* space = fil_space_get(space_id)) {
@@ -2119,8 +2102,7 @@ static ulint recv_read_in_area(const page_id_t page_id)
/** Apply the hash table of stored log records to persistent data pages.
@param[in] last_batch whether the change buffer merge will be
performed as part of the operation */
-void
-recv_apply_hashed_log_recs(bool last_batch)
+void recv_apply_hashed_log_recs(bool last_batch)
{
ut_ad(srv_operation == SRV_OPERATION_NORMAL
|| srv_operation == SRV_OPERATION_RESTORE
@@ -2183,7 +2165,8 @@ recv_apply_hashed_log_recs(bool last_batch)
continue;
}
- if (recv_addr->state == RECV_DISCARDED) {
+ if (recv_addr->state == RECV_DISCARDED
+ || !UT_LIST_GET_LEN(recv_addr->rec_list)) {
ut_a(recv_sys->n_addrs);
recv_sys->n_addrs--;
continue;