mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Fix for ALF-20185 - BM-0013: dashboard.xml already exists ERRORS in log file.
- ADMRemoteStore now allows a WRITE to be converted to an UPDATE to avoid terrifying FileExistsException exceptions in the log. - Reproduced original issue with a JMeter test that creates a single user, and then that same user performs 10 simultaneous login attempts with 10 threads - Message no longer appears in log running same JMeter test after changes. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@56261 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -467,17 +467,34 @@ public class ADMRemoteStore extends BaseRemoteStore
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
FileInfo fileInfo = fileFolderService.create(
|
final String name = encpath.substring(off + 1);
|
||||||
parentFolderRef, encpath.substring(off + 1), ContentModel.TYPE_CONTENT);
|
// existence check - convert to an UPDATE - could occur if multiple threads request
|
||||||
Map<QName, Serializable> aspectProperties = new HashMap<QName, Serializable>(1, 1.0f);
|
// a write to the same document - a valid possibility but rare
|
||||||
aspectProperties.put(ContentModel.PROP_IS_INDEXED, false);
|
if (nodeService.getChildByName(parentFolderRef, ContentModel.ASSOC_CONTAINS, name) == null)
|
||||||
unprotNodeService.addAspect(fileInfo.getNodeRef(), ContentModel.ASPECT_INDEX_CONTROL, aspectProperties);
|
{
|
||||||
ContentWriter writer = contentService.getWriter(
|
FileInfo fileInfo = fileFolderService.create(
|
||||||
fileInfo.getNodeRef(), ContentModel.PROP_CONTENT, true);
|
parentFolderRef, name, ContentModel.TYPE_CONTENT);
|
||||||
writer.guessMimetype(fileInfo.getName());
|
Map<QName, Serializable> aspectProperties = new HashMap<QName, Serializable>(1, 1.0f);
|
||||||
writer.putContent(content);
|
aspectProperties.put(ContentModel.PROP_IS_INDEXED, false);
|
||||||
if (logger.isDebugEnabled())
|
unprotNodeService.addAspect(fileInfo.getNodeRef(), ContentModel.ASPECT_INDEX_CONTROL, aspectProperties);
|
||||||
logger.debug("createDocument: " + fileInfo.toString());
|
ContentWriter writer = contentService.getWriter(
|
||||||
|
fileInfo.getNodeRef(), ContentModel.PROP_CONTENT, true);
|
||||||
|
writer.guessMimetype(fileInfo.getName());
|
||||||
|
writer.putContent(content);
|
||||||
|
if (logger.isDebugEnabled())
|
||||||
|
logger.debug("createDocument: " + fileInfo.toString());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ContentWriter writer = contentService.getWriter(
|
||||||
|
nodeService.getChildByName(parentFolderRef, ContentModel.ASSOC_CONTAINS, name),
|
||||||
|
ContentModel.PROP_CONTENT,
|
||||||
|
true);
|
||||||
|
writer.guessMimetype(name);
|
||||||
|
writer.putContent(content);
|
||||||
|
if (logger.isDebugEnabled())
|
||||||
|
logger.debug("createDocument (updated): " + name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user