diff --git a/src/databricks/labs/ucx/workspace_access/groups.py b/src/databricks/labs/ucx/workspace_access/groups.py index 27cea3e9b4..90244474ee 100644 --- a/src/databricks/labs/ucx/workspace_access/groups.py +++ b/src/databricks/labs/ucx/workspace_access/groups.py @@ -119,9 +119,7 @@ def _apply_to_groups(self, ws: WorkspaceClient, *, renamed: bool = False) -> boo total_permissions += group_permissions success_groups += 1 except IOError as e: - logger.exception( - f"Migration of group permissions failed: {name_in_workspace} (workspace) -> {name_in_account} (account)" - ) + logger.error(f"failed-group-migration: {name_in_workspace} -> {name_in_account}: {e}") errors.append(e) logger.info(f"Migrated {total_permissions} permissions for {success_groups}/{len(self)} groups successfully.") if errors: diff --git a/tests/unit/workspace_access/test_workflows.py b/tests/unit/workspace_access/test_workflows.py index 53d82b5794..9bcd47013d 100644 --- a/tests/unit/workspace_access/test_workflows.py +++ b/tests/unit/workspace_access/test_workflows.py @@ -133,8 +133,8 @@ def test_migrate_permissions_continue_on_error(run_workflow, caplog) -> None: assert len(raised_exception.errs) == 2 expected_exceptions = {"simulate group failure: immediately", "simulate group failure: midway"} assert {str(e) for e in raised_exception.errs} == expected_exceptions - assert "Migration of group permissions failed: temp_1" in caplog.text - assert "Migration of group permissions failed: temp_2" in caplog.text + assert "failed-group-migration: temp_1 -> account_group_1: simulate group failure: immediately" in caplog.text + assert "failed-group-migration: temp_2 -> account_group_2: simulate group failure: midway" in caplog.text assert "Migrated 50 permissions for 1/3 groups successfully." in caplog.messages assert "Migrating permissions failed for 2/3 groups." in caplog.messages