Skip to content

Freelist optimisations

Compare
Choose a tag to compare
@AlexeyAkhunov AlexeyAkhunov released this 11 Nov 08:21
· 6 commits to master since this release
49f12cb

Contains two main improvements:

  1. Setting minimum transaction ID to 1,000,000 (one million). This affects the logic of re-writing of records in FREE_DBI (freelists), so that there are enough transaction IDs to spread records evenly and ensure there is at most 1 overflow page per record. This avoid problems we saw before when re-writing of freelists leads to very slow commits
  2. Allowing any writeable transaction to utilise free pages created by the previous writeable transaction. Previously, a writeable transaction could only utilise free pages created by pre-previous writeable transaction. That lead to unexpected effect of "double tap", whereas committing transaction allowed quicker recycling of free pages. Now such quicker recycling is possible without performing "double tap".