InnoDB master thread code in question with the dirty reads: ... } else if (srv_adaptive_flushing && srv_adaptive_flushing_method == 1) { ... for (j = 0; j < srv_buf_pool_instances; j++) { buf_pool_t* buf_pool; ulint n_blocks;
buf_pool = buf_pool_from_array(j);
/* The scanning flush_list is optimistic here */
level = 0; n_blocks = 0; bpage = UT_LIST_GET_FIRST(buf_pool->flush_list);
while (bpage != NULL) { ib_uint64_t oldest_modification = bpage->oldest_modification; if (oldest_modification != 0) { level += log_sys->max_checkpoint_age - (lsn - oldest_modification); } bpage = UT_LIST_GET_NEXT(flush_list, bpage); n_blocks++; } ...
InnoDB master thread code in question with the dirty reads: flushing && srv_adaptive_ flushing_ method == 1) { pool_instances; j++) {
...
} else if (srv_adaptive_
...
for (j = 0; j < srv_buf_
buf_pool_t* buf_pool;
ulint n_blocks;
buf_pool = buf_pool_ from_array( j);
/* The scanning flush_list is optimistic here */
level = 0; GET_FIRST( buf_pool- >flush_ list);
n_blocks = 0;
bpage = UT_LIST_
while (bpage != NULL) { oldest_ modification; modification != 0) { >max_checkpoint _age modification) ; GET_NEXT( flush_list, bpage);
ib_uint64_t oldest_modification = bpage->
if (oldest_
level += log_sys-
- (lsn - oldest_
}
bpage = UT_LIST_
n_blocks++;
}
...