-
Notifications
You must be signed in to change notification settings - Fork 25
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
Lock around field accessibility changes #247
Lock around field accessibility changes #247
Conversation
@webmakersteve Thanks for making this PR! We require all commits to be signed in this repo. Can you please setup git commit signing following the instructions at https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits, sign this commit & force push? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks for this!
…use IllegalAccessExceptions
b9af8aa
to
12a99b2
Compare
Signed the commit! |
### Improvements and Bug Fixes * Introduce more specific exceptions, like `NotFound`, `AlreadyExists`, `BadRequest`, `PermissionDenied`, `InternalError`, and others ([#185](#185), [#257](#257)). * Lock around field accessibility changes ([#247](#247)). * Fix Changelog ([#258](#258)). * Support post with no body for APIs ([#262](#262)). API Changes: * Changed `cancelRefresh()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `create()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `delete()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `get()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `getRefresh()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `listRefreshes()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `runRefresh()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `update()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Removed `com.databricks.sdk.service.catalog.AzureManagedIdentity` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.CancelRefreshRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.CancelRefreshRequest`. * Changed `customMetrics` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorMetricList` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.CreateMonitor`. * Changed `inferenceLog` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Changed `notifications` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Changed `snapshot` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `Object` class. * Changed `timeSeries` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Added `tableName` field for `com.databricks.sdk.service.catalog.CreateMonitor`. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.CreateStorageCredential` to `com.databricks.sdk.service.catalog.AzureManagedIdentityRequest` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.DeleteLakehouseMonitorRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.DeleteLakehouseMonitorRequest`. * Removed `fullName` field for `com.databricks.sdk.service.catalog.GetLakehouseMonitorRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.GetLakehouseMonitorRequest`. * Removed `fullName` field for `com.databricks.sdk.service.catalog.GetRefreshRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.GetRefreshRequest`. * Removed `fullName` field for `com.databricks.sdk.service.catalog.ListRefreshesRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.ListRefreshesRequest`. * Changed `quartzCronExpression` field for `com.databricks.sdk.service.catalog.MonitorCronSchedule` to be required. * Changed `timezoneId` field for `com.databricks.sdk.service.catalog.MonitorCronSchedule` to be required. * Removed `com.databricks.sdk.service.catalog.MonitorCustomMetric` class. * Removed `com.databricks.sdk.service.catalog.MonitorCustomMetricType` class. * Removed `com.databricks.sdk.service.catalog.MonitorDestinations` class. * Removed `com.databricks.sdk.service.catalog.MonitorInferenceLogProfileType` class. * Removed `com.databricks.sdk.service.catalog.MonitorInferenceLogProfileTypeProblemType` class. * Changed `customMetrics` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorMetricList` class. * Changed `driftMetricsTableName` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `inferenceLog` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Changed `monitorVersion` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `notifications` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Changed `profileMetricsTableName` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `snapshot` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `Object` class. * Changed `status` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `tableName` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `timeSeries` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Removed `com.databricks.sdk.service.catalog.MonitorNotificationsConfig` class. * Changed `refreshId` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo` to be required. * Changed `startTimeMs` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo` to be required. * Changed `state` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo` to be required. * Added `trigger` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo`. * Removed `Object` class. * Removed `com.databricks.sdk.service.catalog.MonitorTimeSeriesProfileType` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.RunRefreshRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.RunRefreshRequest`. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.StorageCredentialInfo` to `com.databricks.sdk.service.catalog.AzureManagedIdentityResponse` class. * Removed `name` field for `com.databricks.sdk.service.catalog.TableRowFilter`. * Added `functionName` field for `com.databricks.sdk.service.catalog.TableRowFilter`. * Changed `customMetrics` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorMetricList` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.UpdateMonitor`. * Changed `inferenceLog` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Changed `notifications` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Changed `snapshot` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `Object` class. * Changed `timeSeries` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Added `tableName` field for `com.databricks.sdk.service.catalog.UpdateMonitor`. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.UpdateStorageCredential` to `com.databricks.sdk.service.catalog.AzureManagedIdentityResponse` class. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.ValidateStorageCredential` to `com.databricks.sdk.service.catalog.AzureManagedIdentityRequest` class. * Removed `operation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Added `awsOperation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Added `azureOperation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Added `gcpOperation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Removed `com.databricks.sdk.service.catalog.ValidationResultOperation` class. * Added `com.databricks.sdk.service.catalog.AzureManagedIdentityRequest` class. * Added `com.databricks.sdk.service.catalog.AzureManagedIdentityResponse` class. * Added `com.databricks.sdk.service.catalog.MonitorDestination` class. * Added `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Added `com.databricks.sdk.service.catalog.MonitorInferenceLogProblemType` class. * Added `com.databricks.sdk.service.catalog.MonitorMetric` class. * Added `com.databricks.sdk.service.catalog.MonitorMetricType` class. * Added `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Added `com.databricks.sdk.service.catalog.MonitorRefreshInfoTrigger` class. * Added `Object` class. * Added `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Added `com.databricks.sdk.service.catalog.ValidationResultAwsOperation` class. * Added `com.databricks.sdk.service.catalog.ValidationResultAzureOperation` class. * Added `com.databricks.sdk.service.catalog.ValidationResultGcpOperation` class. * Added `cloneFrom` field for `com.databricks.sdk.service.compute.ClusterSpec`. * Removed `com.databricks.sdk.service.compute.ComputeSpec` class. * Removed `com.databricks.sdk.service.compute.ComputeSpecKind` class. * Added `cloneFrom` field for `com.databricks.sdk.service.compute.CreateCluster`. * Added `cloneFrom` field for `com.databricks.sdk.service.compute.EditCluster`. * Added `com.databricks.sdk.service.compute.CloneCluster` class. * Added `com.databricks.sdk.service.compute.Environment` class. * Changed `update()` method for `accountClient.workspaceAssignment()` service to return `com.databricks.sdk.service.iam.PermissionAssignment` class. * Removed `Object` class. * Removed `computeKey` field for `com.databricks.sdk.service.jobs.ClusterSpec`. * Removed `compute` field for `com.databricks.sdk.service.jobs.CreateJob`. * Added `environments` field for `com.databricks.sdk.service.jobs.CreateJob`. * Removed `com.databricks.sdk.service.jobs.JobCompute` class. * Removed `compute` field for `com.databricks.sdk.service.jobs.JobSettings`. * Added `environments` field for `com.databricks.sdk.service.jobs.JobSettings`. * Removed `computeKey` field for `com.databricks.sdk.service.jobs.RunTask`. * Removed `com.databricks.sdk.service.jobs.TableTriggerConfiguration` class. * Removed `computeKey` field for `com.databricks.sdk.service.jobs.Task`. * Added `environmentKey` field for `com.databricks.sdk.service.jobs.Task`. * Changed `table` field for `com.databricks.sdk.service.jobs.TriggerSettings` to `com.databricks.sdk.service.jobs.TableUpdateTriggerConfiguration` class. * Changed `tableUpdate` field for `com.databricks.sdk.service.jobs.TriggerSettings` to `com.databricks.sdk.service.jobs.TableUpdateTriggerConfiguration` class. * Added `com.databricks.sdk.service.jobs.JobEnvironment` class. * Added `com.databricks.sdk.service.jobs.TableUpdateTriggerConfiguration` class. * Added `com.databricks.sdk.service.marketplace` package. OpenAPI SHA: 94684175b8bd65f8701f89729351f8069e8309c9, Date: 2024-04-11
### Improvements and Bug Fixes * Introduce more specific exceptions, like `NotFound`, `AlreadyExists`, `BadRequest`, `PermissionDenied`, `InternalError`, and others ([#185](#185), [#257](#257)). * Lock around field accessibility changes ([#247](#247)). * Fix Changelog ([#258](#258)). * Support post with no body for APIs ([#262](#262)). API Changes: * Changed `cancelRefresh()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `create()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `delete()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `get()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `getRefresh()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `listRefreshes()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `runRefresh()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `update()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Removed `com.databricks.sdk.service.catalog.AzureManagedIdentity` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.CancelRefreshRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.CancelRefreshRequest`. * Changed `customMetrics` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorMetricList` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.CreateMonitor`. * Changed `inferenceLog` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Changed `notifications` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Changed `snapshot` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `Object` class. * Changed `timeSeries` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Added `tableName` field for `com.databricks.sdk.service.catalog.CreateMonitor`. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.CreateStorageCredential` to `com.databricks.sdk.service.catalog.AzureManagedIdentityRequest` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.DeleteLakehouseMonitorRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.DeleteLakehouseMonitorRequest`. * Removed `fullName` field for `com.databricks.sdk.service.catalog.GetLakehouseMonitorRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.GetLakehouseMonitorRequest`. * Removed `fullName` field for `com.databricks.sdk.service.catalog.GetRefreshRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.GetRefreshRequest`. * Removed `fullName` field for `com.databricks.sdk.service.catalog.ListRefreshesRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.ListRefreshesRequest`. * Changed `quartzCronExpression` field for `com.databricks.sdk.service.catalog.MonitorCronSchedule` to be required. * Changed `timezoneId` field for `com.databricks.sdk.service.catalog.MonitorCronSchedule` to be required. * Removed `com.databricks.sdk.service.catalog.MonitorCustomMetric` class. * Removed `com.databricks.sdk.service.catalog.MonitorCustomMetricType` class. * Removed `com.databricks.sdk.service.catalog.MonitorDestinations` class. * Removed `com.databricks.sdk.service.catalog.MonitorInferenceLogProfileType` class. * Removed `com.databricks.sdk.service.catalog.MonitorInferenceLogProfileTypeProblemType` class. * Changed `customMetrics` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorMetricList` class. * Changed `driftMetricsTableName` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `inferenceLog` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Changed `monitorVersion` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `notifications` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Changed `profileMetricsTableName` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `snapshot` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `Object` class. * Changed `status` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `tableName` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `timeSeries` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Removed `com.databricks.sdk.service.catalog.MonitorNotificationsConfig` class. * Changed `refreshId` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo` to be required. * Changed `startTimeMs` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo` to be required. * Changed `state` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo` to be required. * Added `trigger` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo`. * Removed `Object` class. * Removed `com.databricks.sdk.service.catalog.MonitorTimeSeriesProfileType` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.RunRefreshRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.RunRefreshRequest`. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.StorageCredentialInfo` to `com.databricks.sdk.service.catalog.AzureManagedIdentityResponse` class. * Removed `name` field for `com.databricks.sdk.service.catalog.TableRowFilter`. * Added `functionName` field for `com.databricks.sdk.service.catalog.TableRowFilter`. * Changed `customMetrics` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorMetricList` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.UpdateMonitor`. * Changed `inferenceLog` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Changed `notifications` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Changed `snapshot` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `Object` class. * Changed `timeSeries` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Added `tableName` field for `com.databricks.sdk.service.catalog.UpdateMonitor`. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.UpdateStorageCredential` to `com.databricks.sdk.service.catalog.AzureManagedIdentityResponse` class. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.ValidateStorageCredential` to `com.databricks.sdk.service.catalog.AzureManagedIdentityRequest` class. * Removed `operation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Added `awsOperation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Added `azureOperation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Added `gcpOperation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Removed `com.databricks.sdk.service.catalog.ValidationResultOperation` class. * Added `com.databricks.sdk.service.catalog.AzureManagedIdentityRequest` class. * Added `com.databricks.sdk.service.catalog.AzureManagedIdentityResponse` class. * Added `com.databricks.sdk.service.catalog.MonitorDestination` class. * Added `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Added `com.databricks.sdk.service.catalog.MonitorInferenceLogProblemType` class. * Added `com.databricks.sdk.service.catalog.MonitorMetric` class. * Added `com.databricks.sdk.service.catalog.MonitorMetricType` class. * Added `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Added `com.databricks.sdk.service.catalog.MonitorRefreshInfoTrigger` class. * Added `Object` class. * Added `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Added `com.databricks.sdk.service.catalog.ValidationResultAwsOperation` class. * Added `com.databricks.sdk.service.catalog.ValidationResultAzureOperation` class. * Added `com.databricks.sdk.service.catalog.ValidationResultGcpOperation` class. * Added `cloneFrom` field for `com.databricks.sdk.service.compute.ClusterSpec`. * Removed `com.databricks.sdk.service.compute.ComputeSpec` class. * Removed `com.databricks.sdk.service.compute.ComputeSpecKind` class. * Added `cloneFrom` field for `com.databricks.sdk.service.compute.CreateCluster`. * Added `cloneFrom` field for `com.databricks.sdk.service.compute.EditCluster`. * Added `com.databricks.sdk.service.compute.CloneCluster` class. * Added `com.databricks.sdk.service.compute.Environment` class. * Changed `update()` method for `accountClient.workspaceAssignment()` service to return `com.databricks.sdk.service.iam.PermissionAssignment` class. * Removed `Object` class. * Removed `computeKey` field for `com.databricks.sdk.service.jobs.ClusterSpec`. * Removed `compute` field for `com.databricks.sdk.service.jobs.CreateJob`. * Added `environments` field for `com.databricks.sdk.service.jobs.CreateJob`. * Removed `com.databricks.sdk.service.jobs.JobCompute` class. * Removed `compute` field for `com.databricks.sdk.service.jobs.JobSettings`. * Added `environments` field for `com.databricks.sdk.service.jobs.JobSettings`. * Removed `computeKey` field for `com.databricks.sdk.service.jobs.RunTask`. * Removed `com.databricks.sdk.service.jobs.TableTriggerConfiguration` class. * Removed `computeKey` field for `com.databricks.sdk.service.jobs.Task`. * Added `environmentKey` field for `com.databricks.sdk.service.jobs.Task`. * Changed `table` field for `com.databricks.sdk.service.jobs.TriggerSettings` to `com.databricks.sdk.service.jobs.TableUpdateTriggerConfiguration` class. * Changed `tableUpdate` field for `com.databricks.sdk.service.jobs.TriggerSettings` to `com.databricks.sdk.service.jobs.TableUpdateTriggerConfiguration` class. * Added `com.databricks.sdk.service.jobs.JobEnvironment` class. * Added `com.databricks.sdk.service.jobs.TableUpdateTriggerConfiguration` class. * Added `com.databricks.sdk.service.marketplace` package. OpenAPI SHA: 94684175b8bd65f8701f89729351f8069e8309c9, Date: 2024-04-11
Adjusts the field accessibility changes so they are protected behind a lock. Epic was running into this when we concurrently created WorkspaceClients and they would often read properties that another thread had re-set to unaccessible. ## Changes Synchronize on the `field` object before we mutate and read it to ensure accessibility maintains throughout the code block ## Tests No new tests. Nothing new added so existing tests should ensure logic is correct for config reading. Testing multithreaded races in this case would prove difficult.
### Improvements and Bug Fixes * Introduce more specific exceptions, like `NotFound`, `AlreadyExists`, `BadRequest`, `PermissionDenied`, `InternalError`, and others ([databricks#185](databricks#185), [databricks#257](databricks#257)). * Lock around field accessibility changes ([databricks#247](databricks#247)). * Fix Changelog ([databricks#258](databricks#258)). * Support post with no body for APIs ([databricks#262](databricks#262)). API Changes: * Changed `cancelRefresh()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `create()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `delete()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `get()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `getRefresh()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `listRefreshes()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `runRefresh()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Changed `update()` method for `workspaceClient.lakehouseMonitors()` service with new required argument order. * Removed `com.databricks.sdk.service.catalog.AzureManagedIdentity` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.CancelRefreshRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.CancelRefreshRequest`. * Changed `customMetrics` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorMetricList` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.CreateMonitor`. * Changed `inferenceLog` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Changed `notifications` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Changed `snapshot` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `Object` class. * Changed `timeSeries` field for `com.databricks.sdk.service.catalog.CreateMonitor` to `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Added `tableName` field for `com.databricks.sdk.service.catalog.CreateMonitor`. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.CreateStorageCredential` to `com.databricks.sdk.service.catalog.AzureManagedIdentityRequest` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.DeleteLakehouseMonitorRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.DeleteLakehouseMonitorRequest`. * Removed `fullName` field for `com.databricks.sdk.service.catalog.GetLakehouseMonitorRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.GetLakehouseMonitorRequest`. * Removed `fullName` field for `com.databricks.sdk.service.catalog.GetRefreshRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.GetRefreshRequest`. * Removed `fullName` field for `com.databricks.sdk.service.catalog.ListRefreshesRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.ListRefreshesRequest`. * Changed `quartzCronExpression` field for `com.databricks.sdk.service.catalog.MonitorCronSchedule` to be required. * Changed `timezoneId` field for `com.databricks.sdk.service.catalog.MonitorCronSchedule` to be required. * Removed `com.databricks.sdk.service.catalog.MonitorCustomMetric` class. * Removed `com.databricks.sdk.service.catalog.MonitorCustomMetricType` class. * Removed `com.databricks.sdk.service.catalog.MonitorDestinations` class. * Removed `com.databricks.sdk.service.catalog.MonitorInferenceLogProfileType` class. * Removed `com.databricks.sdk.service.catalog.MonitorInferenceLogProfileTypeProblemType` class. * Changed `customMetrics` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorMetricList` class. * Changed `driftMetricsTableName` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `inferenceLog` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Changed `monitorVersion` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `notifications` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Changed `profileMetricsTableName` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `snapshot` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `Object` class. * Changed `status` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `tableName` field for `com.databricks.sdk.service.catalog.MonitorInfo` to be required. * Changed `timeSeries` field for `com.databricks.sdk.service.catalog.MonitorInfo` to `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Removed `com.databricks.sdk.service.catalog.MonitorNotificationsConfig` class. * Changed `refreshId` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo` to be required. * Changed `startTimeMs` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo` to be required. * Changed `state` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo` to be required. * Added `trigger` field for `com.databricks.sdk.service.catalog.MonitorRefreshInfo`. * Removed `Object` class. * Removed `com.databricks.sdk.service.catalog.MonitorTimeSeriesProfileType` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.RunRefreshRequest`. * Added `tableName` field for `com.databricks.sdk.service.catalog.RunRefreshRequest`. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.StorageCredentialInfo` to `com.databricks.sdk.service.catalog.AzureManagedIdentityResponse` class. * Removed `name` field for `com.databricks.sdk.service.catalog.TableRowFilter`. * Added `functionName` field for `com.databricks.sdk.service.catalog.TableRowFilter`. * Changed `customMetrics` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorMetricList` class. * Removed `fullName` field for `com.databricks.sdk.service.catalog.UpdateMonitor`. * Changed `inferenceLog` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Changed `notifications` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Changed `snapshot` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `Object` class. * Changed `timeSeries` field for `com.databricks.sdk.service.catalog.UpdateMonitor` to `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Added `tableName` field for `com.databricks.sdk.service.catalog.UpdateMonitor`. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.UpdateStorageCredential` to `com.databricks.sdk.service.catalog.AzureManagedIdentityResponse` class. * Changed `azureManagedIdentity` field for `com.databricks.sdk.service.catalog.ValidateStorageCredential` to `com.databricks.sdk.service.catalog.AzureManagedIdentityRequest` class. * Removed `operation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Added `awsOperation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Added `azureOperation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Added `gcpOperation` field for `com.databricks.sdk.service.catalog.ValidationResult`. * Removed `com.databricks.sdk.service.catalog.ValidationResultOperation` class. * Added `com.databricks.sdk.service.catalog.AzureManagedIdentityRequest` class. * Added `com.databricks.sdk.service.catalog.AzureManagedIdentityResponse` class. * Added `com.databricks.sdk.service.catalog.MonitorDestination` class. * Added `com.databricks.sdk.service.catalog.MonitorInferenceLog` class. * Added `com.databricks.sdk.service.catalog.MonitorInferenceLogProblemType` class. * Added `com.databricks.sdk.service.catalog.MonitorMetric` class. * Added `com.databricks.sdk.service.catalog.MonitorMetricType` class. * Added `com.databricks.sdk.service.catalog.MonitorNotifications` class. * Added `com.databricks.sdk.service.catalog.MonitorRefreshInfoTrigger` class. * Added `Object` class. * Added `com.databricks.sdk.service.catalog.MonitorTimeSeries` class. * Added `com.databricks.sdk.service.catalog.ValidationResultAwsOperation` class. * Added `com.databricks.sdk.service.catalog.ValidationResultAzureOperation` class. * Added `com.databricks.sdk.service.catalog.ValidationResultGcpOperation` class. * Added `cloneFrom` field for `com.databricks.sdk.service.compute.ClusterSpec`. * Removed `com.databricks.sdk.service.compute.ComputeSpec` class. * Removed `com.databricks.sdk.service.compute.ComputeSpecKind` class. * Added `cloneFrom` field for `com.databricks.sdk.service.compute.CreateCluster`. * Added `cloneFrom` field for `com.databricks.sdk.service.compute.EditCluster`. * Added `com.databricks.sdk.service.compute.CloneCluster` class. * Added `com.databricks.sdk.service.compute.Environment` class. * Changed `update()` method for `accountClient.workspaceAssignment()` service to return `com.databricks.sdk.service.iam.PermissionAssignment` class. * Removed `Object` class. * Removed `computeKey` field for `com.databricks.sdk.service.jobs.ClusterSpec`. * Removed `compute` field for `com.databricks.sdk.service.jobs.CreateJob`. * Added `environments` field for `com.databricks.sdk.service.jobs.CreateJob`. * Removed `com.databricks.sdk.service.jobs.JobCompute` class. * Removed `compute` field for `com.databricks.sdk.service.jobs.JobSettings`. * Added `environments` field for `com.databricks.sdk.service.jobs.JobSettings`. * Removed `computeKey` field for `com.databricks.sdk.service.jobs.RunTask`. * Removed `com.databricks.sdk.service.jobs.TableTriggerConfiguration` class. * Removed `computeKey` field for `com.databricks.sdk.service.jobs.Task`. * Added `environmentKey` field for `com.databricks.sdk.service.jobs.Task`. * Changed `table` field for `com.databricks.sdk.service.jobs.TriggerSettings` to `com.databricks.sdk.service.jobs.TableUpdateTriggerConfiguration` class. * Changed `tableUpdate` field for `com.databricks.sdk.service.jobs.TriggerSettings` to `com.databricks.sdk.service.jobs.TableUpdateTriggerConfiguration` class. * Added `com.databricks.sdk.service.jobs.JobEnvironment` class. * Added `com.databricks.sdk.service.jobs.TableUpdateTriggerConfiguration` class. * Added `com.databricks.sdk.service.marketplace` package. OpenAPI SHA: 94684175b8bd65f8701f89729351f8069e8309c9, Date: 2024-04-11
Adjusts the field accessibility changes so they are protected behind a lock. Epic was running into this when we concurrently created WorkspaceClients and they would often read properties that another thread had re-set to unaccessible.
Changes
Synchronize on the
field
object before we mutate and read it to ensure accessibility maintains throughout the code blockTests
No new tests. Nothing new added so existing tests should ensure logic is correct for config reading. Testing multithreaded races in this case would prove difficult.