Skip to content

Commit 289d03b

Browse files
authored
Tentatively fix failure when running assessment without a hive_metastore (#2252)
## Changes Don't fatally fail when loading data from `hive_metastore.migration_status` fails ### Linked issues Resolves #2221 ### Functionality None ### Tests Not tested --------- Co-authored-by: Eric Vergnaud <[email protected]>
1 parent f595029 commit 289d03b

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/databricks/labs/ucx/contexts/workspace_cli.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
import logging
12
import os
23
import shutil
34
from functools import cached_property
45

56
from databricks.labs.lsql.backends import SqlBackend, StatementExecutionBackend
67
from databricks.sdk import WorkspaceClient
8+
from databricks.sdk.errors import NotFound
79

810
from databricks.labs.ucx.assessment.aws import AWSResources
911
from databricks.labs.ucx.framework.utils import run_command
@@ -15,12 +17,15 @@
1517
from databricks.labs.ucx.azure.locations import ExternalLocationsMigration
1618
from databricks.labs.ucx.azure.resources import AzureAPIClient, AzureResources
1719
from databricks.labs.ucx.contexts.application import CliContext
20+
from databricks.labs.ucx.hive_metastore.migration_status import MigrationIndex
1821
from databricks.labs.ucx.source_code.base import CurrentSessionState
1922
from databricks.labs.ucx.source_code.linters.context import LinterContext
2023
from databricks.labs.ucx.source_code.linters.files import LocalFileMigrator, LocalCodeLinter
2124
from databricks.labs.ucx.source_code.notebooks.loaders import NotebookLoader
2225
from databricks.labs.ucx.workspace_access.clusters import ClusterAccess
2326

27+
logger = logging.getLogger(__name__)
28+
2429

2530
class WorkspaceContext(CliContext):
2631
def __init__(self, ws: WorkspaceClient, named_parameters: dict[str, str] | None = None):
@@ -180,7 +185,11 @@ class LocalCheckoutContext(WorkspaceContext):
180185
for running local operations."""
181186

182187
def linter_context_factory(self, session_state: CurrentSessionState | None = None):
183-
index = self.tables_migrator.index()
188+
try:
189+
index = self.tables_migrator.index()
190+
except NotFound:
191+
logger.warning("Metastore does not seem to exist yet. Skipping loading of migration status.")
192+
index = MigrationIndex([])
184193
if session_state is None:
185194
session_state = CurrentSessionState()
186195
return LinterContext(index, session_state)

0 commit comments

Comments
 (0)