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

Jerome Blanchard updated UNOMI-908:
-----------------------------------
    Summary: Replace ClusterNode Persistence with Distributed Cache  (was: 
Replace ClusterNode Persistence with Infinispan Distributed CacheContext)

> Replace ClusterNode Persistence with Distributed Cache
> ------------------------------------------------------
>
>                 Key: UNOMI-908
>                 URL: https://issues.apache.org/jira/browse/UNOMI-908
>             Project: Apache Unomi
>          Issue Type: Improvement
>          Components: unomi(-core)
>    Affects Versions: unomi-3.0.0
>            Reporter: Jerome Blanchard
>            Priority: Major
>
> Currently, the ClusterService implementation in Unomi stores each ClusterNode 
> as a document in Elasticsearch. A scheduled job updates a heartbeat timestamp 
> every 10 seconds.
> h3. Problem
> This approach is resource-intensive and not well-suited for the use case for 
> a usage with ElasticCloud, where operational costs are directly impacted by 
> the number of indexes. The ClusterNode implementation creates an additional 
> index, unnecessarily increasing costs.
> h3. Proposal
> Replace the current persistence-based storage of ClusterNode objects with an 
> InMemory cache (also supporting distributed cache for clustered instances). 
> Infinispan could be a good candidate as it is available as a Karaf feature 
> and can be easily integrated. This change will:
> Reduce operational costs by removing the need for a dedicated Elasticsearch 
> index for cluster nodes.
> Improve performance and scalability for cluster node management.
> Align with other planned features, such as a distributed entity cache, which 
> will also leverage the Infinispan Karaf feature.
> h3. Tasks
> Refactor ClusterServiceImpl to use distributed cache for storing and updating 
> ClusterNode information.
> Remove Elasticsearch-based persistence logic for ClusterNode.
> Ensure heartbeat updates are managed via distributed cache ; if not, rely on 
> the distributed cache underlying cluster management to manage ClusterNode 
> entities (JGroup for Infinispan)
> Update documentation to reflect the new architecture.
> Validate compatibility with existing and planned features using Infinispan.
> h3. Definition of Done
> ClusterNode information is available and updated without Elasticsearch.
> No additional Elasticsearch index is created for cluster nodes.
> Heartbeat mechanism works reliably.
> All relevant documentation is updated.
> Integration tests confirm correct cluster node management and heartbeat 
> updates.
> No regression in cluster management functionality.



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

Reply via email to