mirror of
https://github.com/MariaDB/server.git
synced 2025-02-21 21:03:09 +01:00
![]() In preparation for a simplified, lower-level recovery of binlog files implemented in InnoDB, remove use of InnoDB tablespaces and buffer pool from the binlog code. Instead, a custom binlog page fifo replaces the general buffer pool for binlog pages, and tablespaces are replaced by simple file_no references. The new binlog page fifo is deliberately naively written in this commit for simplicity, until the new recovery is complete and proven with tests; later it can be improved for better efficiency and scalability. This first version uses a simple global mutex, linear scans of linked lists, repeated alloc/free of pages, and simple backgrund flush thread that uses synchroneous pwrite() one page after another. Error handling is also mostly omitted in this first version. The page header/footer is not changed in this commit, nor is the pagesize, to be done in a later patch. The call to mtr_t::write_binlog() is currently commented-out in function fsp_log_binlog_write() as it asserts in numerous places. To be enabled when those asserts are fixed. For the same reason, the code does not yet implement binlog_write_up_to(lsn_t lsn), to be done once mtr_t operations are working. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org> |
||
---|---|---|
.. | ||
archive | ||
blackhole | ||
columnstore | ||
connect | ||
csv | ||
example | ||
federated | ||
federatedx | ||
heap | ||
innobase | ||
maria | ||
mroonga | ||
myisam | ||
myisammrg | ||
oqgraph | ||
perfschema | ||
rocksdb | ||
sequence | ||
sphinx | ||
spider | ||
test_sql_discovery |