UNOMI-139 UNOMI-880 UNOMI-878 UNOMI-884: Multi-tenant platform core#760
Open
sergehuber wants to merge 2 commits into
Open
UNOMI-139 UNOMI-880 UNOMI-878 UNOMI-884: Multi-tenant platform core#760sergehuber wants to merge 2 commits into
sergehuber wants to merge 2 commits into
Conversation
Introduce the Unomi 3.1 platform core: tenant-scoped execution, unified multi-type caching, cluster-aware scheduling, and 3.1.0 migration tooling. REST layers use V3 tenant resolution and role-based auth. UNOMI-139 — Multi-tenancy - Tenant model and APIs (Tenant, TenantService, API keys, security and audit hooks, quotas, lifecycle listeners) - ExecutionContextManager and tenant propagation across services, persistence (Elasticsearch/OpenSearch), GraphQL, and REST - Tenant-scoped items and definitions (system tenant vs tenant overrides) UNOMI-880 — Unified multi-tenant caching - MultiTypeCacheService, CacheableTypeConfig, and shared cache lifecycle (refresh, statistics, predefined item bundling) - Migrate DefinitionsService and SegmentService onto the unified cache; remove superseded ad-hoc cache listeners UNOMI-878 — Cluster-aware task scheduling - SchedulerService with persistent and in-memory tasks, TaskExecutor registration, and cluster-aware execution - Integrate periodic work (cache refresh, cluster heartbeat, router jobs, rule refresh) via the new scheduler API UNOMI-884 — Migration to V3 - 3.1.0 migration Groovy scripts and Elasticsearch request bodies (tenant document IDs, system item ID fixes, tenant initialization, legacy queryBuilder updates) - MigrationUtils extensions and MigrationUtilsTest Integration tests updated for platform behaviour (including migration and ScopeIT). Verified locally with OpenSearch integration tests.
1 task
# Conflicts: # .gitignore # pom.xml
This was referenced May 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked PR (merge order)
UNOMI-888-import-export-javadocUNOMI-139-platformThis PR is stacked: merge into
UNOMI-888-import-export-javadocfirst (PR #756, UNOMI-888), after that line is merged or rebased. Downstream PRs (UNOMI-904 V2 compat, dev shell, additional ITs, manual) will stack onUNOMI-139-platform.For more information (each PR targets the branch below until the bottom merges): https://github.github.com/gh-stack/introduction/overview/
JIRA
Summary
Delivers the Unomi 3.1 platform core on top of UNOMI-888: multi-tenant execution, unified caching, cluster-aware scheduling, and V3 migration assets. Services, persistence, GraphQL, and REST are wired for V3 tenant resolution (API keys / roles).
Supersedes the platform scope of PR #757 (closed; monolith branch
UNOMI-139-UNOMI-880-multitenancy). UNOMI-904 (V2 compatibility), dev shell commands, additional IT classes, and manual updates will follow in stacked PRs on this line.UNOMI-139 Multi-tenancy
Tenant,TenantService, API keys, security/audit interfaces, quotas, lifecycle hooks) andtenantIdon core types.ExecutionContextManagerand thread-local tenant context so services, persistence, and REST resolve the active tenant consistently.UNOMI-880 Unified multi-tenant caching
MultiTypeCacheService/CacheableTypeConfigandAbstractMultiTypeCachingServicefor shared cache lifecycle, predefined item bundling, periodic refresh, and statistics.DefinitionsServiceImplandSegmentServiceImpl(and related paths) onto the unified cache; remove duplicated ad-hoc cache listeners where superseded.UNOMI-878 Cluster-aware task scheduling
SchedulerService(scheduled tasks, task executors, persistence-backed vs in-memory tasks, cluster coordination).UNOMI-884 Migration to V3
MigrationUtilsandMigrationUtilsTestfor the new steps aligned with multi-tenancy and index updates.Tests
BaseIT, migration ITs,ScopeIT, and related suites)../build.sh --integration-tests --use-opensearch).Licence