Skip to content

UNOMI-875: PR3 platform upgrade (Karaf 4.4.11, ES 9.4.3, OS 3.7.0, log4j 2.24)#796

Merged
sergehuber merged 8 commits into
masterfrom
UNOMI-875-pr3-platform-upgrade
Jul 5, 2026
Merged

UNOMI-875: PR3 platform upgrade (Karaf 4.4.11, ES 9.4.3, OS 3.7.0, log4j 2.24)#796
sergehuber merged 8 commits into
masterfrom
UNOMI-875-pr3-platform-upgrade

Conversation

@sergehuber

@sergehuber sergehuber commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Plain-language summary

This PR updates the platform Unomi runs on: Karaf, Elasticsearch, OpenSearch, and Log4j. It also adds maintainer upgrade guides to the official manual so future platform bumps follow the same steps. Integration tests were fixed for Karaf 4.4.11 so CI can run Elasticsearch and OpenSearch profiles reliably.

There is no new end-user feature. The goal is a supported, documented baseline before the 3.1 release.

What changed

  • Upgrade Karaf to 4.4.11; pin Jackson features to ${jackson.version}; align Jetty to 9.4.58.
  • Upgrade Elasticsearch client to 9.4.3; OpenSearch client to 3.7.0; sync Docker compose and IT image tags.
  • Upgrade log4j to 2.24.0; exclude embedded log4j from ES/OS bundles; configure REST client log levels in org.ops4j.pax.logging.cfg.
  • Fix integration tests for Pax Exam on Karaf 4.4.11 (lazy CustomObjectMapper, unified IT JSON helpers, quieter test-JVM logging).
  • Add platform upgrade runbooks to the manual under Developers → Platform upgrades (manual/src/main/asciidoc/upgrades/), covering Karaf, JDK, CXF/Jackson/Jetty, ES/OS, Log4j, IT debugging, dependency hygiene, and JIRA cross-reference.

Test plan

  • Elasticsearch integration tests — passed locally
  • OpenSearch integration tests — running locally
  • ./build.sh --ci (full reactor, Karaf feature verify, unit tests)
  • CI integration tests (Elasticsearch and OpenSearch profiles in parallel)

References

UNOMI-875

Karaf 4.4.11 no longer brings slf4j-api transitively; add an explicit
provided dependency in lifecycle-watcher and align setenv.sh.
Align Docker compose images and IT fixtures with new server versions.
Adapt ES bulk routing API for 9.4 and embed httpclient5 compression
dependencies for Karaf OSGi resolution.
Completes the platform dependency refresh deferred from PR2; ES core
bundle excludes embedded log4j jars so Karaf supplies log4j 2.24.
Publish Karaf, ES/OS, Log4j, IT, and dependency-hygiene procedures in the
developer manual so upgrade knowledge is versioned with the codebase (UNOMI-875).
Stop using legacy log4j 1.x APIs in ES/OS persistence bundles. Route REST
client log levels through Karaf org.ops4j.pax.logging.cfg instead.
Use lazy CustomObjectMapper in BaseIT, unify IT JSON helpers, and suppress
Pax Exam debug noise in the test JVM via DefaultServiceLog.level=INFO.
Pin jackson features to ${jackson.version}, bump ES to 9.4.3 and Jetty to
9.4.58, and sync Docker compose image tags with pom properties.
@sergehuber sergehuber changed the title UNOMI-875: PR3 platform upgrade (Karaf 4.4.11, ES 9.4.2, OS 3.9.0, log4j 2.24) UNOMI-875: PR3 platform upgrade (Karaf 4.4.11, ES 9.4.3, OS 3.7.0, log4j 2.24) Jul 5, 2026
…h bundle

OpenSearch 3.7 client embeds references to org.apache.commons.compress
packages that Karaf does not provide. Match the Elasticsearch bundle and
resolve optional imports so unomi-opensearch-core features install in ITs.
@sergehuber sergehuber merged commit dd56b73 into master Jul 5, 2026
7 checks passed
@sergehuber sergehuber deleted the UNOMI-875-pr3-platform-upgrade branch July 5, 2026 09:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant