SQL deadlocks when using Get Computers through Advanced Threat Protection

book

Article ID: 171385

calendar_today

Updated On:

Products

Endpoint Protection Endpoint Detection and Response Advanced Threat Protection Platform

Issue/Introduction

When using the Endpoint Protection Manager (SEPM) REST API, you notice that GET COMPUTERS will sometimes fail when querying large environments.  Logs show that a SQL deadlock occured.  This happens after creating the SEPM Controller connection in Advanced Threat Protection (ATP) 3.0 or later. 

semapisrv.log: 

2018-02-12 15:30:10,596 [http-apr-8446-exec-9] ERROR
c.s.s.s.c.e.h.GlobalControllerExceptionHandler - EXCEPTION: 
### Error querying database.  Cause:
com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 
179)
was deadlocked on lock resources with another process and has been chosen as 
the
deadlock victim. Rerun the transaction.
### The error may exist in URL
[jar:file:/D:/Program%20Files%20(x86)/Symantec/Symantec%20Endpoint%20Protect
ion%20Manager/tomcat/instances/sepm-api/webapps/sepm/WEB-INF/lib/sepm-
server-
1.0.0.jar!/com/symantec/sepm/server/module/client/client_mapper_ibatis.xml]
### The error may involve
com.symantec.sepm.server.module.client.getComputersEx-Inline
### The error occurred while setting parameters
### SQL: { call SEM_GET_COMPUTERS (      ? ,          ?,         ? ,          
?,
              ?,         ?,           ?,         ?,         ?)     }

Cause

Interleaving calls of GET COMPUTERS and ENROLL through the REST API by ATP can cause a deadlock on the SEM_CLIENT table in large environments. 

Environment

ATP 3.0 or later

SEPM 14.0 or later

Resolution

{FIXED_DOWNLOAD_LATEST_SEP.EN_US}