Леонид Юрьев (Leonid Yuriev)
efaa46d7cd
mdbx: предотвращение незначащих, но мешающих отладке, ошибок внутри copy2fd()
.
2024-11-17 22:52:07 +03:00
Леонид Юрьев (Leonid Yuriev)
92dec0bca9
mdbx: исправление утечки памяти из-за регресса в txn_end()
при добавлении парковки транзакций.
...
Если читающая транзакция была припаркована и затем вытеснена, то при её
завершении ресурсы не освобождались.
2024-11-17 22:52:07 +03:00
Леонид Юрьев (Leonid Yuriev)
c13efb791f
mdbx-testing: логирование флагов/опций в copy-сценарии.
2024-11-17 22:52:07 +03:00
Леонид Юрьев (Leonid Yuriev)
12442bd1f4
mdbx-testing: корректировка контроля результата в copy-сценарии.
2024-11-17 22:51:56 +03:00
Леонид Юрьев (Leonid Yuriev)
f5b1e36b9e
mdbx-testing: устранение лишней установки prng при завершении цикла тестов.
2024-11-17 10:29:54 +03:00
Леонид Юрьев (Leonid Yuriev)
f32d3f260f
mdbx: безусловное прерывание транзакции при опции MDBX_CP_DISPOSE_TXN
.
2024-11-16 11:18:47 +03:00
Леонид Юрьев (Leonid Yuriev)
47f96b6afa
mdbx: дополнение ChangeLog.
2024-11-15 15:58:48 +03:00
Леонид Юрьев (Leonid Yuriev)
0306ba8136
mdbx-dist: отключение clang-format
в амальгамированном исходном коде.
2024-11-13 19:16:26 +03:00
Леонид Юрьев (Leonid Yuriev)
a2984c604d
mdbx-cmake: переформатирование cmake-скриптов.
2024-11-13 15:05:26 +03:00
Леонид Юрьев (Leonid Yuriev)
5862a4b542
mdbx-cmake: исправление упущенных POST_BUILD
в add_custom_command()
.
2024-11-13 15:05:26 +03:00
Леонид Юрьев (Leonid Yuriev)
e2b4245abe
mdbx: дополнение .gitignore
2024-11-13 15:05:26 +03:00
Леонид Юрьев (Leonid Yuriev)
b5def26565
mdbx-make: добавление целей cmake-build
и ninja
.
2024-11-13 15:05:26 +03:00
Леонид Юрьев (Leonid Yuriev)
e27537dd9d
mdbx-make: добавление префикса @
к именам служебных/временных файлов/каталогов.
2024-11-13 15:05:26 +03:00
Леонид Юрьев (Leonid Yuriev)
f550c65476
mdbx-make: использование VERSION.json
с полной информацией вместо однострочного текстового файла.
2024-11-13 15:05:26 +03:00
Леонид Юрьев (Leonid Yuriev)
ab4bf2d7f0
mdbx-cmake: экспорт/импорт информации о версии в VERSION.json
2024-11-13 15:05:26 +03:00
Леонид Юрьев (Leonid Yuriev)
871bb7f56c
mdbx: обмен порядка атрибутов pure
|const
/maybe_unused
в определении функций.
2024-11-13 15:05:26 +03:00
Леонид Юрьев (Leonid Yuriev)
7aa5d9ab97
mdbx++: доработка использования std::experimental::filesystem
.
2024-11-13 15:05:26 +03:00
Леонид Юрьев (Leonid Yuriev)
6893a79c70
mdbx-testing: добавление extra/cursor_closing
.
2024-11-10 20:17:44 +03:00
Леонид Юрьев (Leonid Yuriev)
6f41276dbc
mdbx++: поддержка вложенных пишущих транзакций.
2024-11-10 20:17:44 +03:00
Леонид Юрьев (Leonid Yuriev)
9da743515c
mdbx-cmake: включение тестов использующих mdbx::path
на Windows только для C++17 и выше.
2024-11-10 20:17:44 +03:00
Леонид Юрьев (Leonid Yuriev)
9b9d6c6d65
mdbx-cmake: очистка условий включения стандартов C и C++.
2024-11-10 20:17:44 +03:00
Леонид Юрьев (Leonid Yuriev)
bd7b272bca
mdbx-tests: корректировка использования mdbx::default_buffer
для совместимости с C++11.
2024-11-10 20:17:44 +03:00
Леонид Юрьев (Leonid Yuriev)
4cc1c7d8de
mdbx: доработка MDBX_DEPRECATED_ENUM
для старых компиляторов при включении С++11.
2024-11-10 20:17:44 +03:00
Леонид Юрьев (Leonid Yuriev)
10a93f4b9f
mdbx: дополнение ChangeLog.
2024-11-07 11:40:16 +03:00
Леонид Юрьев (Leonid Yuriev)
ca8e9fe7b1
mdbx-testing: переименование скрипта stochastic.sh
2024-11-07 09:32:27 +03:00
Леонид Юрьев (Leonid Yuriev)
c0e5108d71
mdbx-testing: реализация/перенос поддержки сценария мелких транзакций в long_stochastic скрипт.
2024-11-07 09:32:27 +03:00
Леонид Юрьев (Leonid Yuriev)
00be608af9
mdbx-testing: проверка версии bash >= 4.3
2024-11-07 09:32:27 +03:00
Леонид Юрьев (Leonid Yuriev)
6c56ed97bb
mdbx: доработка/исправление и постоянная активация корректирующей обратной связи при обновлении GC.
...
При обновлении GC, с помещением/возвратом страниц, возникает рекурсивная
зависимость, так как страницы, необходимые для CoW-модификации GC и
размещения списков возвращаемых страниц, берутся/выделяются из этих-же
списков и/или из GC. Эта рекуррентная зависимость разрешается путём
подготовки необходимого запаса страниц и двух-стадийным заполнением
списков, с повторением всего цикла при изменении ситуации/расклада, плюс
применение некоторых эвристик и поправок. Кроме корректной работы,
принципиально важным тут является минимизация количества
повторов/рестартов процесса, в том числе исключение возможности
бесконечного зацикливания.
Существующая реализация многократно/итеративно дорабатывалась. Поэтому
она неплохо обкатана и стабильна, но одновременно сложна и запутана.
Тем не менее, до последнего момента для текущей реализации были известны
условия/сценарии, в которых сходимость итеративного процесса обновления
GC нарушалась и при фиксации транзакции возвращалась ошибка
MDBX_PROBLEM. Эти условия/сценарии очень специфичны и далеки от реальных
практических случаев, поэтому этот недостаток не мешал использованию
библиотеки.
Этим коммитом добавляется и активируется еще один механизм нацеленный на
улучшение сходимости и минимизацию повторов/рестартов. Суть механизма в
формировании и учета поправки, которая на следующем цикле позволит
учесть все переходные процессы/затраты вне зависимости от их природы, и
этим обеспечить моментальную сходимость.
В текущем понимании, описанный выше недостаток полностью
устраняется/исправляется этим коммитом.
2024-11-07 09:32:27 +03:00
Леонид Юрьев (Leonid Yuriev)
acb15790b4
mdbx-testing: косметика в long_stochastic.sh
для уменьшения объема вывода в консоль.
2024-11-06 13:43:40 +03:00
Леонид Юрьев (Leonid Yuriev)
029f14280b
mdbx-testing: удаление /usr/bin/time
так как rusage()
есть в коде теста.
2024-11-06 13:15:25 +03:00
Леонид Юрьев (Leonid Yuriev)
af41bcf11e
mdbx-testing: исправление опечатки для /usr/bin/banner
.
2024-11-06 13:15:25 +03:00
Леонид Юрьев (Leonid Yuriev)
2669f285f9
mdbx-testing: проверка поддержки tee -p
.
2024-11-06 13:14:58 +03:00
Леонид Юрьев (Leonid Yuriev)
157ede4e42
mdbx-testing: добавление опции --report-depth
для сокращения накладных расходов.
2024-11-06 13:14:58 +03:00
Леонид Юрьев (Leonid Yuriev)
6067ba5f9d
mdbx-testing: минимальная обработка SIGINT
/SIGTERM
/SIGHUP
/SIGQUIT
для прозрачности прерываний в логах.
2024-11-06 13:14:58 +03:00
Леонид Юрьев (Leonid Yuriev)
2c919c0efe
mdbx-testing: предотвращение потери логов из-за отстрела gzip/lz4 в составе группы процессов.
2024-11-06 13:14:58 +03:00
Леонид Юрьев (Leonid Yuriev)
de36d94aca
mdbx: предотвращение включения отладки только из-за активации assert-проверок.
2024-11-04 20:42:39 +03:00
Леонид Юрьев (Leonid Yuriev)
8571eac81b
mdbx-cmake: корректировка пробы OpenMP.
2024-10-28 08:55:37 +03:00
Леонид Юрьев (Leonid Yuriev)
dc6f29a046
mdbx: импорт дополнений ChangeLog из ветки stable
.
2024-10-27 23:00:34 +03:00
Леонид Юрьев (Leonid Yuriev)
90642bffab
mdbx: импорт обновления патча для старых версий buildroot из ветки stable
.
2024-10-27 22:59:20 +03:00
Леонид Юрьев (Leonid Yuriev)
b8f9b8659c
mdbx: дополнение ChangeLog.
2024-10-26 23:23:17 +03:00
Леонид Юрьев (Leonid Yuriev)
3d6e196422
mdbx: исправление отрытия таблицы с пустым/нулевым именем и устранение SIGSEGV
при её закрытии.
2024-10-26 09:57:10 +03:00
Леонид Юрьев (Leonid Yuriev)
03077773cb
mdbx-testing: добавление extra/early_close_dbi
.
2024-10-26 09:57:10 +03:00
Леонид Юрьев (Leonid Yuriev)
5dc1f36b67
mdbx++: смена базового типа на intptr_t
для размерных констант mdbx::env::geometry
.
2024-10-26 09:49:22 +03:00
Леонид Юрьев (Leonid Yuriev)
80708f9591
mdbx: добавление T-макросов для парных char
/wchar_t
функций.
2024-10-26 09:49:22 +03:00
Леонид Юрьев (Leonid Yuriev)
3049bb87b5
mdbx: доработка mdbx_close_dbi()
для возврата MDBX_DANGLING_DBI
при попытке закрыть dbi-хендл измененной в транзакции таблицы.
2024-10-26 09:49:22 +03:00
Леонид Юрьев (Leonid Yuriev)
7232d7b5fc
mdbx: уточнение описания mdbx_dbi_close()
для случая хендлов измененных таблиц.
2024-10-23 13:28:26 +03:00
Леонид Юрьев (Leonid Yuriev)
964ee00116
mdbx: костыль для некорректной обработки [[gnu::pure]]
в Apple Clang.
2024-10-23 11:26:09 +03:00
Леонид Юрьев (Leonid Yuriev)
b43eed2c2b
mdbx++: переименование внутренних методов mdbx::buffer<>::silo::bin::inplace_lastbyte()
.
2024-10-22 22:45:29 +03:00
Леонид Юрьев (Leonid Yuriev)
06dd50580c
mdbx: корректировка API-макросов для Doxygen.
2024-10-22 22:45:29 +03:00
Леонид Юрьев (Leonid Yuriev)
bfce1cd24d
mdbx: использование __has_c_attribute()
и __has_cxx_attribute()
, добавление __has_C23_or_CXX_attribute()
.
2024-10-10 06:16:49 +03:00