From b55a41f6041ea11145a0bf309f269ad5224536ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=AE=D1=80=D1=8C?= =?UTF-8?q?=D0=B5=D0=B2=20=28Leonid=20Yuriev=29?= Date: Wed, 9 Apr 2025 22:18:13 +0300 Subject: [PATCH] =?UTF-8?q?mdbx:=20=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20ChangeLog.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChangeLog.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 414c65ba..8ae6f3f5 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -12,10 +12,11 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx - [Erigon](https://erigon.tech/) за спонсорство. - [Илье Михееву](https://t.me/IlyaMkhv) и команде [Erigon](https://github.com/erigontech) за сообщения о проблеме и тестирование. + - [Алексею Костюку (aka Keller)](https://t.me/keller18306) за сообщения о проблеме копирования на NFS. Исправления: - - Устраненен регресс при использовании курсоров для DBI=0 в читающих транзакциях. + - Устранён регресс при использовании курсоров для DBI=0 в читающих транзакциях. В результате рефакторинга и ряда оптимизаций для завершения/гашения курсоров в читающих и пишущих транзакций стал использоваться общий код. @@ -30,13 +31,24 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/libmdbx отсоединялись или закрывались до завершения читающей транзакции, то ошибка не имела шансов на проявление. + - Устранён регресс в виде ошибки `EAGAIN` при копировании БД на NFS и CIFS/SMB. + + При доработках/развитии API в функции копирования был добавлен захват + файловой блокировки посредством как `fcntl()`, так и `flock()`. Однако, + в зависимости от версии локального ядра, версии удалённого сервера NFS и + опций монтирования, это могло приводить к возврату POSIX-ошибки `EAGAIN` + (`11` на большинстве платформ, включая Linux). + + Прочие доработки: + - Во избежание потенциальных проблем отключено использование `copy_file_range()` на ядрах Linux 5.3 - 5.18. + + - Вброс `std::invalid_argument` теперь производится явным сообщением `MDBX_EINVAL`. + - Уточнен тип адреса для пожертвований. Ethereum/ERC-20 позволяет перечислять не только ETH, но и другие валюты/токены, в том числе USDC. - - Вброс `std::invalid_argument` теперь производится явным сообщением `MDBX_EINVAL`. - - Дополнен тест курсоров extra/cursor-closing. - В `NOTICE` обновлена информация о Github.