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]

Reply via email to