You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by js...@apache.org on 2023/02/21 18:00:13 UTC
[unomi] 01/02: UNOMI-739 : add session and event purge property
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 <js...@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}