New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make it possible to tell if corrupt entries were removed. #82
Comments
Yes, I considered that when was developing Chronicle Map's recovery. Decided not to include anything but the simplest version without any "recovery listening" (as of now). The main reason is that recovery procedure checks the whole data structure: locks, links between sub-structures, internal entry counters, etc. In theory, it could accept a file with random data, and make it look like a correct Chronicle Map data structure (very likely it will clean up barely everything, and the "recovered" Chronicle Map will be empty). This raises many issues:
Indeed it should, I will check that. Thanks for high estimate of our work :) |
In the new 3.13.0 release, a beta interface for listening for recovery events added: see |
A client may call
ChronicleMapBuilder.recoverPersistedTo()
in order to attempt a recovery of persisted maps.This page says:
Storing checksums is default for persisted maps.
Firstly, I think that this minor detail that entries are deleted should go into the JavaDoc. Not that I complain about your documentation because your documentation simply rocks. It is clear that you have engaged only the best developers to work for you =)
My problem is that I need to take action if entries are deleted. So currently, my only option is to store an entry count elsewhere. Not too much of an ordeal, but I think an enhanced API would be hugely beneficial. Given the current design, my first thought is an added overload that accept a callback/listener for entry deletions.
I wish to express my deepest gratitude for Chronicle Map. In my mind, your project clearly outshines all the competition.
The text was updated successfully, but these errors were encountered: