mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-15 21:44:30 +08:00
mdbx: корректировка ChangeLog.
This commit is contained in:
parent
e43cf69a0c
commit
0d1c08677d
29
ChangeLog.md
29
ChangeLog.md
@ -17,13 +17,6 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx
|
|||||||
- В API добавлена функция `mdbx_cursor_count_ex()` позволяющая получить как количество мульти-значений
|
- В API добавлена функция `mdbx_cursor_count_ex()` позволяющая получить как количество мульти-значений
|
||||||
соответствующих текущему ключу, так и информацию о вложенном дереве хранящем эти значения.
|
соответствующих текущему ключу, так и информацию о вложенном дереве хранящем эти значения.
|
||||||
|
|
||||||
Изменение поведения:
|
|
||||||
|
|
||||||
- Теперь при включении профилирования GC (сборка с опцией `MDBX_ENABLE_PROFGC=ON`)
|
|
||||||
подсчитываются затраты времени ЦПУ на слияние списков страниц (на работу функции `pnl_merge()`).
|
|
||||||
|
|
||||||
- В утилите тестирования значение режима данных переименовано из `data.dups` в `data.multi`.
|
|
||||||
|
|
||||||
Исправления:
|
Исправления:
|
||||||
|
|
||||||
- Устранён регресс состояния вложенного/dupsort курсора после вставки данных в `MDBX_APPEND`-режиме.
|
- Устранён регресс состояния вложенного/dupsort курсора после вставки данных в `MDBX_APPEND`-режиме.
|
||||||
@ -40,24 +33,25 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx
|
|||||||
Ошибка проявлялась возвратом неверных значений из `mdbx_cursor_count()`
|
Ошибка проявлялась возвратом неверных значений из `mdbx_cursor_count()`
|
||||||
или срабатывание assert-проверки в отладочных сборках.
|
или срабатывание assert-проверки в отладочных сборках.
|
||||||
|
|
||||||
- Получение boot_id при работе внутри LXC-контейнера.
|
- Поддержка получения boot_id при работе внутри LXC-контейнера.
|
||||||
|
|
||||||
Из LXC-контейнера не доступен файл хостовой системы `/proc/sys/kernel/random/boot_id`.
|
Из LXC-контейнера не доступен файл хостовой системы `/proc/sys/kernel/random/boot_id`.
|
||||||
Вместо него, при каждом старте контейнера, создается и заполняется
|
Вместо него, при каждом старте контейнера, создается и заполняется
|
||||||
случайными данными собственный boot_id смонтированный через bind из `tmpfs`.
|
случайными данными собственный boot_id смонтированный через bind из `tmpfs`.
|
||||||
https://github.com/lxc/lxc/issues/3027
|
https://github.com/lxc/lxc/issues/3027
|
||||||
|
|
||||||
Ранее этот замещенный bootid отбраковывался внутри libmdbx,
|
Ранее этот подставной/замещенный boot_id отбраковывался внутри libmdbx,
|
||||||
так как располагается в `tmpfs`, а не файловой системе `/proc`.
|
так как файл располагается в `tmpfs`, а не в файловой системе `/proc`.
|
||||||
|
В результате boot_id для проверки целостности БД не был доступен.
|
||||||
Теперь при работе внутри LXC-контейнера такой bootid будет использоваться.
|
Теперь при работе внутри LXC-контейнера такой bootid будет использоваться.
|
||||||
|
|
||||||
Однако, полноценный контроль по boot_id не возможен, так как при
|
Однако, полноценно работающий контроль по boot_id не возможен, так как при
|
||||||
рестарте LXC-контейнера (но не хоста) boot_id будет меняться, хотя
|
рестарте LXC-контейнера (но не хоста) boot_id будет меняться, хотя
|
||||||
данные в unified page cache сохраняются.
|
данные в unified page cache сохраняются.
|
||||||
|
|
||||||
Таким образом, при рестарте LXC-контейнера, libmdbx будет производить
|
Таким образом, при рестарте LXC-контейнера без рестарта хоста, libmdbx придется
|
||||||
откат БД до крайней точки устойчивой фиксации, что может приводить к
|
откатить состояние БД до крайней точки устойчивой фиксации, что повлечет
|
||||||
утрате данных пользователя в случаях когда они могли быть сохранены.
|
утрату данных пользователя в случаях когда они могли быть сохранены.
|
||||||
Однако, улучшить ситуацию пока не представляется возможным, как минимум
|
Однако, улучшить ситуацию пока не представляется возможным, как минимум
|
||||||
до доступности boot_id хостовой системы изнутри LXC-контейнера.
|
до доступности boot_id хостовой системы изнутри LXC-контейнера.
|
||||||
|
|
||||||
@ -68,6 +62,13 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx
|
|||||||
Ошибка была внесена при рефакторинге, коммитом `2f2df1ee76ab137ee66d00af69a82a30dc0d6deb`
|
Ошибка была внесена при рефакторинге, коммитом `2f2df1ee76ab137ee66d00af69a82a30dc0d6deb`
|
||||||
чуть более 5 лет назад и долго оставалось не замеченной.
|
чуть более 5 лет назад и долго оставалось не замеченной.
|
||||||
|
|
||||||
|
Изменение поведения:
|
||||||
|
|
||||||
|
- Теперь при включении профилирования GC (сборка с опцией `MDBX_ENABLE_PROFGC=ON`)
|
||||||
|
подсчитываются затраты времени ЦПУ на слияние списков страниц, т.е. на работу функции `pnl_merge()`.
|
||||||
|
|
||||||
|
- В утилите тестирования значение режима данных переименовано из `data.dups` в `data.multi`.
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user