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

68223: Merged V4.2-BUG-FIX (4.2.3) to HEAD-BUG-FIX (4.3/Cloud)
      67994: Merged V4.2.2 (4.2.2) to V4.2-BUG-FIX (4.2.3)
         67783: Merged DEV to V4.2.2-PATHCES (4.2.2)
            67645: MNT-10679: BM-0012: Run v420b1494_01: Exception from executeScript
             - Catch SocketException and report in log that client has cut off communication. 


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@68471 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mark Rogers
2014-04-30 16:35:06 +00:00
parent 615378aae6
commit 7fb813b6ac

View File

@@ -20,6 +20,7 @@ package org.alfresco.repo.web.scripts;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.net.SocketException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@@ -27,6 +28,7 @@ import javax.servlet.http.HttpServletResponse;
import javax.transaction.Status; import javax.transaction.Status;
import javax.transaction.UserTransaction; import javax.transaction.UserTransaction;
import org.alfresco.error.ExceptionStackUtil;
import org.alfresco.repo.model.Repository; import org.alfresco.repo.model.Repository;
import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork; import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
@@ -370,6 +372,8 @@ public class RepositoryContainer extends AbstractRuntimeContainer
*/ */
protected void transactionedExecute(final WebScript script, final WebScriptRequest scriptReq, final WebScriptResponse scriptRes) protected void transactionedExecute(final WebScript script, final WebScriptRequest scriptReq, final WebScriptResponse scriptRes)
throws IOException throws IOException
{
try
{ {
final Description description = script.getDescription(); final Description description = script.getDescription();
if (description.getRequiredTransaction() == RequiredTransaction.none) if (description.getRequiredTransaction() == RequiredTransaction.none)
@@ -512,6 +516,26 @@ public class RepositoryContainer extends AbstractRuntimeContainer
} }
} }
catch (IOException ioe)
{
Throwable socketException = ExceptionStackUtil.getCause(ioe, SocketException.class);
if (socketException != null && socketException.getMessage().contains("Broken pipe"))
{
if (logger.isDebugEnabled())
{
logger.warn("Client has cut off communication", ioe);
}
else
{
logger.info("Client has cut off communication");
}
}
else
{
throw ioe;
}
}
}
/** /**
* Execute script within required level of transaction as required effective user. * Execute script within required level of transaction as required effective user.