Currently when you try to
update mdata item using old version it will produce
ClientError::InvalidEntryActions ERR_INVALID_ENTRY_ACTIONS) error. As far as I can understand this is a general error that is used for other potential problems too.
In concurrent environment it will happen rather often version to be invalid because in the gap between retrieving data and updating it some other client might updated it already.
Is it possible that separate error is defined for such cases like “ERR_INVALID_VERSION”? That way it will be much clearer what the problem is and retry the update (if needed by the business logic).