Hi all, I have produced the meeting notes for our monthly meeting. Please don't hesitate to reply if you have questions/expansions or corrections.
Best regards, Serge... Apache Unomi - Monthly Community Meeting Summary Date: 11 December 2025 Time: 09:00-10:00 CET (via Zoom) Type: Community discussion (non-binding; formal decisions must occur on the mailing lists) This email summarizes the discussions held during the monthly Unomi community meeting. In accordance with ASF policy, no formal decisions were taken during the meeting. 1. Mailing List Issues Serge submitted the monthly board report and included a paragraph originally written by Francois, whose previous message was incorrectly rejected by ezmlm moderation. Serge attempted to use ezmlm moderation commands from Gmail but did not receive any responses; this will be investigated with ASF Infra. The team also discussed using SuperWhisper [3] for meeting transcription, which produced higher-quality output compared to Zoom. 2. Board Reports & Communication The board report was submitted. Participants noted the usefulness of occasional acknowledgments on mailing list threads for board reports to maintain shared awareness across the community. 3. unomi-3-dev Branch Development Serge provided updates on ongoing work in the “unomi-3-dev” branch of the Unomi repository on GitHub [1]. Key points included: • A number of historical manual merges resulted in merge conflicts. • A bug was identified where only one parent-level condition was evaluated instead of supporting nested conditions. • Git history cleanup is in progress and is required before pull requests can be submitted. • The branch currently uses OpenSearch 3.0.0 and Serge will try to test compatibility with newer OpenSearch versions when time allows. Part of the work related to startup and refactoring is tracked under the JIRA ticket UNOMI-919 [5], with an associated GitHub pull request [6]. Once cleanup is complete, the work will be split into several GitHub pull requests for review by the Unomi development team. 4. YAML toString() Implementation A ticket already exists for introducing YAML-formatted toString() output to improve readability of complex objects (conditions, segments, events) [4]. A partial implementation is under testing. 5. Features, Health Checks, and OpenSearch Docker Integration Issues A pull request has been submitted containing updated feature modules and health checks, separate features for OpenSearch and Elasticsearch, configuration via XML feature files, and an updated distribution package. Jerome also noted encountering a Docker API version mismatch on Ubuntu, which he resolved locally on his machine; this fix is not currently in the pull request. 6. Number of Visits Issue The team discussed inconsistencies between “numberOfVisits” stored in profiles and values derived from session history: • Sessions older than 12 months are purged, but the profile visit counter is not recalculated. • A previous behavior caused the counter to drift upward over time, although not to extreme magnitudes. A ticket will be validated or created to track work on recalculation logic. 7. Visit Count Aggregation Enhancements Serge noted that he implemented a rolling time-window aggregation model (for example, last 6 or 12 months) for a customer, which generated discussion on whether this approach might be useful more broadly. 8. Elasticsearch Maven Plugin Issues The Elasticsearch Maven Plugin [2] continues to cause issues in integration tests: • It injects a default wildcard index template. • It sets replica count to zero. • In Elasticsearch 9.x, templates are no longer merged, resulting in incorrect configuration and startup failures. A ticket will be created to explore replacing the plugin with a Docker-based test setup similar to what is currently used for OpenSearch. 9. Migration Variable Bug A configuration variable controlling maximum field depth was deprecated in Unomi 2.x and removed in 3.x. Direct migration from 1.6 to 3.0 may fail for deployments with large event payloads. Further discussion is needed to decide whether to address this via migration scripts, configuration guidance, or documentation. 10. Migration Script Issue - Item ID Suffix The migration script introduced in version 2.2.0 adds suffixes to both Elasticsearch IDs and item IDs. Suffixing item IDs appears unintended and introduces inconsistencies. Serge will prepare a pull request to remove item ID suffix logic and add cleanup steps if needed. 11. Unomi Metrics Service Limitations Jonathan noted that the current Unomi metrics service is heavily affected by periodic automatic refresh operations, making it difficult to analyze performance for specific requests. 12. Tracer Implementation Serge presented a new tracer system that builds hierarchical execution trees per request, records timing for each step, can be enabled with the “?explain=true” parameter, and includes unit tests. A dedicated pull request will be submitted for review. 13. Documentation Improvements GraphViz support has been added to the documentation workflow, enabling code-generated UML and architectural diagrams to be maintained in version control. ⸻ Proposed Next Actions Serge: • Investigate mailing list moderation issues with ASF Infra • Continue cleanup of the unomi-3-dev branch and prepare pull requests • Test OpenSearch 3.3.0 compatibility when possible • Create tickets for: • Replacement of the Elasticsearch Maven plugin • Tracer implementation pull request • Prepare a pull request to remove item ID suffix logic in migration scripts Jerome: • Continue work on the feature packaging and health-check pull request • Verify or create the ticket for visit count recalculation Jonathan: • Participate in follow-up discussions on the Unomi metrics service and tracing Community: • Participate in discussions regarding migration mechanics • Review upcoming pull requests related to unomi-3-dev ⸻ References [1] Apache Unomi GitHub repository, unomi-3-dev branch: https://github.com/apache/unomi/tree/unomi-3-dev [2] Elasticsearch Maven Plugin (external plugin information): https://mvnrepository.com/artifact/org.elasticsearch.plugin/elasticsearch-maven-plugin [3] SuperWhisper (transcription tool used for the meeting): https://superwhisper.com/ [4] UNOMI-920 - Add YAML toString implementation in Unomi: https://issues.apache.org/jira/browse/UNOMI-920 [5] UNOMI-919 - Refactor the Unomi start: https://issues.apache.org/jira/browse/UNOMI-919 [6] GitHub Pull Request #742 - Refactor the Unomi start: https://github.com/apache/unomi/pull/742
