We use Flush_observer to track flushing of non-redo logged pages in bulk create index(btr0load.cc).Since we disable redo logging during a index build, we need to make sure that all dirty pages modified by the index build are flushed to disk before any redo logged operations go to the index.
More...
#include <buf0flu.h>
We use Flush_observer to track flushing of non-redo logged pages in bulk create index(btr0load.cc).Since we disable redo logging during a index build, we need to make sure that all dirty pages modified by the index build are flushed to disk before any redo logged operations go to the index.
◆ Counter
◆ Counters
◆ Flush_observer()
Constructor.
- Parameters
-
| [in] | trx | trx instance |
| [in,out] | stage | PFS progress monitoring instance, it's used by ALTER TABLE. It is passed to log_preflush_pool_modified_pages() for accounting. |
◆ ~Flush_observer()
| Flush_observer::~Flush_observer |
( |
| ) |
|
|
noexcept |
◆ check_interrupted()
| bool Flush_observer::check_interrupted |
( |
| ) |
|
Check whether trx is interrupted.
- Returns
- true if trx is interrupted
◆ flush()
| void Flush_observer::flush |
( |
| ) |
|
◆ get_trx()
| const trx_t & Flush_observer::get_trx |
( |
| ) |
const |
|
inline |
Returns the transaction the observer was created for.
◆ interrupted()
| void Flush_observer::interrupted |
( |
| ) |
|
|
inline |
Interrupt observer not to wait.
◆ is_complete()
| bool Flush_observer::is_complete |
( |
size_t |
instance_no | ) |
|
|
inline |
Check pages have been flushed and removed from the flush list in a buffer pool instance.
- Parameters
-
| [in] | instance_no | buffer pool instance no |
- Returns
- true if the pages were removed from the flush list
◆ notify_flush()
Notify observer of flushing a page.
- Parameters
-
| [in] | buf_pool | buffer pool instance |
| [in] | bpage | buffer page to flush |
◆ notify_remove()
Notify observer of removing a page from flush list.
- Parameters
-
| [in] | buf_pool | buffer pool instance |
| [in] | bpage | buffer page flushed |
◆ print()
| std::ostream & Flush_observer::print |
( |
std::ostream & |
out | ) |
const |
Print information about the current object.
- Parameters
-
| [in,out] | out | output stream to be used. |
- Returns
- the output stream.
◆ validate()
| bool Flush_observer::validate |
( |
| ) |
const |
|
privatenoexcept |
◆ m_flushed
Flush request sent, per buffer pool.
◆ m_interrupted
| bool Flush_observer::m_interrupted {} |
|
private |
True if the operation was interrupted.
◆ m_n_ref_count
| Counter Flush_observer::m_n_ref_count {} |
|
private |
Number of pages using this instance.
◆ m_removed
Flush request finished, per buffer pool.
◆ m_stage
Performance schema accounting object, used by ALTER TABLE.
If not nullptr, then stage->begin_phase_flush() will be called initially, specifying the number of pages to be attempted to be flushed and subsequently, stage->inc() will be called for each page we attempt to flush.
◆ m_trx
| const trx_t& Flush_observer::m_trx |
|
private |
The documentation for this class was generated from the following files: