Skip to content

Conversation

@aaronsteers
Copy link
Collaborator

This update removes the requirement to have the tap installed or to have any config.json file setup - assuming:

  1. There's a catalog.json file in the expectation location
  2. The use does not specify '--rescan'

Essentially, in those conditions where we just want to update the plan and we already have the cached catalog metadata, we can skip connecting to the remote source and also skip loading the config file.

Note:

  • The config file will still be loaded if it exists, but an error will no longer be thrown if the config doesn't exist, or if the tap in not installed.

"REPLICATION_STRATEGY", "INCREMENTAL"
)
config.validate_replication_strategy(replication_strategy)
catalog_dir = config.get_tap_output_dir(tap_name, taps_dir)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved these lines up higher so they are able to be used in evaluating the catalog file existance.

taps_dir=taps_dir,
config_dir=config_dir,
config_file=config_file,
config_file_required=config_file_required,
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This allows us to say "not required" if we have enough info to run the plan without rerunning the tap.

Copy link

@ahardisty ahardisty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks like an elegant solution tucked into a complex system. Well done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants