[ 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)