Re: LMDB 1.0 / 0.9 database incompatibility
Steffen Nurpmeso <[email protected]> Mon, 06 Jul 2026 19:58:51 +0200
| Newsgroups | gmane.mail.bogofilter.devel |
|---|---|
| Message-ID | <20260706175851.cc_KCD8N@steffen%sdaoden.eu> |
Hello Matthias. Matthias Andree via bogofilter-dev wrote in <[email protected]>: |Am 04.07.26 um 21:43 schrieb Steffen Nurpmeso: |> just saw 3cee1c59bc937 -- interesting! I have not tried LMDB 1.0 |> yet, but saw some thread talking on it being entirely incompatible |> DB-wise. Ie, 0.9 databases are simply not supported at all! |> Whereas i understand Howard Chu a bit when he says |> |> The on-disk file format has changed in LMDB 1.0 and versions 0.9 |> and 1.0 are mutually incompatible. You must use v0.9 #mdb_dump |> to export your old DBs, and import with v1.0 #mdb_load if you |> want to migrate your existing data to use LMDB 1.0. There is |> no support in LMDB 1.0 for operating directly on v0.9 DB files. |> Including such support would only bloat the library so it will |> not be done. |> |> it causes some trouble "downstream", and that is only the packager |> side.. A transition period would have been nice. |> |> I think i myself follow certain advices and create completely new |> packages, ie keep bogofilter-lmdb and add bogofilter-lmdb1. | |For FreeBSD that would make sense for a transitional period; worst case |we need to make a copy of the ultimate LMDB 0.9.x into bogofilter's |sources and use it to build a feature-stripped "bogoutil" so that people |can get a text dump of the 0.9 LMDB databases. Let's see how it plays |out on Arch Linux and other rolling releases. | |Everything tracked |https://gitlab.com/bogofilter/bogofilter/-/work_items/21 because that's |easiest for me. We have a quick fix for 1.0 in place, but that does not |solve any migration pains yet, it's just "get it to work with 1.0". | |For FreeBSD, see |https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296519 and |https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296530 Maybe the lmdb0 way of doing things is even better, i will do this, too. But this mdb_env_get_maxkeysize() thing you fixed and say "bogofilter bug" to in work_items/21 is a LMDB upstream bug: either they should fix their documentation, which still says _create() is what is expected, not _open(), or they need to fix their code. Do you talk with LMDB upstream already? Ciao, --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)