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

Update connection object to cached_property in DatabricksHook #20526

Merged
merged 1 commit into from
Dec 27, 2021

Conversation

josh-fell
Copy link
Contributor

This PR:

  1. Moves the database call out of the hook's __init__() method (there has been some back-and-forth on PRs recently for this).
  2. Intends to handle any Mypy errors.

Both of these issues should be solved by using a cached_property on the self.databricks_conn object.


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.

@josh-fell
Copy link
Contributor Author

CC @dstandish @kaxil

@github-actions github-actions bot added the okay to merge It's ok to merge this PR as it does not require more tests label Dec 27, 2021
@github-actions
Copy link

The PR is likely OK to be merged with just subset of tests for default Python and Database versions without running the full matrix of tests, because it does not modify the core of Airflow. If the committers decide that the full tests matrix is needed, they will add the label 'full tests needed'. Then you should rebase to the latest main or amend the last commit of the PR, and push it with --force-with-lease.

@kaxil kaxil merged commit e7659d0 into apache:main Dec 27, 2021
@josh-fell josh-fell deleted the databricks-hook branch December 27, 2021 20:14
@@ -305,6 +311,11 @@ def _do_api_call(self, endpoint_info, json):
"""
method, endpoint = endpoint_info

if 'host' in self.databricks_conn.extra_dejson:
Copy link
Contributor

Choose a reason for hiding this comment

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

self.host might want to be a cached prop also. or not be an attribute at all. it feels a little uncomfortable to mutate attributes like this, i.e. as side effects of a method

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah you're right. Copy pasta. This doesn't need to be an instance attribute. self.host is only referenced in _do_api_call().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:providers okay to merge It's ok to merge this PR as it does not require more tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants