-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
24 changed files
with
627 additions
and
351 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
## | ||
## Copyright 2020-2023 Leonid Yuriev <[email protected]> | ||
## Copyright 2020-2024 Leonid Yuriev <[email protected]> | ||
## and other libmdbx authors: please see AUTHORS file. | ||
## All rights reserved. | ||
## | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,86 @@ ChangeLog | |
English version [by Google](https://gitflic-ru.translate.goog/project/erthink/libmdbx/blob?file=ChangeLog.md&_x_tr_sl=ru&_x_tr_tl=en) | ||
and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic.ru/project/erthink/libmdbx/blob?file=ChangeLog.md). | ||
|
||
## v0.12.10 "СЭМ" от 2024-03-12 | ||
|
||
Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов | ||
в память Героя России гвардии майора Дмитрия Семёнова с позывным "СЭМ". | ||
|
||
``` | ||
git diff' stat: 19 commits, 57 files changed, 751 insertions(+), 331 deletions(-) | ||
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <[email protected]> | ||
``` | ||
|
||
Благодарности: | ||
|
||
- [Dvir H](https://t.me/Dvirsw) за [сообщение](https://t.me/libmdbx/5368) | ||
об ошибке `MDBX_CORRUPTED` в сценарии работы в режиме `MDBX_DUPFIXED` и нечетной длинной | ||
мульти-значений, с предоставлением точного минимального сценария воспроизведения. | ||
|
||
Значимые исправления и доработки: | ||
|
||
- Устранение унаследованной от LMDB ошибки приводящей к повреждению БД при использовании `MDBX_DUPFIXED`. | ||
Проблема была выявлена при расширении тестов сценариями с длинными мульти-значениями в режиме `MDBX_DUPFIXED`. | ||
Сообщений о проявлении этой ошибки в эксплуатационных/продуктовых средах не поступало. | ||
|
||
На LEAF2-страниц, используемых для компактного хранения мульти-значений фиксированной длины, | ||
выполнялось резервирование места без учета возможности превышения размера страниц, | ||
с последующим переполнением, повреждением структуры БД и/или повреждением содержимого ОЗУ. | ||
|
||
Вероятность проявления ошибки существенно увеличивалась с увеличением размера/длины | ||
мульти-значений/дубликатов и уменьшением размера страницы БД. Поэтому при использовании `MDBX_INTEGERDUP` | ||
вероятность проявления близка к нулю, а сценарий такого проявления найти не удалось. | ||
|
||
В MDBX ошибка присутствовала с момента отделения проекта от LMDB, | ||
где эта ошибка присутствует более 11 лети, по настоящее время. | ||
|
||
- Исправление ложной ошибки `MDBX_CORRUPTED (-30796)` в сценарии работы | ||
в режиме `MDBX_DUPFIXED` и нечетной длинной мульти-значений. | ||
|
||
- Исправление недочета корректировки сопутствующих курсоров при разделении страницы | ||
по сценарию добавления пустой страницы слева. | ||
|
||
- Доработка `rebalance()` ради уменьшения WAF. Новый функционал, включая | ||
контролируемую пользователем опцию `enum MDBX_option_t`, будет доступен | ||
в выпусках ветки `0.13.x`, а в этом выпуске доработка сводится к тактике | ||
не-вовленичения чистой страницы при нехватке запаса страниц в ходе обновления GC, | ||
за счет ухудшения баланса дерева страниц. | ||
|
||
- Устранение упущения приводящего к нелогичной ситуации | ||
`me_dxb_mmap.curren > me_dxb_mmap.limit` при "дребезге" размера БД. | ||
В текущем понимании, последствий кроме срабатывания assert-проверки нет, а | ||
вероятность проявления близка к нулю. | ||
|
||
- Исправление в функционале обхода дерева, используемого утилитой | ||
`mdbx_chk`, подсчета места затраченного на выравнивание на вложенной | ||
под-странице, в случае нечетного количества dupfixed-элементов нечетного | ||
размера. | ||
Сообщений о проявлении этой ошибки в эксплуатационных/продуктовых средах не поступало. | ||
|
||
- Исправление assert-проверки внутри `check_txn()` для случая завершенных транзакций в режиме `MDBX_NO_TLS`. | ||
Последствий ошибки, кроме срабатывания assert-проверки в отладочных сборках, нет. | ||
|
||
- Устранение ошибки при открытии БД на файловой системе только-для-чтения. | ||
|
||
- Удалены излишне строгие проверки в утилите `mdbx_chk`, которые | ||
приводили к ложно-позитивным ошибкам при проверке БД после серии | ||
последних доработок. Подробности см в комментариях к коммитам [781b3f64d52b73cbaeb00a55811d1247c25624a8](https://gitflic.ru/project/erthink/libmdbx/commit/781b3f64d52b73cbaeb00a55811d1247c25624a8) | ||
и [0741c81cfd8dc0864fcf55e04192b2207c8f68f7](https://gitflic.ru/project/erthink/libmdbx/commit/0741c81cfd8dc0864fcf55e04192b2207c8f68f7). | ||
|
||
Прочее: | ||
|
||
- Расширение стохастического теста dupfixed-сценариями. | ||
- Корректировка условия в assert-проверке для `MDBX_TXN_DRAINED_GC`. | ||
- Добавление в jitter-сценарий простого теста сброса и перезапуска читающих транзакций. | ||
- Вынужденное продолжение очистки/рефакторинга унаследованных ребусов в `cursor_put_nochecklen()`. | ||
- Фиксация транзакции при ошибках теста для последующего анализа содержимого БД. | ||
- Сопутствующий рефакторинг `node_shrink()` для ясности исходного кода. | ||
- Приведение в соответствие протоколируемых имен тестов опциям командной строки. | ||
- Добавление cmoke-теста `extra/dupfixed_addodd`. | ||
|
||
|
||
-------------------------------------------------------------------------------- | ||
|
||
|
||
## v0.12.9 "Ясень-4" от 2023-12-11 | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
0.12.9.0 | ||
0.12.10.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
## Copyright (c) 2012-2023 Leonid Yuriev <[email protected]>. | ||
## Copyright (c) 2012-2024 Leonid Yuriev <[email protected]>. | ||
## | ||
## Licensed under the Apache License, Version 2.0 (the "License"); | ||
## you may not use this file except in compliance with the License. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
## Copyright (c) 2012-2023 Leonid Yuriev <[email protected]>. | ||
## Copyright (c) 2012-2024 Leonid Yuriev <[email protected]>. | ||
## | ||
## Licensed under the Apache License, Version 2.0 (the "License"); | ||
## you may not use this file except in compliance with the License. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
## Copyright (c) 2012-2023 Leonid Yuriev <[email protected]>. | ||
## Copyright (c) 2012-2024 Leonid Yuriev <[email protected]>. | ||
## | ||
## Licensed under the Apache License, Version 2.0 (the "License"); | ||
## you may not use this file except in compliance with the License. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
.\" Copyright 2015-2023 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2015-2024 Leonid Yuriev <[email protected]>. | ||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE. | ||
.TH MDBX_CHK 1 "2023-10-17" "MDBX 0.12.8" | ||
.TH MDBX_CHK 1 "2024-03-13" "MDBX 0.12.10" | ||
.SH NAME | ||
mdbx_chk \- MDBX checking tool | ||
.SH SYNOPSIS | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
.\" Copyright 2015-2023 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2015-2024 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>. | ||
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved. | ||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE. | ||
.TH MDBX_COPY 1 "2023-10-17" "MDBX 0.12.8" | ||
.TH MDBX_COPY 1 "2024-03-13" "MDBX 0.12.10" | ||
.SH NAME | ||
mdbx_copy \- MDBX environment copy tool | ||
.SH SYNOPSIS | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
.\" Copyright 2021-2023 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2021-2024 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2014-2021 Howard Chu, Symas Corp. All Rights Reserved. | ||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE. | ||
.TH MDBX_DROP 1 "2023-10-17" "MDBX 0.12.8" | ||
.TH MDBX_DROP 1 "2024-03-13" "MDBX 0.12.10" | ||
.SH NAME | ||
mdbx_drop \- MDBX database delete tool | ||
.SH SYNOPSIS | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
.\" Copyright 2015-2023 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2015-2024 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>. | ||
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved. | ||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE. | ||
.TH MDBX_DUMP 1 "2023-10-17" "MDBX 0.12.8" | ||
.TH MDBX_DUMP 1 "2024-03-13" "MDBX 0.12.10" | ||
.SH NAME | ||
mdbx_dump \- MDBX environment export tool | ||
.SH SYNOPSIS | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
.\" Copyright 2015-2023 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2015-2024 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>. | ||
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved. | ||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE. | ||
.TH MDBX_LOAD 1 "2023-10-17" "MDBX 0.12.8" | ||
.TH MDBX_LOAD 1 "2024-03-13" "MDBX 0.12.10" | ||
.SH NAME | ||
mdbx_load \- MDBX environment import tool | ||
.SH SYNOPSIS | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
.\" Copyright 2015-2023 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2015-2024 Leonid Yuriev <[email protected]>. | ||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>. | ||
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved. | ||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE. | ||
.TH MDBX_STAT 1 "2023-10-17" "MDBX 0.12.8" | ||
.TH MDBX_STAT 1 "2024-03-13" "MDBX 0.12.10" | ||
.SH NAME | ||
mdbx_stat \- MDBX environment status tool | ||
.SH SYNOPSIS | ||
|
Oops, something went wrong.