sergehuber opened a new pull request, #760: URL: https://github.com/apache/unomi/pull/760
### Summary Delivers the Unomi 3.1 **platform core** on top of [UNOMI-888](https://github.com/apache/unomi/pull/756): 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). Replaces the scope of [PR #757](https://github.com/apache/unomi/pull/757) (monolith branch `UNOMI-139-UNOMI-880-multitenancy`) with the **platform-only** slice; V2 compatibility, dev shell commands, and additional IT classes will follow in stacked PRs on this line. ### UNOMI-139 — Multi-tenancy - Tenant model and APIs (`Tenant`, `TenantService`, API keys, security/audit interfaces, quotas, lifecycle hooks) and `tenantId` on core types. - `ExecutionContextManager` and thread-local tenant context so services, persistence, and REST resolve the active tenant consistently. - Tenant-scoped persistence and definitions (Elasticsearch/OpenSearch), including system-tenant vs tenant-specific overrides. ### UNOMI-880 — Unified multi-tenant caching - `MultiTypeCacheService` / `CacheableTypeConfig` and `AbstractMultiTypeCachingService` for shared cache lifecycle, predefined item bundling, periodic refresh, and statistics. - Migrate `DefinitionsServiceImpl` and `SegmentServiceImpl` (and related paths) onto the unified cache; remove duplicated ad-hoc cache listeners where superseded. ### UNOMI-878 — Cluster-aware task scheduling - Replace legacy scheduler usage with `SchedulerService` (scheduled tasks, task executors, persistence-backed vs in-memory tasks, cluster coordination). - Integrate periodic work (cache refresh, cluster heartbeat, router scheduling, rule refresh paths) with the new scheduler. - Update dependents (e.g. Groovy actions service) to schedule work through the new API. ### UNOMI-884 — Migration to V3 - Migration Groovy scripts and request bodies for **3.1.0** (tenant document IDs, system item ID fixes, tenant initialization, legacy queryBuilder updates). - Extended `MigrationUtils` and `MigrationUtilsTest` for the new steps aligned with multi-tenancy and index updates. ### Tests - Platform integration tests updated (`BaseIT`, migration ITs, `ScopeIT`, and related suites). - Full integration test run verified locally with OpenSearch (`./build.sh --integration-tests --use-opensearch`). ### JIRA - https://issues.apache.org/jira/browse/UNOMI-139 - https://issues.apache.org/jira/browse/UNOMI-880 - https://issues.apache.org/jira/browse/UNOMI-878 - https://issues.apache.org/jira/browse/UNOMI-884 ### Licence - [x] I hereby declare this contribution to be licenced under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
