From 00ea243bc3374aac3147b15830380ae055f8e4fb Mon Sep 17 00:00:00 2001 From: Jan Vonka Date: Tue, 5 Oct 2010 11:55:50 +0000 Subject: [PATCH] Merged BRANCHES/DEV/V3.3-BUG-FIX to HEAD: 22883: ALF-4800 - AVM - intermittent test failure (layered file delete) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@22884 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/repo/avm/AVMServiceLocalTest.java | 16 ++++++++++++++++ .../alfresco/repo/avm/AVMSyncServiceImpl.java | 8 +++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/source/java/org/alfresco/repo/avm/AVMServiceLocalTest.java b/source/java/org/alfresco/repo/avm/AVMServiceLocalTest.java index ae0ed053f3..cd79c6091a 100644 --- a/source/java/org/alfresco/repo/avm/AVMServiceLocalTest.java +++ b/source/java/org/alfresco/repo/avm/AVMServiceLocalTest.java @@ -2982,6 +2982,14 @@ public class AVMServiceLocalTest extends TestCase diffs = fSyncService.compare(-1, "mainB--layer:/a", -1, "mainB:/a", null); assertEquals("[mainB--layer:/a/foo[-1] > mainB:/a/foo[-1]]", diffs.toString()); + /* + // For testing ALF-4800 (testLayeredFileDelete1 / testLayeredFileDelete2 - error in dispatchUpdate) + // In addition to sleep below, increase frequency of OrphanReaper (eg. set startDelay/repeatInterval to 2000/500 msecs) + logger.debug("start sleep"); + Thread.sleep(30000); + logger.debug("finish sleep"); + */ + // ETHREEOH-2844 fSyncService.update(diffs, null, false, false, false, false, "one", "one"); fSyncService.flatten("mainB--layer:/a", "mainB:/a"); @@ -3105,6 +3113,14 @@ public class AVMServiceLocalTest extends TestCase diffs = fSyncService.compare(-1, "mainB--layer:/a", -1, "mainB:/a", null); assertEquals("[mainB--layer:/a/foo[-1] > mainB:/a/foo[-1]]", diffs.toString()); + /* + // For testing ALF-4800 (testLayeredFileDelete1 / testLayeredFileDelete2 - error in dispatchUpdate) + // In addition to sleep below, increase frequency of OrphanReaper (eg. set startDelay/repeatInterval to 2000/500 msecs) + logger.debug("start sleep"); + Thread.sleep(30000); + logger.debug("finish sleep"); + */ + // ETHREEOH-2829 fSyncService.update(diffs, null, false, false, false, false, "one", "one"); fSyncService.flatten("mainB--layer:/a", "mainB:/a"); diff --git a/source/java/org/alfresco/repo/avm/AVMSyncServiceImpl.java b/source/java/org/alfresco/repo/avm/AVMSyncServiceImpl.java index 6597dc9b06..2417a7bf48 100644 --- a/source/java/org/alfresco/repo/avm/AVMSyncServiceImpl.java +++ b/source/java/org/alfresco/repo/avm/AVMSyncServiceImpl.java @@ -812,7 +812,8 @@ public class AVMSyncServiceImpl implements AVMSyncService } } - if (srcDesc.isDeleted() && (srcDesc.getDeletedType() == AVMNodeType.LAYERED_DIRECTORY)) + if (srcDesc.isDeleted() && + ((srcDesc.getDeletedType() == AVMNodeType.LAYERED_DIRECTORY) || (srcDesc.getDeletedType() == AVMNodeType.LAYERED_FILE))) { Integer diff = compareLayeredCommonAncestor(common, srcDesc, dstDesc); if (diff != null) @@ -820,7 +821,8 @@ public class AVMSyncServiceImpl implements AVMSyncService return diff; } } - else if (dstDesc.isDeleted() && (dstDesc.getDeletedType() == AVMNodeType.LAYERED_DIRECTORY)) + else if (dstDesc.isDeleted() && + ((dstDesc.getDeletedType() == AVMNodeType.LAYERED_DIRECTORY) || (dstDesc.getDeletedType() == AVMNodeType.LAYERED_FILE))) { Integer diff = compareLayeredCommonAncestor(common, dstDesc, srcDesc); if (diff != null) @@ -1054,7 +1056,7 @@ public class AVMSyncServiceImpl implements AVMSyncService { diff = diffType; } - else if (common.isLayeredFile()) + else if (common.isLayeredFile() || (compareAncNode.getType() == AVMNodeType.LAYERED_FILE)) { // TODO review (alongside createSnapshot+COW) diff = compareLayeredCommonAncestor(common, compareAncNode.getId(), diffType);