Propagate internal and external iterator errors to caller:
This fixes incomplete data-sorts and recoveries in case of badly corrupted indexes.
Indexes:
Check index entries on start to avoid startup with broken indexes:
We ignore minor index corruptions and in case of fatal errors we bail out, print diagnostics and fail eblob_init.
Misc:
Fixed eblob_total_elements:
Now it returns difference between total number of entries in database and number of removed entries;
Various bugfixes and sanity checks.
PS. This pull request introduces some non-trivial changes in iteration/startup that should be carefully tested.
Iterators:
iterator
errors to caller:This fixes incomplete
data-sort
s andrecover
ies in case of badly corrupted indexes.Indexes:
We ignore minor index corruptions and in case of fatal errors we bail out, print diagnostics and fail
eblob_init
.Misc:
eblob_total_elements
:Now it returns difference between total number of entries in database and number of removed entries;
PS. This pull request introduces some non-trivial changes in
iteration
/startup
that should be carefully tested.