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
commit b8cc54ae0bb2961c419ca12592c7ba63389c5eab Author: jsinovassin <jsinovassinn...@jahia.com> AuthorDate: Mon Feb 20 16:48:35 2023 +0100 UNOMI-739 : add session and event purge property --- package/src/main/resources/etc/custom.system.properties | 4 ++++ .../unomi/services/impl/profiles/ProfileServiceImpl.java | 10 ++++++++++ services/src/main/resources/OSGI-INF/blueprint/blueprint.xml | 4 ++++ services/src/main/resources/org.apache.unomi.services.cfg | 6 ++++++ 4 files changed, 24 insertions(+) diff --git a/package/src/main/resources/etc/custom.system.properties b/package/src/main/resources/etc/custom.system.properties index e8b049d40..59f187983 100644 --- a/package/src/main/resources/etc/custom.system.properties +++ b/package/src/main/resources/etc/custom.system.properties @@ -164,6 +164,10 @@ org.apache.unomi.profile.purge.inactiveTime=${env:UNOMI_PROFILE_PURGE_INACTIVETI org.apache.unomi.profile.purge.existTime=${env:UNOMI_PROFILE_PURGE_EXISTTIME:--1} # Purge all monthly indexes (sessions/events) that have been created for a specific number of months org.apache.unomi.monthly.index.purge.existTime=${env:UNOMI_MONTHLY_INDEX_PURGE_EXISTTIME:-12} +# Purge sessions that have been created for a specific number of days +org.apache.unomi.sessions.purge.existTime=${env:UNOMI_SESSIONS_PURGE_EXISTTIME:-} +# Purge profiles that have been created for a specific number of days +org.apache.unomi.events.purge.existTime=${env:UNOMI_EVENTS_PURGE_EXISTTIME:-} # Refresh Elasticsearch after saving a profile org.apache.unomi.profile.forceRefreshOnSave=${env:UNOMI_PROFILE_REFRESH_ON_SAVE:-false} # When performing segment updates, this controls the size of the scrolling query size used to iterate over all the 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 c12dc411f..36f904aef 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 @@ -204,6 +204,8 @@ public class ProfileServiceImpl implements ProfileService, SynchronousBundleList private Integer purgeProfileExistTime = 0; private Integer purgeProfileInactiveTime = 0; private Integer purgeSessionsAndEventsTime = 0; + private Integer purgeSessionExistTime = 0; + private Integer purgeEventExistTime = 0; private Integer purgeProfileInterval = 0; private TimerTask purgeTask = null; private long propertiesRefreshInterval = 10000; @@ -299,6 +301,14 @@ public class ProfileServiceImpl implements ProfileService, SynchronousBundleList this.purgeProfileInterval = purgeProfileInterval; } + public void setPurgeSessionExistTime(Integer purgeSessionExistTime) { + this.purgeSessionExistTime = purgeSessionExistTime; + } + + public void setPurgeEventExistTime(Integer purgeEventExistTime) { + this.purgeEventExistTime = purgeEventExistTime; + } + private void schedulePropertyTypeLoad() { propertyTypeLoadTask = new TimerTask() { @Override diff --git a/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 3347588ab..f49f3c849 100644 --- a/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/services/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -29,6 +29,8 @@ <cm:property name="profile.purge.inactiveTime" value="180"/> <cm:property name="profile.purge.existTime" value="-1"/> <cm:property name="monthly.index.purge.existTime" value="12"/> + <cm:property name="session.purge.existTime" value="-1"/> + <cm:property name="event.purge.existTime" value="-1"/> <cm:property name="segment.update.batchSize" value="1000"/> <cm:property name="profile.forceRefreshOnSave" value="false"/> <cm:property name="definitions.refresh.interval" value="10000"/> @@ -235,6 +237,8 @@ <property name="purgeProfileInactiveTime" value="${services.profile.purge.inactiveTime}"/> <property name="purgeProfileExistTime" value="${services.profile.purge.existTime}"/> <property name="purgeSessionsAndEventsTime" value="${services.monthly.index.purge.existTime}"/> + <property name="purgeSessionExistTime" value="${services.session.purge.existTime}"/> + <property name="purgeEventExistTime" value="${services.event.purge.existTime}"/> <property name="forceRefreshOnSave" value="${services.profile.forceRefreshOnSave}"/> <property name="propertiesRefreshInterval" value="${services.properties.refresh.interval}"/> <property name="schedulerService" ref="schedulerServiceImpl"/> diff --git a/services/src/main/resources/org.apache.unomi.services.cfg b/services/src/main/resources/org.apache.unomi.services.cfg index 239305529..fbd9dff7d 100644 --- a/services/src/main/resources/org.apache.unomi.services.cfg +++ b/services/src/main/resources/org.apache.unomi.services.cfg @@ -30,6 +30,12 @@ profile.forceRefreshOnSave=${org.apache.unomi.profile.forceRefreshOnSave:-false} # Purge all monthly indexes (sessions/events) that have been created for a specific number of months monthly.index.purge.existTime=${org.apache.unomi.monthly.index.purge.existTime:-12} +# Purge sessions that have been created for a specific number of days +session.purge.existTime=${org.apache.unomi.session.purge.existTime:-} + +# Purge events that have been created for a specific number of days +event.purge.existTime=${org.apache.unomi.event.purge.existTime:-} + # When performing segment updates, this controls the size of the scrolling query size used to iterate over all the # profiles that need updating segment.update.batchSize=${org.apache.unomi.segment.update.batchSize:-1000}