Versioning
RoStore supports versioning of the key-value pairs. The versioning should be explicitly activated with each key by provisioning a version=1 during creation of the key. Otherwise the key would not be involved in versioning and would consider that the key has all the time the same version. Versioning in RoStore architecture is only used to prevent concurrent modification of the values and is only required for the environments where several processes can modify a value independently.
If the versioning is not activated, then any update on the existing key would be executed without any checks regarding versioning.
In an opposite key, rostore would increase the version on every update operation and the client would have to provide its version on the update. If the version provided by the client is not the one from the storage, the update will be rejected. The client would need to load the latest version by the GET operation and execute the update again with the newer version.