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

Reply via email to