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: don't emit all UC objects when handling dependencies #3556

Merged
merged 1 commit into from
May 8, 2024

Conversation

alexott
Copy link
Contributor

@alexott alexott commented May 8, 2024

Changes

Right now, if we discover any UC dependency, we emit upstream objects as well, such as schemas, catalogs, etc., but in their Import operations we're doing all nested objects unnecessarily - so emit one init script from a UC Volume may lead to emitting of the whole UC Catalog with all schemas/tables/volumes...

With this change, we list all nested objects (schemas in catalog, tables/models/volumes in a schema) only if these services are explicitly specified in the -listing option.

Fixes #3555

Tests

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

Right now, if we discover any UC dependency, we emit upstream objects as well, such as
schemas, catalogs, etc., but in their `Import` operations we're doing all nested objects
unnecessarily - so emit one init script from a UC Volume may lead to emitting of the whole
UC Catalog with all schemas/tables/volumes...

With this change, we list all nested objects (schemas in catalog, tables/models/volumes in
a schema) only if these services are explicitly specified in the `-listing` option.

Fixes #3555
@alexott alexott requested review from a team as code owners May 8, 2024 08:25
@alexott alexott requested review from hectorcast-db and removed request for a team May 8, 2024 08:25
@alexott alexott added the exporter TF configuration generator label May 8, 2024
@alexott alexott added this pull request to the merge queue May 8, 2024
Merged via the queue into main with commit 6d08102 May 8, 2024
5 checks passed
@alexott alexott deleted the exporter-limit-uc-dependencies-export branch May 8, 2024 08:44
alexott added a commit that referenced this pull request May 10, 2024
…to default listing

The `uc-schemas`, `uc-models`, `uc-tables`, and `uc-volumes` services don't have explicit
`List` operation, but we need to include them into the default listing so they will be
exported in the default mode.
tanmay-db added a commit that referenced this pull request May 13, 2024
### New Features and Improvements
* fix ([#3542](#3542)).
* Update data_aws_crossaccount_policy to format resource string with account and region ([#3544](#3544)).
* Robust retries for workspace get-status ([#3550](#3550)).
* Fix error message typo in mounts.go ([#3552](#3552)).
* State the options for run_if ([#3548](#3548)).
* Exporter: don't emit all UC objects when handling dependencies ([#3556](#3556)).
* Added state upgrader to remove `max_clusters_per_user` and ebs volume attributes set to zero ([#3551](#3551)).
* Exporter: track removed objects during the `Emit` phase ([#3554](#3554)).
* Jobs GoSDK schema migration ([#3532](#3532)).
* Exporter: optimize generation of `databricks_group_member` resource ([#3559](#3559)).

### Documentation Changes

### Exporter

### Internal Changes
@tanmay-db tanmay-db mentioned this pull request May 13, 2024
github-merge-queue bot pushed a commit that referenced this pull request May 13, 2024
…to default listing (#3565)

The `uc-schemas`, `uc-models`, `uc-tables`, and `uc-volumes` services don't have explicit
`List` operation, but we need to include them into the default listing so they will be
exported in the default mode.
github-merge-queue bot pushed a commit that referenced this pull request May 14, 2024
* Release v1.43.0

### New Features and Improvements
* fix ([#3542](#3542)).
* Update data_aws_crossaccount_policy to format resource string with account and region ([#3544](#3544)).
* Robust retries for workspace get-status ([#3550](#3550)).
* Fix error message typo in mounts.go ([#3552](#3552)).
* State the options for run_if ([#3548](#3548)).
* Exporter: don't emit all UC objects when handling dependencies ([#3556](#3556)).
* Added state upgrader to remove `max_clusters_per_user` and ebs volume attributes set to zero ([#3551](#3551)).
* Exporter: track removed objects during the `Emit` phase ([#3554](#3554)).
* Jobs GoSDK schema migration ([#3532](#3532)).
* Exporter: optimize generation of `databricks_group_member` resource ([#3559](#3559)).

### Documentation Changes

### Exporter

### Internal Changes

* -

* -

* -
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.

Exporter: don't export UC objects (tables, volumes, schemas, ...) if they are discovered via dependencies
2 participants