Closed AskAlexSharov closed 2 years ago
This is not a bug, but the feature...
Unfortunately, the v0.10.5
accidentally comes not full-compatible with previous releases:
v0.10.5
can read/processing DBs created by previous releases, i.e. the backward-compatibility is provided;v0.10.5
, i.e. the forward-compatibility is broken for previous releases.This cannot be fixed, as it requires fixing past versions, which as a result we will get already existing v0.10.5
.
however, there are problems with the numbering of version 0.10.5, because if compatibility is broken, then it should be designated as v0.11.0
- I'll think about what to do.
At a whole this gave a false-positive diagnosis of database corruption - I'll think about what to do.
@AskAlexSharov, any ideas are welcome.
mdbx_chk -v -0 -t -w
and got = Performing turn to the specified meta-page (0) due to successful check!
, but can't open this db by v0.10.5. Kind of "false-positive".Basically, seems just the single solution - don't mix new and old versions since shit bugs happens.
How? (I mean - we don't control our installations, users can downgrade us). By storing last used MDBX version outside of mdbx and check it before open db?
I will change the DB format' signature and release version 0.11:
love it
Looks like signature update doesn't happen when switching to new version
Sorry, I didn't finish the work but I closed this issue by mistake.
it works
In next scenario:
db 40Kb: db.zip
I can reproduce it easily.
(FYI: i used a bit patched v0.10.1 - to increase MDBX_READERS_LIMIT: https://github.com/torquem-ch/mdbx-go/compare/v0.19.0...v0.19.2)