From a5fadf92ff0855299f89dea112896a37b0d6ed8a Mon Sep 17 00:00:00 2001 From: agazzarini Date: Tue, 10 Mar 2020 13:56:44 +0100 Subject: [PATCH] [ SEARCH-2090 ] Delete node only if that exists (SEARCH-2096) --- .../alfresco/solr/SolrInformationServer.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/search-services/alfresco-search/src/main/java/org/alfresco/solr/SolrInformationServer.java b/search-services/alfresco-search/src/main/java/org/alfresco/solr/SolrInformationServer.java index 9de54db5e..b2369391b 100644 --- a/search-services/alfresco-search/src/main/java/org/alfresco/solr/SolrInformationServer.java +++ b/search-services/alfresco-search/src/main/java/org/alfresco/solr/SolrInformationServer.java @@ -2297,16 +2297,23 @@ public class SolrInformationServer implements InformationServer private void deleteErrorNode(UpdateRequestProcessor processor, SolrQueryRequest request, Node node) throws IOException { - DeleteUpdateCommand delErrorDocCmd = new DeleteUpdateCommand(request); - delErrorDocCmd.setId(PREFIX_ERROR + node.getId()); - processor.processDelete(delErrorDocCmd); + String errorDocId = PREFIX_ERROR + node.getId(); + if (getDocListSize(FIELD_SOLR4_ID + ":" + errorDocId) > 0) + { + DeleteUpdateCommand delErrorDocCmd = new DeleteUpdateCommand(request); + delErrorDocCmd.setId(errorDocId); + processor.processDelete(delErrorDocCmd); + } } private void deleteNode(UpdateRequestProcessor processor, SolrQueryRequest request, long dbid) throws IOException { - DeleteUpdateCommand delDocCmd = new DeleteUpdateCommand(request); - delDocCmd.setQuery(FIELD_DBID + ":" + dbid); - processor.processDelete(delDocCmd); + if (getDocListSize(FIELD_DBID + ":" + dbid) > 0) + { + DeleteUpdateCommand delDocCmd = new DeleteUpdateCommand(request); + delDocCmd.setQuery(FIELD_DBID + ":" + dbid); + processor.processDelete(delDocCmd); + } } private void deleteNode(UpdateRequestProcessor processor, SolrQueryRequest request, Node node) throws IOException