All versions of a record have the same modifyUser and modifyTime

The concept is that one record should have 1 version of metadata. However, in regard to modifyUser and modifyTime attributes, they should be different for each version. Currently, the behaviors are as implemented, but the behavior by the above concept is wrong.

So with the current behavior, for multiple versions of the same record modifyTime and modifyUser value are same and they are overwritten to all versions during every modification made to the record. Which means for records having only 1 version, it is like below.

version1
createUser
createTime

But when the record is modified and multiple versions are created, the metadata of the record for latest version is applied to all versions including the first version as well, and all versions have value for modifyUser and modifyTime attributes.

version1 version2 version3
createUser createUser createUser
createTime createTime createTime
modifyUser2 modifyUser2 modifyUser2
modifyTime2 modifyTime2 modifyTime2

Expected:

Version 1 should only have createUser and createTime. modifyUser and modifyTime should not exist in the first version.

Version 2+ should have different modifyUser and modifyTime for each version

version1 version2 version3
createUser createUser createUser
createTime createTime createTime
modifyUser1 modifyUser2
modifyTime1 modifyTime2
Edited by Mandar Kulkarni