Skip to content

Commit 260bef3

Browse files
authored
Added retry and rate limit to rename workspace group operation and corrected rate limit for reflecting account groups to workspace (#751)
* Fix issue [750](#750) * Corrected rate limit for reflecting account groups to workspace as per https://docs.databricks.com/en/resources/limits.html
1 parent f6819f2 commit 260bef3

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

src/databricks/labs/ucx/workspace_access/groups.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,8 @@ def rename_groups(self):
345345
if len(errors) > 0:
346346
raise ManyError(errors)
347347

348+
@retried(on=[InternalError, ResourceConflict, DeadlineExceeded])
349+
@rate_limited(max_requests=10, burst_period_seconds=60)
348350
def _rename_group(self, group_id: str, new_group_name: str):
349351
ops = [iam.Patch(iam.PatchOp.REPLACE, "displayName", new_group_name)]
350352
self._ws.groups.patch(group_id, operations=ops)
@@ -495,7 +497,7 @@ def _delete_workspace_group(self, group_id: str, display_name: str) -> None:
495497
return None
496498

497499
@retried(on=[InternalError, ResourceConflict, DeadlineExceeded])
498-
@rate_limited(max_requests=10)
500+
@rate_limited(max_requests=5)
499501
def _reflect_account_group_to_workspace(self, account_group_id: str):
500502
try:
501503
# TODO: add OpenAPI spec for it

src/databricks/labs/ucx/workspace_access/verification.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
from databricks.labs.ucx.workspace_access.groups import MigrationState
88
from databricks.labs.ucx.workspace_access.secrets import SecretScopesSupport
99

10+
logger = logging.getLogger(__name__)
11+
1012

1113
class VerificationManager:
1214
def __init__(self, ws: WorkspaceClient, secrets_support: SecretScopesSupport):

tests/integration/test_installation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def test_job_failure_propagates_correct_error_message_and_logs(ws, sql_backend,
7676
assert len(workflow_run_logs) == 1
7777

7878

79-
@retried(on=[NotFound, InvalidParameterValue, OperationFailed], timeout=timedelta(minutes=5))
79+
@retried(on=[NotFound, InvalidParameterValue, OperationFailed], timeout=timedelta(minutes=10))
8080
def test_running_real_assessment_job(
8181
ws, new_installation, make_ucx_group, make_cluster_policy, make_cluster_policy_permissions
8282
):

0 commit comments

Comments
 (0)