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

[Exporter] improve handling of Emit/Add operations under the heavy load #4401

Merged
merged 1 commit into from
Jan 24, 2025

Conversation

alexott
Copy link
Contributor

@alexott alexott commented Jan 16, 2025

Changes

We may still have (theoretically) a race condition in Add/Emit operations due to the checks performed in separate functions, not directly in corresponding functions. This PR should prevent that theoretical possibility.

Tests

  • make test run locally
  • relevant change in docs/ folder
  • covered with integration tests in internal/acceptance
  • using Go SDK
  • using TF Plugin Framework

We may still have (theoretically) a race condition in `Add`/`Emit` operations due to the
checks performed in separate functions, not directly in corresponding functions.  This PR
should prevent that theoretical possibility.
@alexott alexott requested review from a team as code owners January 16, 2025 07:51
@alexott alexott requested review from tanmay-db and removed request for a team January 16, 2025 07:51
@alexott alexott temporarily deployed to test-trigger-is January 16, 2025 07:51 — with GitHub Actions Inactive
Copy link

If integration tests don't run automatically, an authorized user can run them manually by following the instructions below:

Trigger:
go/deco-tests-run/terraform

Inputs:

  • PR number: 4401
  • Commit SHA: f4a8eab5b7eb3ffd369c6069ec4c21bb6e33bb47

Checks will be approved automatically on success.

@alexott alexott temporarily deployed to test-trigger-is January 16, 2025 07:52 — with GitHub Actions Inactive
@alexott alexott added the exporter TF configuration generator label Jan 16, 2025
@alexott alexott added this pull request to the merge queue Jan 24, 2025
Merged via the queue into main with commit 3625c56 Jan 24, 2025
12 checks passed
@alexott alexott deleted the exporter/improve-concurrency-handling branch January 24, 2025 10:10
mgyucht added a commit that referenced this pull request Jan 27, 2025
### New Features and Improvements

 * Add `no_compute` attribute to `databricks_app` ([#4364](#4364)).
 * Skip calling Read after Create/Update operations for `databricks_notebook` ([#4173](#4173)).

### Bug Fixes

 * Recreate `databricks_token` if it's not found or expired ([#4431](#4431)).
 * Handle empty response properly in `databricks_mws_workspaces` data source ([#4414](#4414)).
 * Recreate `databricks_obo_token` if it's removed or expired ([#4428](#4428)).

### Documentation

 * Added Queue Data Contributor role to Azure terraform docs ([#4412](#4412)).
 * Replaced references to data security mode with access mode ([#4408](#4408)).

### Internal Changes

 * Account for historical release headers when filtering on past changelog sections ([#4409](#4409)).
 * Introduce automated tagging ([#4366](#4366)).
 * Remove .extraheader config ([#4405](#4405)).
 * Remove tag signing in tagging.py script ([#4407](#4407)).
 * Set runs-on to use our internal runners ([#4403](#4403)).

### Dependency Updates

 * Bump Databricks Go SDK to v0.56.1 ([#4430](#4430)).
 * Bump github.com/hashicorp/terraform-plugin-go from 0.25.0 to 0.26.0 ([#4429](#4429)).
 * Bump github.com/hashicorp/terraform-plugin-mux from 0.17.0 to 0.18.0 ([#4432](#4432)).
 * Bump github.com/zclconf/go-cty from 1.16.1 to 1.16.2 ([#4423](#4423)).

### Exporter

 * **Breaking**: rename `workspace` service into `wsconf` ([#4425](#4425)).
 * Add listing for `databricks_permissions` so we can emit permissions for tokens ([#4402](#4402)).
 * Refactor jobs implementation to use only Go SDK ([#4380](#4380)).
 * improve handling of Emit/Add operations under the heavy load ([#4401](#4401)).
github-merge-queue bot pushed a commit that referenced this pull request Jan 27, 2025
### New Features and Improvements

* Add `no_compute` attribute to `databricks_app`
([#4364](#4364)).
* Skip calling Read after Create/Update operations for
`databricks_notebook`
([#4173](#4173)).


### Bug Fixes

* Recreate `databricks_token` if it's not found or expired
([#4431](#4431)).
* Handle empty response properly in `databricks_mws_workspaces` data
source
([#4414](#4414)).
* Recreate `databricks_obo_token` if it's removed or expired
([#4428](#4428)).


### Documentation

* Added Queue Data Contributor role to Azure terraform docs
([#4412](#4412)).
* Replaced references to data security mode with access mode
([#4408](#4408)).


### Internal Changes

* Account for historical release headers when filtering on past
changelog sections
([#4409](#4409)).
* Introduce automated tagging
([#4366](#4366)).
* Remove .extraheader config
([#4405](#4405)).
* Remove tag signing in tagging.py script
([#4407](#4407)).
* Set runs-on to use our internal runners
([#4403](#4403)).


### Dependency Updates

* Bump Databricks Go SDK to v0.56.1
([#4430](#4430)).
* Bump github.com/hashicorp/terraform-plugin-go from 0.25.0 to 0.26.0
([#4429](#4429)).
* Bump github.com/hashicorp/terraform-plugin-mux from 0.17.0 to 0.18.0
([#4432](#4432)).
* Bump github.com/zclconf/go-cty from 1.16.1 to 1.16.2
([#4423](#4423)).


### Exporter

* **Breaking**: rename `workspace` service into `wsconf`
([#4425](#4425)).
* Add listing for `databricks_permissions` so we can emit permissions
for tokens
([#4402](#4402)).
* Refactor jobs implementation to use only Go SDK
([#4380](#4380)).
* improve handling of Emit/Add operations under the heavy load
([#4401](#4401)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exporter TF configuration generator
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants