mariadb/storage
Kristian Nielsen 56d1946cb4 MDEV-34705: Binlog-in-engine: No use of InnoDB tablespace and bufferpool
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>
2025-02-15 21:43:12 +00:00
..
archive Merge 10.6 into 10.11 2024-06-27 10:26:09 +03:00
blackhole Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
columnstore Merge branch '10.11' into 11.4 2025-01-14 23:45:41 +01:00
connect Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
csv Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
example Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
federated Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
federatedx Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
heap Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
innobase MDEV-34705: Binlog-in-engine: No use of InnoDB tablespace and bufferpool 2025-02-15 21:43:12 +00:00
maria Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
mroonga Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
myisam Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
myisammrg Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
oqgraph Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
perfschema Merge branch '10.11' into 11.4 2025-01-14 23:45:41 +01:00
rocksdb MDEV-35773 fix test results 2025-01-15 09:49:33 +01:00
sequence Merge branch '10.11' into 11.1 2024-07-08 22:40:16 +02:00
sphinx Merge 10.11 into 11.4 2024-12-02 11:35:34 +02:00
spider Merge 10.11 into 11.4 2025-01-09 07:58:08 +02:00
test_sql_discovery Merge 10.5 into 10.6 2024-06-24 13:09:47 +03:00