Migrating from deprecated Online Tables to synced tables with the Databricks Online Feature Store can be tricky due to several points of integration and timing between Unity Catalog (UC), Feature Store metadata, and the underlying online store. The main problems described here are:
-
The publish_table
call succeeds, but the table doesn't appear in UC.
-
Retrieving the table via w.online_tables.get("online_table")
throws a NotFound
error.
Here are some targeted insights and troubleshooting suggestions:
Understanding Online Table Migration
The migration process from Online Tables involves backing up existing tables and feature specs, then publishing those tables to the new Online Feature Store-backed storage solution. Unity Catalog is the interface for table discovery and access, so if the table isn’t visible there, downstream queries and endpoint updates will fail.
Common Issues with publish_table
-
Publish Success, Missing Table: If publish_table
returns success but UC does not show the table, it means the metadata update was not fully propagated OR there’s a misalignment between Feature Store and UC registration.
-
Online Store Object: The result may be “published” in the managed online store, but not fully registered with Unity Catalog, leaving endpoint integrations broken.
Troubleshooting Steps
-
Check for Propagation Delay: Sometimes, it takes several minutes for updates to fully propagate and appear in Unity Catalog. Try waiting 5–10 minutes and refreshing the UC listing.
-
Check the Table Location: Ensure online_table
is being published to the correct schema and catalog in UC. Sometimes, default settings cause the table to be registered elsewhere. Use the fully qualified name, e.g., "catalog.schema.online_table"
.
-
Validate Table Existence in UC: Before calling w.online_tables.get("online_table")
, check in UC directly through the Databricks UI or SQL statement:
SHOW TABLES IN <catalog>.<schema>;
-
Compare API vs. UI: Sometimes the Feature Store Python API is slightly out of sync with Unity Catalog state. The docs recommend always checking both until migration is complete.
Sample Migration Pipeline Steps
-
Back Up the Table & Features Spec
Export the full feature table definition and store it offline.
-
Create Synced Table in Feature Store
Use Feature Store APIs to create synced table object in UC.
-
Publish to Online Store
Ensure the online_table_name
and its fully qualified UC path are used and match the new storage location’s UC registration.
Example:
fe.publish_table(
online_store=online_store,
source_table_name="offline_table",
online_table_name="catalog.schema.online_table",
)
-
Validate UC Listing
List tables in UC and search for the correct name and schema.
-
Update Endpoint
Use the newly published, fully-qualified table name for endpoint updates.
Key Best Practices
-
Always use fully qualified table names in the form <catalog>.<schema>.<table>
during migration and endpoint configuration.
-
Monitor for propagation delays between Feature Store and Unity Catalog.
-
Ensure that required permissions exist for both the pipeline service and the target UC schema.
Official Documentation References
The migration guide makes clear that online table publishing should synchronize with UC registration, but explicit validation via catalog and schema is often needed for endpoint updates. Directly referencing both migration and online feature store docs will help avoid silent sync errors.
In summary, make sure to use fully qualified table names at every stage, validate directly in UC, and be aware of propagation delays. If the issue persists after these checks, consider opening a support ticket with Databricks, as further troubleshooting may require insight into backend synchronization.