Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0.31, 1.2.14, 1.4.4, 1.5.4
-
None
Description
DocumentNodeStore does not currently check which software version the persisted repository it is connecting to was created with or last updated. There is a risk that if the versions are incompatible the repository may be damaged.
Somewhere in the repository, the version of the software that created it, and the versions that written to it should be stored. In the case of TarMK this information could be on local disk near the TarMK files. In the case of a DocumentMK implementation, the information should be stored in the "database" itself.
When a DocumentNodeStore instance connects it should: check the versions stored in the repository then check the versions are within a compatible range and refuse to start if not.
When a DocumentNodeStore writes to a repository, it should add its version to the list of versions that have updated the repository.
This check behaviour should be active in full Oak or any utilities (eg oak-run).