Hi all, Please find below the meeting notes for our last meeting. Please let me know if you have any questions, corrections or comments.
Regards, Serge... Unomi Monthly Meeting – October 9 2025 ⸻ General Info Date: October 9 2025 Format: Community sync and technical updates Main topics: – Elasticsearch 9 migration – OpenSearch branch – Karaf version update – Caching and scheduler proposals – Documentation and release planning ⸻ 1. Elasticsearch 9 Migration Status • Migration to Elasticsearch 9 completed; support for Elasticsearch 7 removed. • On-premise tests (run by Jahia) are successful and stable. • Elastic Cloud migration tests will begin by the end of October 2025 using cloned environments. • Documentation for ES9 exists, but no official “ES7 → ES9” guide yet. Jahia will contribute its own documentation. Performance • Tests show no performance regression compared with ES7, but no clear improvement either. • Results consistent across local and cloud deployments. Timeline and Constraints • Unomi 3.0 release planned after Elastic Cloud tests. • Target: early to mid-November 2025 (first or second week). • Elasticsearch 7 EOL on Elastic Cloud → January 15 2026. • No new ES7 environments after that date (but existing ones may continue temporarily). • Customer migrations should finish by mid-January 2026. Proposals • Release 3.0 only after Elastic Cloud tests are validated, to be able to fix any issues seen during migration testing • Add a comprehensive migration guide to the docs. • Track migration progress in community updates through January 2026. ⸻ 2. OpenSearch Branch Status • Branch cleaned to contain only OpenSearch-related code, removed all other changes • Merged Karaf updates and Elasticsearch 9 compatibility. • Compilation ongoing; integration tests pending. Issues • karaf-maven-plugin:verify creates dependency challenges between ES and OS features. • Past Event Condition Builder causes a circular dependency between services and persistence. Proposals • Move Past Event Condition Builder to a separate bundle to remove the cycle. • Keep separate features for ES and OS while simplifying verify configuration. Action Items – Serge → Complete OpenSearch merge and integration tests (ongoing). – Serge → Refactor Past Event Condition Builder to break dependency cycle. ⸻ 3. Karaf Integration Status • Upgrade to Karaf 4.4.8 works well with new ES client. • Tests with Karaf 4.5.0-SNAPSHOT show no issues. • No regressions; error reporting slightly better. Future Plans • Evaluate Karaf 4.4.9 and 4.5.0 for future use. • Keep aligning feature structure with Jakarta EE standards. ⸻ 4. Scheduler and Caching System Discussion Summary • Jérôme presented an annotation-based approach (similar to Jakarta EE) for caching and scheduling without code changes. • Serge agreed to explore later but warned about potential adding of node-to-node chatter and library maintenance (Ex: EXCache). • For cache implementations it would requires proxies for classes, which Serge was not very fond of but not opposed to (bad experience with Blueprint proxies for debugging). • Infinispan mentioned as future option, but priority remains stability for 3.0. Current Implementation • Unomi’s scheduler is lightweight, scales via minimal polling, and custom locking implementation. • Karaf’s Quartz scheduler not recommended because it depends on DB locking and has scalability issues and is no longer actively developped (in maintenance mode). Proposals • After 3.0, consider a scheduler-annotation feature with pluggable implementations. • Possibly split the scheduler into its own feature for cleaner testing. • Keep current scheduler for 3.0. ⸻ 5. Blueprint → DS Conversion Status • Serge started a Maven plugin to convert Blueprint XML to Declarative Services annotations. • Common patterns handled automatically. • Work paused until after 3.0 due to timing. Proposals • Resume conversion after 3.0 as internal refactor that can happen with the 3.x lifetime • Maintain identical config functionality with different loading mechanism. ⸻ 6. Documentation and Release Process Manual Generation • Deployment script now keeps two versions online: “stable” and “snapshot.” • SCM plugin issues fixed by switching to direct SVN commands. • Scripts check for required tools before running. Release Automation • Apache Trusted Release Platform under development and presented at the Community over Code ASF event. – Automates license and integrity checks. – Simplifies release votes (web or email). • Apache Nexus server to be upgraded in the (near) future by the ASF – Will integrate with Nexus staging API once upgraded. Proposals • Test and adopt the Trusted Release Platform for future releases. • Further automate the release process to be fully automated once the new Nexus version is available ⸻ 7. CXF and Jakarta EE Discussion Status • CXF dependency is minimal; most APIs now use standard JAX-RS. • Discussion about potentially moving entirely to Jakarta EE implementations. ⸻ 8. Next Steps and Follow-up • Continue preparing for Unomi 3.0 release once Elastic Cloud tests are successful. • Serge will continue work on preparing PRs to merge his changes from the unomi-3-dev branch but must first merge back all upstream changes to his branch ⸻ 9. Key Timelines • Start Elastic Cloud migration tests → End of October 2025 (blocker for 3.0). • Unomi 3.0 release → Early to Mid-November 2025 (pending tests). • Finish customer migrations (ES7→ES9) → Mid-January 2026 (before Elastic Cloud EOL).
