You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by "Jerome Blanchard (Jira)" <ji...@apache.org> on 2025/09/18 09:38:00 UTC
[jira] [Created] (UNOMI-908) Replace ClusterNode Persistence with Infinispan Distributed CacheContext
Jerome Blanchard created UNOMI-908:
--------------------------------------
Summary: Replace ClusterNode Persistence with Infinispan Distributed CacheContext
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
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)