[ 
https://issues.apache.org/jira/browse/UNOMI-724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francois Gerthoffert updated UNOMI-724:
---------------------------------------
    Description: 
A POC have been done to validate the usage of Rollover ES API that combine a 
lifecycle policy and aliases to replace the current monthly indices rotation.

The goal behind that is to apply current ElasticSearch recommandation on 
Index/Shards sizing to reduce costs related to monthly indices not being sized 
correctly due to unpredictable amount of events/sessions per months.

POC PR: [https://github.com/apache/unomi/pull/567]
h2. Prerequisite before starting this ticket:

Read carefully ES documentation regarding:
 * Rollover API: 
[https://www.elastic.co/guide/en/elasticsearch/reference/7.17/ilm-rollover.html]
 

h2. What remain to be done in current ticket ?
 * Cleanup the POC
 ** cleanup used old functions from previous implem
 ** deprecate old param not used like: *dateHint*
 ** global code review and cleanup of the new implem (if necessary contact me 
directly to discuss improvement point)
 * make the rollover configurable using configuration file ({*}max_age, 
max_size, max_primary_shard_size, max_docs.{*} See documentations regarding the 
rollover capabilities: 
[https://www.elastic.co/guide/en/elasticsearch/reference/7.17/ilm-rollover.html]
 )

Out of current ticket scope: 
 - check performance for session loaded using query: 
https://issues.apache.org/jira/browse/UNOMI-725
 - fixing the purge system: https://issues.apache.org/jira/browse/UNOMI-726
 - fixing the merge system: https://issues.apache.org/jira/browse/UNOMI-727
 - handle migration: https://issues.apache.org/jira/browse/UNOMI-728

h2. Automated test

Query Elasticsearch to verify lifecycle policy once the configuration has been 
applied in Unomi (this way we do not test Elasticsearch rollover mechanism but 
ensure the configuration is properly applied).
h2. Manual Test Case: 

 - Pick one of the configuration (such as max_docs), configure Unomi with a 
very low value

 - Create anonymous session

 - Verify rotation is happening when sessions are created and get above the 
configured threshold.

  was:
A POC have been done to validate the usage of Rollover ES API that combine a 
lifecycle policy and aliases to replace the current monthly indices rotation.

The goal behind that is to apply current ElasticSearch recommandation on 
Index/Shards sizing to reduce costs related to monthly indices not being sized 
correctly due to unpredictable amount of events/sessions per months.

POC PR: [https://github.com/apache/unomi/pull/567]
h2. Prerequisite before starting this ticket:

Read carefully ES documentation regarding:
 * Rollover API: 
[https://www.elastic.co/guide/en/elasticsearch/reference/7.17/ilm-rollover.html]
 

h2. What remain to be done in current ticket ?
 * Cleanup the POC
 ** cleanup used old functions from previous implem
 ** deprecate old param not used like: *dateHint*
 ** global code review and cleanup of the new implem (if necessary contact me 
directly to discuss improvement point)
 * make the rollover configurable using configuration file ({*}max_age, 
max_size, max_primary_shard_size, max_docs.{*} See documentations regarding the 
rollover capabilities: 
[https://www.elastic.co/guide/en/elasticsearch/reference/7.17/ilm-rollover.html]
 )

Out of current ticket scope: 
 - check performance for session loaded using query: 
https://issues.apache.org/jira/browse/UNOMI-725
 - fixing the purge system: https://issues.apache.org/jira/browse/UNOMI-726
 - fixing the merge system: https://issues.apache.org/jira/browse/UNOMI-727
 - handle migration: https://issues.apache.org/jira/browse/UNOMI-728

h2. Automated test

Query Elasticsearch to verify lifecycle policy once the configuration has been 
applied in Unomi
h2. Test Case: 

 - Pick one of the configuration (such as max_docs), configure Unomi with a 
very low value

 - Create anonymous session

 - Verify rotation is happening when sessions are created and get above the 
configured threshold.


> Session/Event index rollover: Implement ElasticSearch rollover recommandation 
> and system to manage current monthly indices
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: UNOMI-724
>                 URL: https://issues.apache.org/jira/browse/UNOMI-724
>             Project: Apache Unomi
>          Issue Type: Improvement
>    Affects Versions: unomi-2.1.0
>            Reporter: Kevan Jahanshahi
>            Priority: Major
>             Fix For: unomi-2.2.0
>
>
> A POC have been done to validate the usage of Rollover ES API that combine a 
> lifecycle policy and aliases to replace the current monthly indices rotation.
> The goal behind that is to apply current ElasticSearch recommandation on 
> Index/Shards sizing to reduce costs related to monthly indices not being 
> sized correctly due to unpredictable amount of events/sessions per months.
> POC PR: [https://github.com/apache/unomi/pull/567]
> h2. Prerequisite before starting this ticket:
> Read carefully ES documentation regarding:
>  * Rollover API: 
> [https://www.elastic.co/guide/en/elasticsearch/reference/7.17/ilm-rollover.html]
>  
> h2. What remain to be done in current ticket ?
>  * Cleanup the POC
>  ** cleanup used old functions from previous implem
>  ** deprecate old param not used like: *dateHint*
>  ** global code review and cleanup of the new implem (if necessary contact me 
> directly to discuss improvement point)
>  * make the rollover configurable using configuration file ({*}max_age, 
> max_size, max_primary_shard_size, max_docs.{*} See documentations regarding 
> the rollover capabilities: 
> [https://www.elastic.co/guide/en/elasticsearch/reference/7.17/ilm-rollover.html]
>  )
> Out of current ticket scope: 
>  - check performance for session loaded using query: 
> https://issues.apache.org/jira/browse/UNOMI-725
>  - fixing the purge system: https://issues.apache.org/jira/browse/UNOMI-726
>  - fixing the merge system: https://issues.apache.org/jira/browse/UNOMI-727
>  - handle migration: https://issues.apache.org/jira/browse/UNOMI-728
> h2. Automated test
> Query Elasticsearch to verify lifecycle policy once the configuration has 
> been applied in Unomi (this way we do not test Elasticsearch rollover 
> mechanism but ensure the configuration is properly applied).
> h2. Manual Test Case: 
>  - Pick one of the configuration (such as max_docs), configure Unomi with a 
> very low value
>  - Create anonymous session
>  - Verify rotation is happening when sessions are created and get above the 
> configured threshold.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to