Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)

99766: Merged 5.0.N (5.0.2) to HEAD-BUG-FIX (5.1/Cloud)
      99697: Merged V4.2-BUG-FIX (4.2.5) to 5.0.N (5.0.2)
         99632: Merged V4.1-BUG-FIX (4.1.10) to V4.2-BUG-FIX (4.2.5)
            99437: MNT-11219 and MNT-13533: Merged DEV. V4.1-BUG-FIX (4.1.10) to V4.1-BUG-FIX (4.1.10):
                98490: MNT-11219: Incorrect behavior during alternate replication from multiple repositories.
                    - Pruning has been changed to be done for 'manifestRepositoryId' instead of 'fromRepositoryId', to avoid removals for repositories for which replication has not been initiated. Also the calculation of invasions has been modified to take into account the situation, when the folder is invaded only by one repository (by the source repository, from which this folder has come; MNT-11219). Additionally, the 'expectedChildNodeRefs' initialization was modified to resolve nodes from another repository by path, to avoid comparison of NodeRefs of two different repositories. This modification removes redundant and dangerous pruning. And it is needed for both MNT-11219 and MNT-13533


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@100493 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2015-03-27 22:56:27 +00:00
parent 783c24a2a5
commit accd81fc21
4 changed files with 427 additions and 55 deletions

View File

@@ -215,6 +215,12 @@ public class RepoPrimaryManifestProcessorImpl extends AbstractManifestProcessorB
// Does a corresponding node exist in this repo?
if (resolvedNodes.resolvedChild != null)
{
if (log.isTraceEnabled())
{
log.trace("REPO_PRIMARY_MANIFEST_PROCESSOR - node DOES exist!");
logInvasionHierarchy(resolvedNodes.resolvedParent, resolvedNodes.resolvedChild, nodeService, log);
}
// Yes, the corresponding node does exist. Update it.
if (log.isDebugEnabled())
{
@@ -222,6 +228,11 @@ public class RepoPrimaryManifestProcessorImpl extends AbstractManifestProcessorB
+ resolvedNodes.resolvedChild);
}
update(node, resolvedNodes, primaryParentAssoc);
if (log.isTraceEnabled())
{
log.trace("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
}
}
else
{
@@ -245,7 +256,19 @@ public class RepoPrimaryManifestProcessorImpl extends AbstractManifestProcessorB
{
log.debug("Incoming noderef has no corresponding local noderef: " + node.getNodeRef());
}
if (log.isTraceEnabled())
{
log.trace("REPO_PRIMARY_MANIFEST_PROCESSOR - node DOES NOT esist yet! Name: '" + node.getProperties().get(ContentModel.PROP_NAME) + "', parentPath: '"
+ node.getParentPath() + "'");
}
create(node, resolvedNodes, primaryParentAssoc);
if (log.isTraceEnabled())
{
log.trace("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
}
}
}