diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2018-11-20 15:08:41 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2018-11-20 15:08:41 +0200 |
commit | 4210e7bf6fc94c60434aeca385ce041ccb9d6925 (patch) | |
tree | bb98636faf7b78154959353900a71666a284ece0 /storage/innobase/log | |
parent | 92996c9aa90d3fb3bf6bba550fe724ec5d77dea6 (diff) | |
parent | b86e18cb44fd4ab42c08e4b7aae1b7e131a3ea46 (diff) | |
download | mariadb-git-4210e7bf6fc94c60434aeca385ce041ccb9d6925.tar.gz |
Merge 10.2 into 10.3
Diffstat (limited to 'storage/innobase/log')
-rw-r--r-- | storage/innobase/log/log0recv.cc | 27 |
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; |