Description
Following line in the CompositeNodeStore#merge() is prone for race condition:
NodeState processed = commitHook.processCommit(getRoot(), rebase(nodeBuilder), info);
We should compare the rebase() results with the getRoot() method, but with the nodeBuilder.getBaseState(). Otherwise, any changes in the root between getRoot() and rebase() invocations will lead to processing external changes in the commit hook.