Commit Graph

33 Commits

Author SHA1 Message Date
Леонид Юрьев (Leonid Yuriev)
fcc4748f23 mdbx: исправление опечатки/орфографии. 2024-09-08 20:48:44 +03:00
Леонид Юрьев (Leonid Yuriev)
edfa526138 mdbx: устранение возможности SIGSEGV внутри coherency_check().
Падение происходило в случае когда:

 - Некоторый процесс увеличивал размер БД с изменением геометрии (с
   увеличением предельного размера БД и её отображения в ОЗУ), затем
   задействовал страницу из добавленного сегмента в качестве корневой для
   FreeDB/GC и/или MainDB и фиксировал транзакцию.

 - Другой процесс, уже работавший с БД до изменения геометрии первым
   процессом, запускал транзакцию чтения. Падение происходило при проверке
   «когерентности» отображения страниц БД в ОЗУ, при проверке отметок
   модификации внутри корневых страниц, так как в этом случае они были вне
   границ текущего отображения БД в адресном пространстве этого процесса.

Похоже что в ходе какого-то рефакторинга потерялась соответствующая
проверка. Этот коммит добавляет её как временное решение, до переноса
проверки «когерентности» после изменения размера отображения (добавлено в
TODO).
2024-08-07 17:38:53 +03:00
Леонид Юрьев (Leonid Yuriev)
57e558a57d mdbx: использование термина "таблица" вместо "sub-database". 2024-08-03 15:14:23 +03:00
Леонид Юрьев (Leonid Yuriev)
f19753636d mdbx: обновление TODO. 2024-04-04 22:31:03 +03:00
Леонид Юрьев (Leonid Yuriev)
e56c73b4e6 mdbx: добавление режима MDBX_NOSTICKYTHREADS вместо MDBX_NOTLS. 2024-04-04 12:52:50 +03:00
Леонид Юрьев (Leonid Yuriev)
253a56206b mdbx: переработка и перенос функционала утилиты mdbx_chk внутрь библиотеки. 2023-10-23 20:25:03 +03:00
Леонид Юрьев (Leonid Yuriev)
61eafe80c1 mdbx: использование https://libmdbx.dqdkfa.ru/dead-github для удаленных issues. 2022-11-23 01:18:25 +03:00
Леонид Юрьев (Leonid Yuriev)
70e8006776 mdbx-docs: перенаправление github-ссылок на web-archive. 2022-11-10 15:54:31 +03:00
Леонид Юрьев (Leonid Yuriev)
db72763de0 mdbx: отключение учета грязных страниц в не требующих этого режимах.
В режиме MDBX_WRITEMAP с опцией сборки MDBX_AVOID_MSYNC=0 отслеживание грязных страниц не требуется.
Эта доработка устраняет еще одну  из недоделок (пункт в TODO).
2022-10-10 13:56:57 +03:00
Леонид Юрьев (Leonid Yuriev)
940ef30659 mdbx: спиллинг грязных страниц с учетом их суммарного размера. 2022-10-10 13:56:57 +03:00
Леонид Юрьев (Leonid Yuriev)
474391c83c mdbx: поддержка асинхронного ввода-вывода для Windows и подготовка к io_ring (объединённые коммиты и исправления). 2022-10-06 20:35:07 +03:00
Леонид Юрьев (Leonid Yuriev)
12d2879a9f mdbx: extend descriptions for MDBX_VALIDATION and update TODO for done item. 2022-07-09 19:40:09 +03:00
Леонид Юрьев (Leonid Yuriev)
ca0a80944e mdbx: use abf.rosalinux.ru instead of abf.io. 2022-04-25 12:52:29 +03:00
Леонид Юрьев (Leonid Yuriev)
08081109b7 mdbx: split-out TODO.md from ChangeLog.md. 2022-04-23 23:23:15 +03:00
Leo Yuriev
da98692273 mdbx: move RPM-related files into subdir to avoid confusion.
Change-Id: I32a9746cfa0124e359010cb2688bd08214c6516f
2018-07-30 14:50:42 +03:00
dartraiden
515adb674b mdbx: fix typos and punctuation 2018-05-29 03:00:48 +03:00
Leo Yuriev
52283d8c44 mdbx-tests: unify testdb name. 2018-03-19 20:50:30 +03:00
Leo Yuriev
a93fafceff mdbx: strip utf8-bom for Elbrus (minor).
Change-Id: I9030abe267c4abfa2c5c2deb439c0b8025b83047
2018-03-07 12:09:43 +03:00
Leo Yuriev
be5bbea281 mdbx: more update links after move the repo.
Change-Id: Ifdcfd23c78e1c843a93e9b41cd024b0ff9f866be
2017-08-12 11:19:03 +03:00
Leo Yuriev
ffa8f55354 mdbx: update TODO and README (refunding of free pages).
Change-Id: I0c71fb84e42dc62b7b87191bd7b32b496447c60a
2017-07-27 18:38:55 +03:00
Leo Yuriev
9121aaf711 mdbx: update TODO. 2017-07-10 17:50:10 +03:00
Leonid Yuriev
229514c93e mdbx: update TODO.
Change-Id: Ib812146ccb78496dc28610cbd2a6597b09ee238f
2017-07-03 04:45:13 +03:00
Leo Yuriev
9cb3abf379 mdbx: update TODO.
Change-Id: Ia5d9e39276845361b8f3fe0c01ce0521bebf5c0d
2017-06-30 00:43:11 +03:00
Leo Yuriev
5ab319bbb1 mdbx: update TODO. 2017-06-21 01:42:41 +03:00
Leonid Yuriev
bfa6dea784 mdbx: fix size_t/unsigned/int warnings.
Change-Id: Ic5a8684aed232b8b732d6e7a87a6757f3f7afcec
2017-06-06 04:15:08 +03:00
Leo Yuriev
802c10f13f mdbx: log2shift instead of multiplication by pagesize.
Change-Id: I72c4c7699a409795459b466ff74c388b15b13687
2017-06-06 04:15:08 +03:00
Leo Yuriev
59c22ab036 mdbx: use 32-bit pgno_t (page numbers).
Change-Id: Ie9f3528e12b7be27765c0225edde26e4d8282692
2017-06-06 04:15:08 +03:00
Leo Yuriev
52f52de2d5 mdbx: include meta-pages into a coredump. 2017-06-06 04:15:08 +03:00
Leo Yuriev
7f4684abff mdbx: update TODO. 2017-06-06 04:15:08 +03:00
Leo Yuriev
9eeb00f448 mdbx: trinity of meta-pages. 2017-05-28 17:02:19 +03:00
Leo Yuriev
326dea8bc1 mdbx: use FormatMessage() for Windows. 2017-04-25 19:17:57 +03:00
Leo Yuriev
a0f1d61a4a test: fixup for Windows.
Change-Id: I13468caf53988d9599235d1423603146abf9eb46
2017-04-23 19:16:22 +03:00
Leo Yuriev
40f8f53b0e mdbx: add TODO.md 2017-03-29 15:41:53 +03:00