This is an automated email from the ASF dual-hosted git repository. jsinovassinnaik pushed a commit to branch UNOMI-739-update-purge-system in repository https://gitbox.apache.org/repos/asf/unomi.git
The following commit(s) were added to refs/heads/UNOMI-739-update-purge-system by this push: new 98a6ea7af UNOMI-739 : remove useless code and fix test 98a6ea7af is described below commit 98a6ea7afdb57e3c48d65ab97a9e1f8ea7d8ca70 Author: jsinovassin <jsinovassinn...@jahia.com> AuthorDate: Wed Feb 22 16:51:27 2023 +0100 UNOMI-739 : remove useless code and fix test --- .../apache/unomi/api/services/ClusterService.java | 1 + .../org/apache/unomi/itests/ProfileServiceIT.java | 18 ++++++++---- .../ElasticSearchPersistenceServiceImpl.java | 34 ---------------------- .../unomi/persistence/spi/PersistenceService.java | 1 + .../rest/endpoints/ClusterServiceEndPoint.java | 1 + .../services/impl/profiles/ProfileServiceImpl.java | 6 ---- 6 files changed, 15 insertions(+), 46 deletions(-) diff --git a/api/src/main/java/org/apache/unomi/api/services/ClusterService.java b/api/src/main/java/org/apache/unomi/api/services/ClusterService.java index 4c89ba94b..299ac9098 100644 --- a/api/src/main/java/org/apache/unomi/api/services/ClusterService.java +++ b/api/src/main/java/org/apache/unomi/api/services/ClusterService.java @@ -41,6 +41,7 @@ public interface ClusterService { * * @param date the Date before which all data needs to be removed */ + @Deprecated void purge(final Date date); /** diff --git a/itests/src/test/java/org/apache/unomi/itests/ProfileServiceIT.java b/itests/src/test/java/org/apache/unomi/itests/ProfileServiceIT.java index 79a3bf843..bda614d81 100644 --- a/itests/src/test/java/org/apache/unomi/itests/ProfileServiceIT.java +++ b/itests/src/test/java/org/apache/unomi/itests/ProfileServiceIT.java @@ -372,30 +372,36 @@ public class ProfileServiceIT extends BaseIT { (count) -> count == (450 + originalEventsCount), 1000, 100); // Should have no effect - profileService.purgeMonthlyItems(0); + profileService.purgeSessionItems(0); keepTrying("Sessions number should be 450", () -> persistenceService.getAllItemsCount(Session.ITEM_TYPE), (count) -> count == (450 + originalSessionsCount), 1000, 100); + profileService.purgeEventItems(0); keepTrying("Events number should be 450", () -> persistenceService.getAllItemsCount(Event.ITEM_TYPE), (count) -> count == (450 + originalEventsCount), 1000, 100); // Should have no effect there is no monthly items older than 40 months - profileService.purgeMonthlyItems(40); + profileService.purgeSessionItems(40); keepTrying("Sessions number should be 450", () -> persistenceService.getAllItemsCount(Session.ITEM_TYPE), (count) -> count == (450 + originalSessionsCount), 1000, 100); + profileService.purgeEventItems(40); keepTrying("Events number should be 450", () -> persistenceService.getAllItemsCount(Event.ITEM_TYPE), (count) -> count == (450 + originalEventsCount), 1000, 100); - // Should purge monthly items older than 25 days - profileService.purgeMonthlyItems(25); + // Should purge sessions older than 25 days + profileService.purgeSessionItems(25); keepTrying("Sessions number should be 300", () -> persistenceService.getAllItemsCount(Session.ITEM_TYPE), (count) -> count == (300 + originalSessionsCount), 1000, 100); + // Should purge events older than 25 days + profileService.purgeEventItems(25); keepTrying("Events number should be 300", () -> persistenceService.getAllItemsCount(Event.ITEM_TYPE), (count) -> count == (300 + originalEventsCount), 1000, 100); - // Should purge monthly items older than 5 days - profileService.purgeMonthlyItems(5); + // Should purge sessions older than 5 days + profileService.purgeSessionItems(5); keepTrying("Sessions number should be 150", () -> persistenceService.getAllItemsCount(Session.ITEM_TYPE), (count) -> count == (150 + originalSessionsCount), 1000, 100); + // Should purge events older than 5 days + profileService.purgeEventItems(5); keepTrying("Events number should be 150", () -> persistenceService.getAllItemsCount(Event.ITEM_TYPE), (count) -> count == (150 + originalEventsCount), 1000, 100); } diff --git a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java index 87416e22e..b00843cac 100644 --- a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java +++ b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java @@ -148,8 +148,6 @@ import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.cert.X509Certificate; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -2386,38 +2384,6 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService, @Override public void purge(final Date date) { - new InClassLoaderExecute<Object>(metricsService, this.getClass().getName() + ".purgeWithDate", this.bundleContext, this.fatalIllegalStateErrors, throwExceptions) { - @Override - protected Object execute(Object... args) throws Exception { - - GetIndexRequest getIndexRequest = new GetIndexRequest(getAllIndexForQuery()); - GetIndexResponse getIndexResponse = client.indices().get(getIndexRequest, RequestOptions.DEFAULT); - String[] indices = getIndexResponse.getIndices(); - - SimpleDateFormat d = new SimpleDateFormat("yyyy-MM"); - - List<String> toDelete = new ArrayList<>(); - for (String currentIndexName : indices) { - int indexDatePrefixPos = currentIndexName.indexOf(INDEX_DATE_PREFIX); - if (indexDatePrefixPos > -1) { - try { - Date indexDate = d.parse(currentIndexName.substring(indexDatePrefixPos + INDEX_DATE_PREFIX.length())); - - if (indexDate.before(date)) { - toDelete.add(currentIndexName); - } - } catch (ParseException e) { - throw new Exception("Cannot parse index name " + currentIndexName, e); - } - } - } - if (!toDelete.isEmpty()) { - DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(toDelete.toArray(new String[toDelete.size()])); - client.indices().delete(deleteIndexRequest, RequestOptions.DEFAULT); - } - return null; - } - }.catchingExecuteInClassLoader(true); } @Override diff --git a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PersistenceService.java b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PersistenceService.java index 7ed85e767..751a34c85 100644 --- a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PersistenceService.java +++ b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PersistenceService.java @@ -680,6 +680,7 @@ public interface PersistenceService { * * @param date the date (not included) before which we want to erase all data */ + @Deprecated void purge(Date date); /** diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ClusterServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ClusterServiceEndPoint.java index 9cfeae9a2..d0c7cf29b 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ClusterServiceEndPoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ClusterServiceEndPoint.java @@ -87,6 +87,7 @@ public class ClusterServiceEndPoint { */ @GET @Path("/purge/{date}") + @Deprecated public void purge(@PathParam("date") String date) { try { clusterService.purge(new SimpleDateFormat("yyyy-MM-dd").parse(date)); diff --git a/services/src/main/java/org/apache/unomi/services/impl/profiles/ProfileServiceImpl.java b/services/src/main/java/org/apache/unomi/services/impl/profiles/ProfileServiceImpl.java index 399c3e3b9..05ffb72fd 100644 --- a/services/src/main/java/org/apache/unomi/services/impl/profiles/ProfileServiceImpl.java +++ b/services/src/main/java/org/apache/unomi/services/impl/profiles/ProfileServiceImpl.java @@ -471,12 +471,6 @@ public class ProfileServiceImpl implements ProfileService, SynchronousBundleList } } - private GregorianCalendar getMonth(int offset) { - GregorianCalendar gc = new GregorianCalendar(); - gc = new GregorianCalendar(gc.get(Calendar.YEAR), gc.get(Calendar.MONTH), 1); - gc.add(Calendar.MONTH, offset); - return gc; - } public long getAllProfilesCount() { return persistenceService.getAllItemsCount(Profile.ITEM_TYPE);