diff --git a/build.gradle b/build.gradle index 6f274e1d9..2886725f8 100644 --- a/build.gradle +++ b/build.gradle @@ -146,6 +146,11 @@ subprojects { } } } + + configurations.all { + exclude group: "org.slf4j", module: "slf4j-log4j12" + exclude group: "log4j", module: "log4j" + } } signing { diff --git a/elastic/src/main/java/org/openmbee/mms/elastic/services/ElasticSearchService.java b/elastic/src/main/java/org/openmbee/mms/elastic/services/ElasticSearchService.java index 3e9e1b1d3..632eb23d4 100644 --- a/elastic/src/main/java/org/openmbee/mms/elastic/services/ElasticSearchService.java +++ b/elastic/src/main/java/org/openmbee/mms/elastic/services/ElasticSearchService.java @@ -1,7 +1,10 @@ package org.openmbee.mms.elastic.services; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; +import org.elasticsearch.action.ActionListener; +import org.elasticsearch.action.search.ClearScrollRequest; +import org.elasticsearch.action.search.ClearScrollResponse; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.elasticsearch.action.fieldcaps.FieldCapabilities; import org.elasticsearch.action.fieldcaps.FieldCapabilitiesRequest; import org.elasticsearch.action.fieldcaps.FieldCapabilitiesResponse; @@ -37,7 +40,7 @@ @Service public class ElasticSearchService implements SearchService { - private final Logger logger = LogManager.getLogger(getClass()); + private final Logger logger = LoggerFactory.getLogger(getClass()); @Value("${elasticsearch.limit.result}") protected int resultLimit; @@ -46,6 +49,19 @@ public class ElasticSearchService implements SearchService { protected RestHighLevelClient client; protected NodeDAO nodeRepository; + protected ActionListener listener = new ActionListener<>() { + @Override + public void onResponse(ClearScrollResponse clearScrollResponse) { + logger.debug("Cleared: " + clearScrollResponse.getNumFreed()); + } + + @Override + public void onFailure(Exception e) { + logger.error("Scroll clear failure: "); + logger.error(e.getMessage()); + } + }; + @Autowired public void setRestHighLevelClient(@Qualifier("clientElastic") RestHighLevelClient client) { this.client = client; @@ -197,6 +213,12 @@ private List performElasticQuery(Set allNodeDocIds, SearchR } while (scrollId != null && searchResponse.getHits().getHits() != null && searchResponse.getHits().getHits().length != 0); + if (scrollId != null) { + ClearScrollRequest clearScrollRequest = new ClearScrollRequest(); + clearScrollRequest.addScrollId(scrollId); + client.clearScrollAsync(clearScrollRequest, RequestOptions.DEFAULT, listener); + } + return result; } diff --git a/gradle.properties b/gradle.properties index 21320ea0e..a642f3e58 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=4.0.5 +version=4.0.6 group=org.openmbee.mms springBootVersion=2.2.6.RELEASE diff --git a/twc/src/main/java/org/openmbee/mms/twc/config/TwcAuthSecurityConfig.java b/twc/src/main/java/org/openmbee/mms/twc/config/TwcAuthSecurityConfig.java index 95e041c0b..29c6f7e72 100644 --- a/twc/src/main/java/org/openmbee/mms/twc/config/TwcAuthSecurityConfig.java +++ b/twc/src/main/java/org/openmbee/mms/twc/config/TwcAuthSecurityConfig.java @@ -1,7 +1,7 @@ package org.openmbee.mms.twc.config; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.openmbee.mms.twc.security.TwcAuthenticationFilter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -16,7 +16,7 @@ @EnableWebSecurity @EnableTransactionManagement public class TwcAuthSecurityConfig { - private static Logger logger = LogManager.getLogger(TwcAuthSecurityConfig.class); + private static Logger logger = LoggerFactory.getLogger(TwcAuthSecurityConfig.class); public void setAuthConfig(HttpSecurity http) throws Exception { http.addFilterBefore(twcAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);