Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed NULL values in ucx.views.table_format to have UNKNOWN value instead #1156

Merged
merged 2 commits into from
Mar 29, 2024

Conversation

william-conti
Copy link
Contributor

Changes

Added a fix for Views that are having NULL in table_format column instead of UNKNOWN

Linked issues

Fixes #1153

@william-conti william-conti marked this pull request as ready for review March 28, 2024 15:03
@william-conti william-conti requested review from a team and stikkireddy March 28, 2024 15:03
Copy link

codecov bot commented Mar 28, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 89.77%. Comparing base (739c320) to head (3095a85).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1156      +/-   ##
==========================================
- Coverage   89.80%   89.77%   -0.03%     
==========================================
  Files          61       61              
  Lines        7249     7249              
  Branches     1300     1300              
==========================================
- Hits         6510     6508       -2     
- Misses        475      477       +2     
  Partials      264      264              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

❌ 131/133 passed, 1 flaky, 2 failed, 20 skipped, 1h23m7s total

❌ test_running_real_validate_groups_permissions_job_fails: databricks.sdk.errors.platform.Unknown: validate_groups_permissions: ValueError: Couldn't find permission for object type cluster-policies with id 001CACB82DCAD8DB (1m42.561s)
databricks.sdk.errors.platform.Unknown: validate_groups_permissions: <span class='ansi-red-fg'>ValueError</span>: Couldn't find permission for object type cluster-policies with id 001CACB82DCAD8DB
acl to be applied=[AccessControlRequest(group_name=None, permission_level=<PermissionLevel.CAN_USE: 'CAN_USE'>, service_principal_name='0a330eb5-dd51-4d97-b6e4-c474356b1d5d', user_name=None), AccessControlRequest(group_name='admins', permission_level=<PermissionLevel.CAN_USE: 'CAN_USE'>, service_principal_name=None, user_name=None), AccessControlRequest(group_name='sdk-MbDh', permission_level=<PermissionLevel.CAN_USE: 'CAN_USE'>, service_principal_name=None, user_name=None)]
acl found in the object=[AccessControlRequest(group_name='admins', permission_level=<PermissionLevel.CAN_USE: 'CAN_USE'>, service_principal_name=None, user_name=None)]
15:05 INFO [databricks.labs.ucx.mixins.fixtures] Schema hive_metastore.ucx_sn2zn: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_sn2zn
15:05 DEBUG [databricks.labs.ucx.mixins.fixtures] added schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_sn2zn', metastore_id=None, name='ucx_sn2zn', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
[gw6] linux -- Python 3.10.14 /home/runner/work/ucx/ucx/.venv/bin/python
15:05 INFO [databricks.labs.ucx.mixins.fixtures] Schema hive_metastore.ucx_sn2zn: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_sn2zn
15:05 DEBUG [databricks.labs.ucx.mixins.fixtures] added schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_sn2zn', metastore_id=None, name='ucx_sn2zn', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
15:05 INFO [databricks.labs.ucx.mixins.fixtures] Workspace group sdk-MbDh: https://DATABRICKS_HOST#setting/accounts/groups/864161943475275
15:05 DEBUG [databricks.labs.ucx.mixins.fixtures] added workspace group fixture: Group(display_name='sdk-MbDh', entitlements=[], external_id=None, groups=[], id='864161943475275', members=[], meta=ResourceMeta(resource_type='WorkspaceGroup'), roles=[], schemas=[<GroupSchema.URN_IETF_PARAMS_SCIM_SCHEMAS_CORE_2_0_GROUP: 'urn:ietf:params:scim:schemas:core:2.0:Group'>])
15:05 INFO [databricks.labs.ucx.mixins.fixtures] Cluster policy: https://DATABRICKS_HOST#setting/clusters/cluster-policies/view/001CACB82DCAD8DB
15:05 DEBUG [databricks.labs.ucx.mixins.fixtures] added cluster policy fixture: CreatePolicyResponse(policy_id='001CACB82DCAD8DB')
15:05 DEBUG [databricks.labs.ucx.mixins.fixtures] added cluster_policy permissions fixture: 001CACB82DCAD8DB [group_name admins CAN_USE] -> [group_name sdk-MbDh CAN_USE]
15:05 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.X7vy/config.yml) doesn't exist.
15:05 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
15:05 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
15:05 INFO [databricks.labs.ucx.install] Fetching installations...
15:05 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
15:05 INFO [databricks.labs.ucx.install] Installing UCX v0.20.1+320240328150524
15:05 INFO [databricks.labs.ucx.install] Creating dashboards...
15:05 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/views...
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment...
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/estimates...
15:05 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [X7VY] UCX  Assessment (Estimates)...
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 01_0_group_migration.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 01_0_group_migration.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00_0_metastore_assignment.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00_0_metastore_assignment.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 02_0_data_modeling.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 02_0_data_modeling.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 03_0_data_migration.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 03_0_data_migration.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/main...
15:05 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [X7VY] UCX  Assessment (Main)...
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 10___data_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 10___data_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 15___storage_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 15___storage_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 40___last_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 40___last_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 20___compute_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 20___compute_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00___assessment_overview.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00___assessment_overview.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 05___findings_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 05___findings_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 30_0_job_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 30_0_job_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/CLOUD_ENV...
15:06 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [X7VY] UCX  Assessment (Azure)...
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/interactive...
15:06 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [X7VY] UCX  Assessment (Interactive)...
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00_0_interactive.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00_0_interactive.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 02_0_cluster_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 02_0_cluster_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.installer.workflows] Creating jobs from tasks in main
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=validate-groups-permissions
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups-experimental
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-tables
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=remove-workspace-local-backup-groups
15:06 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:06 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=assessment
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=099-destroy-schema
15:06 INFO [databricks.labs.ucx.install] Installation completed successfully! Please refer to the https://DATABRICKS_HOST/#workspace/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.X7vy/README for the next steps.
15:06 DEBUG [databricks.labs.ucx.workspace_access.manager] Crawling permissions
15:06 INFO [databricks.labs.ucx.workspace_access.generic] Listed cluster-policies in 0:00:00.037356
15:06 INFO [databricks.labs.ucx.workspace_access.manager] Starting to crawl permissions. Total tasks: 15
15:06 INFO [databricks.labs.ucx.workspace_access.manager] Total crawled permissions: 15
15:06 DEBUG [databricks.labs.ucx.framework.crawlers] [hive_metastore.ucx_sn2zn.permissions] found 15 new records for permissions
15:06 INFO [databricks.labs.ucx.workspace_access.manager] Successfully saved the items to inventory table
15:06 INFO [databricks.labs.ucx.workspace_access.manager] Saved 15 to hive_metastore.ucx_sn2zn.permissions
15:06 DEBUG [databricks.labs.ucx.installer.workflows] starting validate-groups-permissions job: https://DATABRICKS_HOST#job/77977603808513
15:05 INFO [databricks.labs.ucx.mixins.fixtures] Schema hive_metastore.ucx_sn2zn: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_sn2zn
15:05 DEBUG [databricks.labs.ucx.mixins.fixtures] added schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_sn2zn', metastore_id=None, name='ucx_sn2zn', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
15:05 INFO [databricks.labs.ucx.mixins.fixtures] Workspace group sdk-MbDh: https://DATABRICKS_HOST#setting/accounts/groups/864161943475275
15:05 DEBUG [databricks.labs.ucx.mixins.fixtures] added workspace group fixture: Group(display_name='sdk-MbDh', entitlements=[], external_id=None, groups=[], id='864161943475275', members=[], meta=ResourceMeta(resource_type='WorkspaceGroup'), roles=[], schemas=[<GroupSchema.URN_IETF_PARAMS_SCIM_SCHEMAS_CORE_2_0_GROUP: 'urn:ietf:params:scim:schemas:core:2.0:Group'>])
15:05 INFO [databricks.labs.ucx.mixins.fixtures] Cluster policy: https://DATABRICKS_HOST#setting/clusters/cluster-policies/view/001CACB82DCAD8DB
15:05 DEBUG [databricks.labs.ucx.mixins.fixtures] added cluster policy fixture: CreatePolicyResponse(policy_id='001CACB82DCAD8DB')
15:05 DEBUG [databricks.labs.ucx.mixins.fixtures] added cluster_policy permissions fixture: 001CACB82DCAD8DB [group_name admins CAN_USE] -> [group_name sdk-MbDh CAN_USE]
15:05 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.X7vy/config.yml) doesn't exist.
15:05 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
15:05 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
15:05 INFO [databricks.labs.ucx.install] Fetching installations...
15:05 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
15:05 INFO [databricks.labs.ucx.install] Installing UCX v0.20.1+320240328150524
15:05 INFO [databricks.labs.ucx.install] Creating dashboards...
15:05 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/views...
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment...
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/estimates...
15:05 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [X7VY] UCX  Assessment (Estimates)...
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 01_0_group_migration.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 01_0_group_migration.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00_0_metastore_assignment.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00_0_metastore_assignment.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 02_0_data_modeling.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 02_0_data_modeling.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 03_0_data_migration.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 03_0_data_migration.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/main...
15:05 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [X7VY] UCX  Assessment (Main)...
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 10___data_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 10___data_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 15___storage_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 15___storage_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 40___last_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 40___last_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 20___compute_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 20___compute_summary.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00___assessment_overview.md because it's a text widget
15:05 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00___assessment_overview.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 05___findings_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 05___findings_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 30_0_job_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 30_0_job_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/CLOUD_ENV...
15:06 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [X7VY] UCX  Assessment (Azure)...
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/interactive...
15:06 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [X7VY] UCX  Assessment (Interactive)...
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00_0_interactive.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00_0_interactive.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 02_0_cluster_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 02_0_cluster_summary.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.installer.workflows] Creating jobs from tasks in main
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=validate-groups-permissions
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups-experimental
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-tables
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=remove-workspace-local-backup-groups
15:06 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:06 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=assessment
15:06 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=099-destroy-schema
15:06 INFO [databricks.labs.ucx.install] Installation completed successfully! Please refer to the https://DATABRICKS_HOST/#workspace/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.X7vy/README for the next steps.
15:06 DEBUG [databricks.labs.ucx.workspace_access.manager] Crawling permissions
15:06 INFO [databricks.labs.ucx.workspace_access.generic] Listed cluster-policies in 0:00:00.037356
15:06 INFO [databricks.labs.ucx.workspace_access.manager] Starting to crawl permissions. Total tasks: 15
15:06 INFO [databricks.labs.ucx.workspace_access.manager] Total crawled permissions: 15
15:06 DEBUG [databricks.labs.ucx.framework.crawlers] [hive_metastore.ucx_sn2zn.permissions] found 15 new records for permissions
15:06 INFO [databricks.labs.ucx.workspace_access.manager] Successfully saved the items to inventory table
15:06 INFO [databricks.labs.ucx.workspace_access.manager] Saved 15 to hive_metastore.ucx_sn2zn.permissions
15:06 DEBUG [databricks.labs.ucx.installer.workflows] starting validate-groups-permissions job: https://DATABRICKS_HOST#job/77977603808513
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] clearing 1 cluster_policy permissions fixtures
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] removing cluster_policy permissions fixture: 001CACB82DCAD8DB [group_name admins CAN_USE] -> [group_name sdk-MbDh CAN_USE]
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] clearing 1 cluster policy fixtures
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] removing cluster policy fixture: CreatePolicyResponse(policy_id='001CACB82DCAD8DB')
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] clearing 1 workspace group fixtures
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] removing workspace group fixture: Group(display_name='sdk-MbDh', entitlements=[], external_id=None, groups=[], id='864161943475275', members=[], meta=ResourceMeta(resource_type='WorkspaceGroup'), roles=[], schemas=[<GroupSchema.URN_IETF_PARAMS_SCIM_SCHEMAS_CORE_2_0_GROUP: 'urn:ietf:params:scim:schemas:core:2.0:Group'>])
15:06 INFO [databricks.labs.ucx.install] Deleting UCX v0.20.1+320240328150656 from https://DATABRICKS_HOST
15:06 INFO [databricks.labs.ucx.install] Deleting inventory database ucx_sn2zn
15:07 INFO [databricks.labs.ucx.install] Deleting jobs
15:07 INFO [databricks.labs.ucx.install] Deleting validate-groups-permissions job_id=77977603808513.
15:07 INFO [databricks.labs.ucx.install] Deleting migrate-groups-experimental job_id=160006484135758.
15:07 INFO [databricks.labs.ucx.install] Deleting migrate-groups job_id=13902796050172.
15:07 INFO [databricks.labs.ucx.install] Deleting migrate-tables job_id=124827967023332.
15:07 INFO [databricks.labs.ucx.install] Deleting remove-workspace-local-backup-groups job_id=979693703928727.
15:07 INFO [databricks.labs.ucx.install] Deleting assessment job_id=979919956013087.
15:07 INFO [databricks.labs.ucx.install] Deleting 099-destroy-schema job_id=66276901613368.
15:07 INFO [databricks.labs.ucx.install] Deleting cluster policy
15:07 INFO [databricks.labs.ucx.install] Deleting secret scope
15:07 INFO [databricks.labs.ucx.install] UnInstalling UCX complete
15:07 DEBUG [databricks.labs.ucx.mixins.fixtures] clearing 1 schema fixtures
15:07 DEBUG [databricks.labs.ucx.mixins.fixtures] removing schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_sn2zn', metastore_id=None, name='ucx_sn2zn', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
[gw6] linux -- Python 3.10.14 /home/runner/work/ucx/ucx/.venv/bin/python
❌ test_table_migration_job_cluster_override: databricks.labs.blueprint.parallel.ManyError: Detected 2 failures: NotFound: The schema `ucx_sg4dx` cannot be found. Verify the spelling and correctness of the schema and catalog., NotFound: The schema `ucx_szzmk` cannot be found. Verify the spelling and correctness of the schema and catalog. (3m59.612s)
databricks.labs.blueprint.parallel.ManyError: Detected 2 failures: NotFound: The schema `ucx_sg4dx` cannot be found. Verify the spelling and correctness of the schema and catalog., NotFound: The schema `ucx_szzmk` cannot be found. Verify the spelling and correctness of the schema and catalog.
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Schema hive_metastore.ucx_svkfh: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_svkfh
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_svkfh', metastore_id=None, name='ucx_svkfh', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
[gw9] linux -- Python 3.10.14 /home/runner/work/ucx/ucx/.venv/bin/python
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Schema hive_metastore.ucx_svkfh: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_svkfh
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_svkfh', metastore_id=None, name='ucx_svkfh', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Schema hive_metastore.ucx_sciti: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_sciti
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_sciti', metastore_id=None, name='ucx_sciti', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Table hive_metastore.ucx_sciti.ucx_tqwjh: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_sciti/ucx_tqwjh
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added table fixture: TableInfo(access_point=None, browse_only=None, catalog_name='hive_metastore', columns=None, comment=None, created_at=None, created_by=None, data_access_configuration_id=None, data_source_format=<DataSourceFormat.DELTA: 'DELTA'>, deleted_at=None, delta_runtime_properties_kvpairs=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, encryption_details=None, full_name='hive_metastore.ucx_sciti.ucx_tqwjh', metastore_id=None, name='ucx_tqwjh', owner=None, pipeline_id=None, properties=None, row_filter=None, schema_name='ucx_sciti', sql_path=None, storage_credential_name=None, storage_location='dbfs:/user/hive/warehouse/ucx_sciti/ucx_tqwjh', table_constraints=None, table_id=None, table_type=<TableType.MANAGED: 'MANAGED'>, updated_at=None, updated_by=None, view_definition=None, view_dependencies=None)
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added make_dbfs_data_copy fixture: dbfs:/mnt/TEST_MOUNT_NAME/a/b/gxKu
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Table hive_metastore.ucx_sciti.ucx_too3s: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_sciti/ucx_too3s
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added table fixture: TableInfo(access_point=None, browse_only=None, catalog_name='hive_metastore', columns=None, comment=None, created_at=None, created_by=None, data_access_configuration_id=None, data_source_format=<DataSourceFormat.CSV: 'CSV'>, deleted_at=None, delta_runtime_properties_kvpairs=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, encryption_details=None, full_name='hive_metastore.ucx_sciti.ucx_too3s', metastore_id=None, name='ucx_too3s', owner=None, pipeline_id=None, properties=None, row_filter=None, schema_name='ucx_sciti', sql_path=None, storage_credential_name=None, storage_location='dbfs:/mnt/TEST_MOUNT_NAME/a/b/gxKu', table_constraints=None, table_id=None, table_type=<TableType.EXTERNAL: 'EXTERNAL'>, updated_at=None, updated_by=None, view_definition=None, view_dependencies=None)
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added catalog fixture: CatalogInfo(browse_only=False, catalog_type=<CatalogType.MANAGED_CATALOG: 'MANAGED_CATALOG'>, comment='', connection_name=None, created_at=1711638387636, created_by='0a330eb5-dd51-4d97-b6e4-c474356b1d5d', effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='ucx_csoyo', isolation_mode=<IsolationMode.OPEN: 'OPEN'>, metastore_id='8952c1e3-b265-4adf-98c3-6f755e2e1453', name='ucx_csoyo', options=None, owner='0a330eb5-dd51-4d97-b6e4-c474356b1d5d', properties=None, provider_name=None, provisioning_info=None, securable_kind=<CatalogInfoSecurableKind.CATALOG_STANDARD: 'CATALOG_STANDARD'>, securable_type='CATALOG', share_name=None, storage_location=None, storage_root=None, updated_at=1711638387636, updated_by='0a330eb5-dd51-4d97-b6e4-c474356b1d5d')
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Schema ucx_csoyo.ucx_sciti: https://DATABRICKS_HOST/explore/data/ucx_csoyo/ucx_sciti
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added schema fixture: SchemaInfo(browse_only=None, catalog_name='ucx_csoyo', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='ucx_csoyo.ucx_sciti', metastore_id=None, name='ucx_sciti', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
15:06 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.ucx/config.yml) doesn't exist.
15:06 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
15:06 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
15:06 INFO [databricks.labs.ucx.install] Fetching installations...
15:06 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
15:06 INFO [databricks.labs.ucx.install] Installing UCX v0.20.1+320240328150631
15:06 INFO [databricks.labs.ucx.install] Creating dashboards...
15:06 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/views...
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment...
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/estimates...
15:06 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [UCX] UCX  Assessment (Estimates)...
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 01_0_group_migration.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 01_0_group_migration.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00_0_metastore_assignment.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00_0_metastore_assignment.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 02_0_data_modeling.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 02_0_data_modeling.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 03_0_data_migration.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 03_0_data_migration.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/main...
15:06 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [UCX] UCX  Assessment (Main)...
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 10___data_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 10___data_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 15___storage_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 15___storage_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 40___last_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 40___last_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 20___compute_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 20___compute_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00___assessment_overview.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00___assessment_overview.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 05___findings_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 05___findings_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 30_0_job_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 30_0_job_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/CLOUD_ENV...
15:07 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [UCX] UCX  Assessment (Azure)...
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/interactive...
15:07 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [UCX] UCX  Assessment (Interactive)...
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00_0_interactive.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00_0_interactive.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 02_0_cluster_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 02_0_cluster_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.installer.workflows] Creating jobs from tasks in main
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=remove-workspace-local-backup-groups
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-tables
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=validate-groups-permissions
15:07 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:07 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=assessment
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups-experimental
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=099-destroy-schema
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups
15:07 INFO [databricks.labs.ucx.install] Installation completed successfully! Please refer to the https://DATABRICKS_HOST/#workspace/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.ucx/README for the next steps.
15:07 DEBUG [databricks.labs.ucx.installer.workflows] starting migrate-tables job: https://DATABRICKS_HOST#job/114873927715275
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Schema hive_metastore.ucx_svkfh: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_svkfh
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_svkfh', metastore_id=None, name='ucx_svkfh', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Schema hive_metastore.ucx_sciti: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_sciti
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_sciti', metastore_id=None, name='ucx_sciti', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Table hive_metastore.ucx_sciti.ucx_tqwjh: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_sciti/ucx_tqwjh
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added table fixture: TableInfo(access_point=None, browse_only=None, catalog_name='hive_metastore', columns=None, comment=None, created_at=None, created_by=None, data_access_configuration_id=None, data_source_format=<DataSourceFormat.DELTA: 'DELTA'>, deleted_at=None, delta_runtime_properties_kvpairs=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, encryption_details=None, full_name='hive_metastore.ucx_sciti.ucx_tqwjh', metastore_id=None, name='ucx_tqwjh', owner=None, pipeline_id=None, properties=None, row_filter=None, schema_name='ucx_sciti', sql_path=None, storage_credential_name=None, storage_location='dbfs:/user/hive/warehouse/ucx_sciti/ucx_tqwjh', table_constraints=None, table_id=None, table_type=<TableType.MANAGED: 'MANAGED'>, updated_at=None, updated_by=None, view_definition=None, view_dependencies=None)
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added make_dbfs_data_copy fixture: dbfs:/mnt/TEST_MOUNT_NAME/a/b/gxKu
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Table hive_metastore.ucx_sciti.ucx_too3s: https://DATABRICKS_HOST/explore/data/hive_metastore/ucx_sciti/ucx_too3s
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added table fixture: TableInfo(access_point=None, browse_only=None, catalog_name='hive_metastore', columns=None, comment=None, created_at=None, created_by=None, data_access_configuration_id=None, data_source_format=<DataSourceFormat.CSV: 'CSV'>, deleted_at=None, delta_runtime_properties_kvpairs=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, encryption_details=None, full_name='hive_metastore.ucx_sciti.ucx_too3s', metastore_id=None, name='ucx_too3s', owner=None, pipeline_id=None, properties=None, row_filter=None, schema_name='ucx_sciti', sql_path=None, storage_credential_name=None, storage_location='dbfs:/mnt/TEST_MOUNT_NAME/a/b/gxKu', table_constraints=None, table_id=None, table_type=<TableType.EXTERNAL: 'EXTERNAL'>, updated_at=None, updated_by=None, view_definition=None, view_dependencies=None)
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added catalog fixture: CatalogInfo(browse_only=False, catalog_type=<CatalogType.MANAGED_CATALOG: 'MANAGED_CATALOG'>, comment='', connection_name=None, created_at=1711638387636, created_by='0a330eb5-dd51-4d97-b6e4-c474356b1d5d', effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='ucx_csoyo', isolation_mode=<IsolationMode.OPEN: 'OPEN'>, metastore_id='8952c1e3-b265-4adf-98c3-6f755e2e1453', name='ucx_csoyo', options=None, owner='0a330eb5-dd51-4d97-b6e4-c474356b1d5d', properties=None, provider_name=None, provisioning_info=None, securable_kind=<CatalogInfoSecurableKind.CATALOG_STANDARD: 'CATALOG_STANDARD'>, securable_type='CATALOG', share_name=None, storage_location=None, storage_root=None, updated_at=1711638387636, updated_by='0a330eb5-dd51-4d97-b6e4-c474356b1d5d')
15:06 INFO [databricks.labs.ucx.mixins.fixtures] Schema ucx_csoyo.ucx_sciti: https://DATABRICKS_HOST/explore/data/ucx_csoyo/ucx_sciti
15:06 DEBUG [databricks.labs.ucx.mixins.fixtures] added schema fixture: SchemaInfo(browse_only=None, catalog_name='ucx_csoyo', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='ucx_csoyo.ucx_sciti', metastore_id=None, name='ucx_sciti', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
15:06 DEBUG [databricks.labs.ucx.install] Cannot find previous installation: Path (/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.ucx/config.yml) doesn't exist.
15:06 INFO [databricks.labs.ucx.install] Please answer a couple of questions to configure Unity Catalog migration
15:06 INFO [databricks.labs.ucx.installer.hms_lineage] HMS Lineage feature creates one system table named system.hms_to_uc_migration.table_access and helps in your migration process from HMS to UC by allowing you to programmatically query HMS lineage data.
15:06 INFO [databricks.labs.ucx.install] Fetching installations...
15:06 INFO [databricks.labs.ucx.installer.policy] Creating UCX cluster policy.
15:06 INFO [databricks.labs.ucx.install] Installing UCX v0.20.1+320240328150631
15:06 INFO [databricks.labs.ucx.install] Creating dashboards...
15:06 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/views...
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading step folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment...
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/estimates...
15:06 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [UCX] UCX  Assessment (Estimates)...
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 01_0_group_migration.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 01_0_group_migration.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00_0_metastore_assignment.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00_0_metastore_assignment.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 02_0_data_modeling.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 02_0_data_modeling.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 03_0_data_migration.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 03_0_data_migration.md because it's a text widget
15:06 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/main...
15:06 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [UCX] UCX  Assessment (Main)...
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 10___data_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 10___data_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 15___storage_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 15___storage_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 40___last_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 40___last_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 20___compute_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 20___compute_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00___assessment_overview.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00___assessment_overview.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 05___findings_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 05___findings_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 30_0_job_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 30_0_job_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/CLOUD_ENV...
15:07 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [UCX] UCX  Assessment (Azure)...
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Reading dashboard folder /home/runner/work/ucx/ucx/src/databricks/labs/ucx/queries/assessment/interactive...
15:07 INFO [databricks.labs.ucx.framework.dashboards] Creating dashboard [UCX] UCX  Assessment (Interactive)...
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 00_0_interactive.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 00_0_interactive.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping query 02_0_cluster_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.framework.dashboards] Skipping viz 02_0_cluster_summary.md because it's a text widget
15:07 DEBUG [databricks.labs.ucx.installer.workflows] Creating jobs from tasks in main
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=remove-workspace-local-backup-groups
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-tables
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=validate-groups-permissions
15:07 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:07 INFO [databricks.labs.ucx.installer.mixins] Fetching warehouse_id from a config
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=assessment
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups-experimental
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=099-destroy-schema
15:07 INFO [databricks.labs.ucx.installer.workflows] Creating new job configuration for step=migrate-groups
15:07 INFO [databricks.labs.ucx.install] Installation completed successfully! Please refer to the https://DATABRICKS_HOST/#workspace/Users/0a330eb5-dd51-4d97-b6e4-c474356b1d5d/.ucx/README for the next steps.
15:07 DEBUG [databricks.labs.ucx.installer.workflows] starting migrate-tables job: https://DATABRICKS_HOST#job/114873927715275
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] clearing 1 make_dbfs_data_copy fixtures
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] removing make_dbfs_data_copy fixture: dbfs:/mnt/TEST_MOUNT_NAME/a/b/gxKu
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] clearing 2 table fixtures
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] removing table fixture: TableInfo(access_point=None, browse_only=None, catalog_name='hive_metastore', columns=None, comment=None, created_at=None, created_by=None, data_access_configuration_id=None, data_source_format=<DataSourceFormat.DELTA: 'DELTA'>, deleted_at=None, delta_runtime_properties_kvpairs=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, encryption_details=None, full_name='hive_metastore.ucx_sciti.ucx_tqwjh', metastore_id=None, name='ucx_tqwjh', owner=None, pipeline_id=None, properties=None, row_filter=None, schema_name='ucx_sciti', sql_path=None, storage_credential_name=None, storage_location='dbfs:/user/hive/warehouse/ucx_sciti/ucx_tqwjh', table_constraints=None, table_id=None, table_type=<TableType.MANAGED: 'MANAGED'>, updated_at=None, updated_by=None, view_definition=None, view_dependencies=None)
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] removing table fixture: TableInfo(access_point=None, browse_only=None, catalog_name='hive_metastore', columns=None, comment=None, created_at=None, created_by=None, data_access_configuration_id=None, data_source_format=<DataSourceFormat.CSV: 'CSV'>, deleted_at=None, delta_runtime_properties_kvpairs=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, encryption_details=None, full_name='hive_metastore.ucx_sciti.ucx_too3s', metastore_id=None, name='ucx_too3s', owner=None, pipeline_id=None, properties=None, row_filter=None, schema_name='ucx_sciti', sql_path=None, storage_credential_name=None, storage_location='dbfs:/mnt/TEST_MOUNT_NAME/a/b/gxKu', table_constraints=None, table_id=None, table_type=<TableType.EXTERNAL: 'EXTERNAL'>, updated_at=None, updated_by=None, view_definition=None, view_dependencies=None)
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] clearing 1 catalog fixtures
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] removing catalog fixture: CatalogInfo(browse_only=False, catalog_type=<CatalogType.MANAGED_CATALOG: 'MANAGED_CATALOG'>, comment='', connection_name=None, created_at=1711638387636, created_by='0a330eb5-dd51-4d97-b6e4-c474356b1d5d', effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='ucx_csoyo', isolation_mode=<IsolationMode.OPEN: 'OPEN'>, metastore_id='8952c1e3-b265-4adf-98c3-6f755e2e1453', name='ucx_csoyo', options=None, owner='0a330eb5-dd51-4d97-b6e4-c474356b1d5d', properties=None, provider_name=None, provisioning_info=None, securable_kind=<CatalogInfoSecurableKind.CATALOG_STANDARD: 'CATALOG_STANDARD'>, securable_type='CATALOG', share_name=None, storage_location=None, storage_root=None, updated_at=1711638387636, updated_by='0a330eb5-dd51-4d97-b6e4-c474356b1d5d')
15:10 INFO [databricks.labs.ucx.install] Deleting UCX v0.20.1+320240328151013 from https://DATABRICKS_HOST
15:10 INFO [databricks.labs.ucx.install] Deleting inventory database ucx_svkfh
15:10 INFO [databricks.labs.ucx.install] Deleting jobs
15:10 INFO [databricks.labs.ucx.install] Deleting remove-workspace-local-backup-groups job_id=464614349398432.
15:10 INFO [databricks.labs.ucx.install] Deleting migrate-tables job_id=114873927715275.
15:10 INFO [databricks.labs.ucx.install] Deleting validate-groups-permissions job_id=7408064946125.
15:10 INFO [databricks.labs.ucx.install] Deleting assessment job_id=847278899378558.
15:10 INFO [databricks.labs.ucx.install] Deleting migrate-groups-experimental job_id=967415016885213.
15:10 INFO [databricks.labs.ucx.install] Deleting 099-destroy-schema job_id=127250428330085.
15:10 INFO [databricks.labs.ucx.install] Deleting migrate-groups job_id=393652910481558.
15:10 INFO [databricks.labs.ucx.install] Deleting cluster policy
15:10 INFO [databricks.labs.ucx.install] Deleting secret scope
15:10 INFO [databricks.labs.ucx.install] UnInstalling UCX complete
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] clearing 3 schema fixtures
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] removing schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_svkfh', metastore_id=None, name='ucx_svkfh', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] removing schema fixture: SchemaInfo(browse_only=None, catalog_name='hive_metastore', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='hive_metastore.ucx_sciti', metastore_id=None, name='ucx_sciti', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
15:10 DEBUG [databricks.labs.ucx.mixins.fixtures] removing schema fixture: SchemaInfo(browse_only=None, catalog_name='ucx_csoyo', catalog_type=None, comment=None, created_at=None, created_by=None, effective_predictive_optimization_flag=None, enable_predictive_optimization=None, full_name='ucx_csoyo.ucx_sciti', metastore_id=None, name='ucx_sciti', owner=None, properties=None, storage_location=None, storage_root=None, updated_at=None, updated_by=None)
[gw9] linux -- Python 3.10.14 /home/runner/work/ucx/ucx/.venv/bin/python

Flaky tests:

  • 🤪 test_running_real_assessment_job (9m24.871s)

Running from acceptance #1844

@nfx nfx changed the title Fixing null in views Fixing NULL values in ucx.views.table_format Mar 29, 2024
@nfx nfx changed the title Fixing NULL values in ucx.views.table_format Fixed NULL values in ucx.views.table_format Mar 29, 2024
@nfx nfx changed the title Fixed NULL values in ucx.views.table_format Fixed NULL values in ucx.views.table_format to have UNKNOWN value instead Mar 29, 2024
@nfx nfx merged commit 7221984 into main Mar 29, 2024
6 of 7 checks passed
@nfx nfx deleted the fix_null_view branch March 29, 2024 11:36
nfx added a commit that referenced this pull request Mar 29, 2024
* Ensure proper sequencing of view migrations ([#1157](#1157)). In this release, we have introduced a `views_migrator` module and corresponding test cases to ensure proper sequencing of view migrations, addressing issue [#1132](#1132). The module contains two main classes: `ViewToMigrate` and `ViewsMigrator`. The former is responsible for parsing a view's SQL text and identifying its dependencies, while the latter sequences views based on their dependencies. The commit also adds a new method, `__hash__`, to the Table class, which returns a hash value of the key of the table, improving the handling of Table objects. Additionally, we have added unit tests and verified the changes on a staging environment. We have also introduced a new file `tables_and_views.json` for unit testing and added a `views_migrator` module that takes a `TablesCrawler` object and returns a sequence of tables (views) that need to be migrated in the correct order. The commit addresses various scenarios such as no views, direct views, indirect views, deep indirect views, invalid SQL, invalid SQL tables, and circular view references. This release is focused on improving the sequencing of view migrations and is accompanied by appropriate tests.
* Experimental support for scanning Delta Tables inside Mount Points ([#1095](#1095)). This commit introduces experimental support for scanning Delta Tables located inside mount points using a new `TablesInMounts` crawler. Users can now scan specific mount points using the `--include-mounts` flag and include Parquet files in the scan results with the `--include-parquet-files` flag. Additionally, the `--filter-paths` flag allows for filtering paths in a mount point and the `--max-depth` flag (currently unimplemented) will filter at a specific sub-folder depth in future development. The project dependencies have been updated to use `databricks-labs-lsql~=0.3.0`. This new feature provides a more granular and flexible way to scan Delta Tables, making the project more user-friendly and adaptable to various use cases.
* Fixed `NULL` values in `ucx.views.table_format` to have `UNKNOWN` value instead ([#1156](#1156)). This commit includes a fix for handling NULL values in the `table_format` column of Views in the `ucx.views.table_format` module. Previously, NULL values were displayed as-is, but now they will be replaced with the string "UNKNOWN". This change is part of the fix for issue [#115](#115)
* Fixing run_workflow functionality for better error handling ([#1159](#1159)). In this release, the `run_workflow` method in the `workflows.py` file has been updated to improve error handling by waiting for the job to terminate or skip before raising an error, allowing for a more detailed error message to be generated. A new method, `job_initial_run`, has been added to initiate a job run and return the run ID, raising a `NotFound` exception if the job run is not found. The `run_workflow` functionality in the `WorkflowsInstall` module has also been enhanced to handle unexpected error types and improve overall error handling during the installation of products. New test cases have been added and existing ones updated to check how the code handles errors when the run ID is not found or when an `OperationFailed` exception is raised during the installation process. These changes improve the robustness and stability of the system.
* Use experimental Permissions Migration API also for Legacy Table ACLs ([#1161](#1161)). This release introduces several changes to the group permissions migration functionality and associated tests. The experimental Permissions Migration API is now being utilized for Legacy Table ACLs, which has led to the removal of the verification step from the experimental group migration job. The `TableAclSupport` import and class have been removed, as they are no longer needed. A new `apply_to_renamed_groups` method has been added for production usage, and a `apply_to_groups_with_different_names` method has been added for integration testing, both of which are part of the Permissions Migration API. Additionally, two tests have been added to support the experimental permissions migration for a group with the same name in the workspace and account. The `permission_manager` parameter has been removed from several test functions in the `test_generic.py` file and replaced with the `MigrationState` class, which is used directly with the `WorkspaceClient` object to apply permissions to groups with different names. The `test_some_entitlements` function in the `test_scim.py` file has also been updated to use the `MigratedGroup` class and the `MigrationState` class's `apply_to_groups_with_different_names` method. Finally, new tests for the Permissions Migration API have been added to the `test_tacl.py` file in the `tests/integration/workspace_access` directory to verify the behavior of the Permissions Migration API when migrating different grants.
@nfx nfx mentioned this pull request Mar 29, 2024
nfx added a commit that referenced this pull request Mar 29, 2024
* Ensure proper sequencing of view migrations
([#1157](#1157)). In this
release, we have introduced a `views_migrator` module and corresponding
test cases to ensure proper sequencing of view migrations, addressing
issue [#1132](#1132). The
module contains two main classes: `ViewToMigrate` and `ViewsMigrator`.
The former is responsible for parsing a view's SQL text and identifying
its dependencies, while the latter sequences views based on their
dependencies. The commit also adds a new method, `__hash__`, to the
Table class, which returns a hash value of the key of the table,
improving the handling of Table objects. Additionally, we have added
unit tests and verified the changes on a staging environment. We have
also introduced a new file `tables_and_views.json` for unit testing and
added a `views_migrator` module that takes a `TablesCrawler` object and
returns a sequence of tables (views) that need to be migrated in the
correct order. The commit addresses various scenarios such as no views,
direct views, indirect views, deep indirect views, invalid SQL, invalid
SQL tables, and circular view references. This release is focused on
improving the sequencing of view migrations and is accompanied by
appropriate tests.
* Experimental support for scanning Delta Tables inside Mount Points
([#1095](#1095)). This
commit introduces experimental support for scanning Delta Tables located
inside mount points using a new `TablesInMounts` crawler. Users can now
scan specific mount points using the `--include-mounts` flag and include
Parquet files in the scan results with the `--include-parquet-files`
flag. Additionally, the `--filter-paths` flag allows for filtering paths
in a mount point and the `--max-depth` flag (currently unimplemented)
will filter at a specific sub-folder depth in future development. The
project dependencies have been updated to use
`databricks-labs-lsql~=0.3.0`. This new feature provides a more granular
and flexible way to scan Delta Tables, making the project more
user-friendly and adaptable to various use cases.
* Fixed `NULL` values in `ucx.views.table_format` to have `UNKNOWN`
value instead
([#1156](#1156)). This
commit includes a fix for handling NULL values in the `table_format`
column of Views in the `ucx.views.table_format` module. Previously, NULL
values were displayed as-is, but now they will be replaced with the
string "UNKNOWN". This change is part of the fix for issue
[#115](#115)
* Fixing run_workflow functionality for better error handling
([#1159](#1159)). In this
release, the `run_workflow` method in the `workflows.py` file has been
updated to improve error handling by waiting for the job to terminate or
skip before raising an error, allowing for a more detailed error message
to be generated. A new method, `job_initial_run`, has been added to
initiate a job run and return the run ID, raising a `NotFound` exception
if the job run is not found. The `run_workflow` functionality in the
`WorkflowsInstall` module has also been enhanced to handle unexpected
error types and improve overall error handling during the installation
of products. New test cases have been added and existing ones updated to
check how the code handles errors when the run ID is not found or when
an `OperationFailed` exception is raised during the installation
process. These changes improve the robustness and stability of the
system.
* Use experimental Permissions Migration API also for Legacy Table ACLs
([#1161](#1161)). This
release introduces several changes to the group permissions migration
functionality and associated tests. The experimental Permissions
Migration API is now being utilized for Legacy Table ACLs, which has led
to the removal of the verification step from the experimental group
migration job. The `TableAclSupport` import and class have been removed,
as they are no longer needed. A new `apply_to_renamed_groups` method has
been added for production usage, and a
`apply_to_groups_with_different_names` method has been added for
integration testing, both of which are part of the Permissions Migration
API. Additionally, two tests have been added to support the experimental
permissions migration for a group with the same name in the workspace
and account. The `permission_manager` parameter has been removed from
several test functions in the `test_generic.py` file and replaced with
the `MigrationState` class, which is used directly with the
`WorkspaceClient` object to apply permissions to groups with different
names. The `test_some_entitlements` function in the `test_scim.py` file
has also been updated to use the `MigratedGroup` class and the
`MigrationState` class's `apply_to_groups_with_different_names` method.
Finally, new tests for the Permissions Migration API have been added to
the `test_tacl.py` file in the `tests/integration/workspace_access`
directory to verify the behavior of the Permissions Migration API when
migrating different grants.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG]: The views captured by the assessment have NULL in table_format column instead of UNKNOWN
2 participants