[exo-jcr-commits] exo-jcr SVN: r5074 - in jcr/branches/1.12.x: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core and 7 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Oct 20 08:10:13 EDT 2011
Author: trang_vu
Date: 2011-10-20 08:10:12 -0400 (Thu, 20 Oct 2011)
New Revision: 5074
Added:
jcr/branches/1.12.x/patch/1.12.11-GA/JCR-1661/readme.txt
Modified:
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/BufferedJBossCache.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java
jcr/branches/1.12.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestMultipleListenersNotifying.java
Log:
JCR-1661: TESTING: Regression during daily testing
Fix description
* For WorkspaceMoveTest and WorkspaceNodeUpdateTest: fixed by avoiding extra cache cleaning while running in cluster environment but with single node.
* For other tests: fixed by avoiding extra putting NullItemData instances to cache.
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -70,6 +70,24 @@
ItemData getItemData(NodeData parent, QPathEntry name, ItemType itemType) throws RepositoryException;
/**
+ * Find Item by parent (id) and name (with path index) of defined type and create
+ * or not (defined by createNullItemData) null item data.
+ *
+ * @param parent
+ * NodeData
+ * @param name
+ * item name
+ * @param itemType
+ * itemType
+ * @param createNullItemData
+ * defines if NullItemData should be created
+ * @return ItemData, data by parent and name
+ * @throws RepositoryException
+ */
+ ItemData getItemData(NodeData parent, QPathEntry name, ItemType itemType, boolean createNullItemData)
+ throws RepositoryException;
+
+ /**
* Find Item by identifier.
*
* @param String identifier
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -419,7 +419,8 @@
PropertyImpl prevProp;
PropertyDefinitionDatas defs;
ItemImpl prevItem =
- dataManager.getItem(parentNode.nodeData(), new QPathEntry(propertyName, 0), true, ItemType.PROPERTY);
+ dataManager.getItem(parentNode.nodeData(), new QPathEntry(propertyName, 0), true, ItemType.PROPERTY, true,
+ false);
NodeTypeDataManager ntm = session.getWorkspace().getNodeTypesHolder();
NodeData parentData = (NodeData)parentNode.getData();
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -576,7 +576,7 @@
PropertyData prop =
(PropertyData)dataManager.getItemData(((NodeData)getData()), new QPathEntry(Constants.JCR_MIXINTYPES, 0),
- ItemType.PROPERTY);
+ ItemType.PROPERTY, false);
ItemState state;
if (prop != null)
@@ -1773,7 +1773,7 @@
for (PropertyDefinitionData pd : ntmanager.getAllPropertyDefinitions(removedName))
{
- ItemData p = dataManager.getItemData(nodeData(), new QPathEntry(pd.getName(), 1), ItemType.PROPERTY);
+ ItemData p = dataManager.getItemData(nodeData(), new QPathEntry(pd.getName(), 1), ItemType.PROPERTY, false);
if (p != null && !p.isNode())
// remove it
dataManager.delete(p, ancestorToSave);
@@ -2850,13 +2850,15 @@
int ind = 1;
- NodeData sibling = (NodeData)dataManager.getItemData(parentNode, new QPathEntry(nameToAdd, ind), ItemType.NODE);
+ NodeData sibling =
+ (NodeData)dataManager.getItemData(parentNode, new QPathEntry(nameToAdd, ind), ItemType.NODE, false);
while (sibling != null)
{
if (allowSns)
{
ind++;
- sibling = (NodeData)dataManager.getItemData(parentNode, new QPathEntry(nameToAdd, ind), ItemType.NODE);
+ sibling =
+ (NodeData)dataManager.getItemData(parentNode, new QPathEntry(nameToAdd, ind), ItemType.NODE, false);
}
else
{
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -224,6 +224,12 @@
*/
public ItemData getItemData(NodeData parent, QPathEntry name, ItemType itemType) throws RepositoryException
{
+ return getItemData(parent, name, itemType, true);
+ }
+
+ public ItemData getItemData(NodeData parent, QPathEntry name, ItemType itemType, boolean createNullItemData)
+ throws RepositoryException
+ {
if (name.getName().equals(JCRPath.PARENT_RELPATH) && name.getNamespace().equals(Constants.NS_DEFAULT_URI))
{
if (parent.getIdentifier().equals(Constants.ROOT_UUID))
@@ -249,7 +255,7 @@
return null;
}
// 2. Try from txdatamanager
- data = transactionableManager.getItemData(parent, name, itemType);
+ data = transactionableManager.getItemData(parent, name, itemType, createNullItemData);
}
else if (!state.isDeleted())
{
@@ -328,6 +334,31 @@
public ItemImpl getItem(NodeData parent, QPathEntry name, boolean pool, ItemType itemType, boolean apiRead)
throws RepositoryException
{
+ return getItem(parent, name, pool, itemType, apiRead, true);
+ }
+
+ /**
+ * For internal use. Return Item by parent NodeDada and the name of searched item.
+ *
+ * @param parent
+ * - parent of the searched item
+ * @param name
+ * - item name
+ * @param itemType
+ * - item type
+ * @param pool
+ * - indicates does the item fall in pool
+ * @param apiRead
+ * - if true will call postRead Action and check permissions
+ * @param createNullItemData
+ * - defines if there is a need to create NullItemData
+ *
+ * @return existed item or null if not found
+ * @throws RepositoryException
+ */
+ public ItemImpl getItem(NodeData parent, QPathEntry name, boolean pool, ItemType itemType, boolean apiRead,
+ boolean createNullItemData) throws RepositoryException
+ {
long start = System.currentTimeMillis();
if (log.isDebugEnabled())
{
@@ -337,7 +368,7 @@
ItemImpl item = null;
try
{
- return item = readItem(getItemData(parent, name, itemType), parent, pool, apiRead);
+ return item = readItem(getItemData(parent, name, itemType, createNullItemData), parent, pool, apiRead);
}
finally
{
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -118,7 +118,7 @@
{
final ItemData pdata =
avoidCheckExistedChildItems ? null : targetDataManager.getItemData(parent, new QPathEntry(
- ndef.getName(), 0), ItemType.NODE);
+ ndef.getName(), 0), ItemType.NODE, false);
if (pdata == null && !addedNodes.contains(ndef.getName()) || pdata != null && !pdata.isNode())
{
@@ -163,7 +163,7 @@
final ItemData pdata =
avoidCheckExistedChildItems ? null : targetDataManager.getItemData(parent, new QPathEntry(
- pdef.getName(), 0), ItemType.PROPERTY);
+ pdef.getName(), 0), ItemType.PROPERTY, false);
if (pdata == null && !addedProperties.contains(pdef.getName()) || pdata != null && pdata.isNode())
{
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -182,9 +182,19 @@
/**
* {@inheritDoc}
*/
- public ItemData getItemData(NodeData parent, QPathEntry name, ItemType itemType) throws RepositoryException
+ public ItemData getItemData(NodeData parent, QPathEntry name, ItemType itemType)
+ throws RepositoryException
{
- final ItemData item = persistentManager.getItemData(parent, name, itemType);
+ return getItemData(parent, name, itemType, true);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ItemData getItemData(NodeData parent, QPathEntry name, ItemType itemType, boolean createNullItemData)
+ throws RepositoryException
+ {
+ final ItemData item = persistentManager.getItemData(parent, name, itemType, createNullItemData);
return item != null && item.isNode() ? initACL(parent, (NodeData)item) : item;
}
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -402,7 +402,16 @@
@Override
public ItemData getItemData(NodeData parentData, QPathEntry name, ItemType itemType) throws RepositoryException
{
+ return getItemData(parentData, name, itemType, true);
+ }
+ /**
+ * {@inheritDoc}
+ */
+ public ItemData getItemData(NodeData parentData, QPathEntry name, ItemType itemType, boolean createNullItemData)
+ throws RepositoryException
+ {
+
// 1. Try from cache
ItemData data = getCachedItemData(parentData, name, itemType);
@@ -419,7 +428,7 @@
data = getCachedItemData(parentData, name, itemType);
if (data == null)
{
- data = getPersistedItemData(parentData, name, itemType);
+ data = getPersistedItemData(parentData, name, itemType, createNullItemData);
}
}
finally
@@ -755,11 +764,36 @@
protected ItemData getPersistedItemData(NodeData parentData, QPathEntry name, ItemType itemType)
throws RepositoryException
{
+ return getPersistedItemData(parentData, name, itemType, true);
+ }
+
+ /**
+ * Get persisted ItemData.
+ *
+ * @param parentData
+ * parent
+ * @param name
+ * Item name
+ * @param itemType
+ * item type
+ * @param createNullItemData
+ * indicates if we need to create NullItemData
+ * @return ItemData
+ * @throws RepositoryException
+ * error
+ */
+ protected ItemData getPersistedItemData(NodeData parentData, QPathEntry name, ItemType itemType,
+ boolean createNullItemData) throws RepositoryException
+ {
ItemData data = super.getItemData(parentData, name, itemType);
if (cache.isEnabled())
{
- if (data == null)
+ if (data != null)
{
+ cache.put(data);
+ }
+ else if (createNullItemData)
+ {
if (itemType == ItemType.NODE || itemType == ItemType.UNKNOWN)
{
cache.put(new NullNodeData(parentData, name));
@@ -769,10 +803,6 @@
cache.put(new NullPropertyData(parentData, name));
}
}
- else
- {
- cache.put(data);
- }
}
return data;
}
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -139,15 +139,24 @@
@Override
public ItemData getItemData(NodeData parentData, QPathEntry name, ItemType itemType) throws RepositoryException
{
+ return getItemData(parentData, name, itemType, true);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ItemData getItemData(NodeData parentData, QPathEntry name, ItemType itemType, boolean createNullItemData)
+ throws RepositoryException
+ {
if (parentData != null)
{
final QPath ipath = QPath.makeChildPath(parentData.getQPath(), name);
if (isSystemDescendant(ipath) && !this.equals(versionDataManager))
{
- return versionDataManager.getItemData(parentData, name, itemType);
+ return versionDataManager.getItemData(parentData, name, itemType, createNullItemData);
}
}
- return super.getItemData(parentData, name, itemType);
+ return super.getItemData(parentData, name, itemType, createNullItemData);
}
/**
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/BufferedJBossCache.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/BufferedJBossCache.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/BufferedJBossCache.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -994,7 +994,8 @@
LOG.error("Unexpected object found by FQN:" + getFqn() + " and key:" + key + ". Expected Set, but found:"
+ existingObject.getClass().getName());
}
- else if (!localMode && cache.getConfiguration().getCacheMode() != CacheMode.LOCAL)
+ else if (!localMode && cache.getConfiguration().getCacheMode() != CacheMode.LOCAL
+ && cache.getMembers().size() > 1)
{
// to prevent consistency issue since we don't have the list in the local cache, we are in cluster env
// and we are in a non local mode, we clear the list in order to enforce other cluster nodes to reload it from the db
@@ -1029,7 +1030,7 @@
@Override
public void apply()
{
- if (!localMode && cache.getConfiguration().getCacheMode() != CacheMode.LOCAL)
+ if (!localMode && cache.getConfiguration().getCacheMode() != CacheMode.LOCAL && cache.getMembers().size() > 1)
{
// to prevent consistency issue since we don't have the list in the local cache, we are in cluster env
// and we are in a non local mode, we remove all the patterns in order to enforce other cluster nodes to reload them from the db
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -119,6 +119,15 @@
/**
* {@inheritDoc}
*/
+ public ItemData getItemData(NodeData parentData, QPathEntry name, ItemType itemType, boolean createNullItemData)
+ throws RepositoryException
+ {
+ return copyItemData(storageDataManager.getItemData(parentData, name, itemType, createNullItemData));
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public ItemData getItemData(String identifier) throws RepositoryException
{
return copyItemData(storageDataManager.getItemData(identifier));
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -254,6 +254,15 @@
*/
public ItemData getItemData(NodeData parentData, QPathEntry name, ItemType itemType) throws RepositoryException
{
+ return getItemData(parentData, name, itemType, true);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ItemData getItemData(NodeData parentData, QPathEntry name, ItemType itemType, boolean createNullItemData)
+ throws RepositoryException
+ {
ItemData data = null;
if (txStarted())
{
@@ -269,7 +278,7 @@
}
else
{
- return storageDataManager.getItemData(parentData, name, itemType);
+ return storageDataManager.getItemData(parentData, name, itemType, createNullItemData);
}
}
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -229,7 +229,7 @@
ItemData sameNameNode = null;
try
{
- sameNameNode = dataConsumer.getItemData(parentData, new QPathEntry(name, 0), ItemType.NODE);
+ sameNameNode = dataConsumer.getItemData(parentData, new QPathEntry(name, 0), ItemType.NODE, false);
}
catch (PathNotFoundException e)
{
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestMultipleListenersNotifying.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestMultipleListenersNotifying.java 2011-10-20 07:29:45 UTC (rev 5073)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestMultipleListenersNotifying.java 2011-10-20 12:10:12 UTC (rev 5074)
@@ -20,8 +20,14 @@
import org.exoplatform.services.jcr.dataflow.ItemStateChangesLog;
import org.exoplatform.services.jcr.dataflow.persistent.ItemsPersistenceListener;
+import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.ItemType;
+import org.exoplatform.services.jcr.datamodel.NodeData;
+import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.storage.SystemDataContainerHolder;
+import javax.jcr.RepositoryException;
+
/**
* Created by The eXo Platform SAS.
*
@@ -39,6 +45,12 @@
{
super(null, new SystemDataContainerHolder(null));
}
+
+ public ItemData getItemData(NodeData parent, QPathEntry name, ItemType itemType, boolean createNullItemData)
+ throws RepositoryException
+ {
+ return null;
+ }
}
class Counter
Added: jcr/branches/1.12.x/patch/1.12.11-GA/JCR-1661/readme.txt
===================================================================
--- jcr/branches/1.12.x/patch/1.12.11-GA/JCR-1661/readme.txt (rev 0)
+++ jcr/branches/1.12.x/patch/1.12.11-GA/JCR-1661/readme.txt 2011-10-20 12:10:12 UTC (rev 5074)
@@ -0,0 +1,68 @@
+Summary
+
+ * Status: TESTING: Regression during daily testing
+ * CCP Issue: N/A. Product Jira Issue: JCR-1661.
+ * Complexity: low
+
+The Proposal
+Problem description
+
+What is the problem to fix?
+During daily testing we have regressions on some of tests, detail: http://tests.exoplatform.org/JCR/1.12.10-GA/rev.4778/daily-performance-testing-results/jcr.core/index.html
+
+Fix description
+
+How is the problem fixed?
+ * For WorkspaceMoveTest and WorkspaceNodeUpdateTest: fixed by avoiding extra cache cleaning while running in cluster environment but with single node.
+ * For other tests: fixed by avoiding extra putting NullItemData instances to cache.
+
+Patch file: JCR-1661.patch
+
+Tests to perform
+
+Reproduction test
+
+ * Daily testing
+
+Tests performed at DevLevel
+
+ * Functional testing, daily testing
+
+Tests performed at QA/Support Level
+*
+Documentation changes
+
+Documentation changes:
+
+ * None
+
+Configuration changes
+
+Configuration changes:
+
+ * None
+
+Will previous configuration continue to work?
+
+ * Yes
+
+Risks and impacts
+
+Can this bug fix have any side effects on current client projects?
+
+ * No
+
+Is there a performance risk/cost?
+
+ * No
+
+Validation (PM/Support/QA)
+
+PM Comment
+* Patch approved.
+
+Support Comment
+* Validated on behalf of Support.
+
+QA Feedbacks
+*
More information about the exo-jcr-commits
mailing list