The transition from Object Storage V1 (Phonograph) to Object Storage V2 (OSv2) is a major architectural shift that requires a number of breaking changes. The legacy Object Storage V1 (Phonograph) has a large API surface area, exposing significant amounts of low-level database functionality directly. Conversely, the new Object Storage V2 architecture syncs objects through the Object Data Funnel service into specialized object databases to gain scale, performance, flexibility, and security improvements. This architectural transition leads to two main types of breaking changes:
These breaking changes may block some OSv1-backed object types from migrating to OSv2 without refactoring or remediation. The documentation on migrating to OSv2 contains more information on how these issues are surfaced to the user, as well as how to perform a migration from OSv1 to OSv2.
This section provides a list of breaking changes between Object Storage V1 (Phonograph) and Object Storage V2 (OSv2). These breaking changes should be addressed before trying to migrate any object type to OSv2. All of these changes between OSv1 and OSv2 are intended to improve the quality of data going into the Ontology, ensure more deterministic behavior, and increase legibility across the platform.
Lat, Long
should be a comma-separated string with no parentheses, for example -29.123, 150.982
.null
will not match an object with null values, which can create an unwanted discrepancy between object loads and searches.This section lists out the current feature gap between Object Storage V1 (Phonograph) and Object Storage V2 (OSv2). These features are in development and the list will be updated as the breaking changes are resolved.
OSv2 currently does not support connecting schedules where the path between the upstream and downstream targets would go through a materialization.
OSv2 currently has an edge case where it returns less data in search responses than what the user is allowed to see:
OSv2 currently does not support decimal as a property data type.
OSv2 currently does not support Not
conditions in granular permissioning policies of restricted view datasources.
OSv2 currently does not support custom analyzers.
OSv2 currently does not support projections on incrementally updating backing datasets.
OSv2 currently does not support indexing object types backed by incremental View datasets with multiple transactions.
Foundry Rules Archetypes currently does not support the full feature set of OSv2. For example, object types backed by multiple datasources and object types with multiple materializations are not supported. You can refer to the Foundry Rules documentation for more details.