Skip to content

πŸ› Destination snowflane: abort queries on crash - #29903

Merged
Edward Gao (edgao) merged 3 commits into
masterfrom
edgao/snowflake/abort_detached_query
Aug 28, 2023
Merged

Edward Gao (edgao) merged 3 commits into
masterfrom
edgao/snowflake/abort_detached_query

Conversation

@edgao

Copy link
Copy Markdown
Contributor

https://docs.snowflake.com/en/sql-reference/transactions#aborting-transactions

If a transaction is running in a session and the session disconnects [...] the transaction is left in a detached state, including any locks that the transaction is holding on resources. If this happens, you might need to abort the transaction.

If the transaction is not aborted by the user [...] If it blocks another transaction from acquiring a lock on the same table and is idle for 5 minutes, it is automatically aborted and rolled back.

https://docs.snowflake.com/en/sql-reference/parameters#abort-detached-query

In-progress queries are aborted 5 minutes after connectivity is lost.

so in the worst case, any active query would block other transactions on the same table for up to 10 minutes.

@github-actions

github-actions Bot commented Aug 28, 2023 •

Copy link
Copy Markdown
Contributor

Before Merging a Connector Pull Request

Wow! What a great pull request you have here! πŸŽ‰

To merge this PR, ensure the following has been done/considered for each connector added or updated:

  • PR name follows PR naming conventions
  • Breaking changes are considered. If a Breaking Change is being introduced, ensure an Airbyte engineer has created a Breaking Change Plan.
  • Connector version has been incremented in the Dockerfile and metadata.yaml according to our Semantic Versioning for Connectors guidelines
  • You've updated the connector's metadata.yaml file any other relevant changes, including a breakingChanges entry for major version bumps. See metadata.yaml docs
  • Secrets in the connector's spec are annotated with airbyte_secret
  • All documentation files are up to date. (README.md, bootstrap.md, docs.md, etc...)
  • Changelog updated in docs/integrations/<source or destination>/<name>.md with an entry for the new version. See changelog example
  • Migration guide updated in docs/integrations/<source or destination>/<name>-migrations.md with an entry for the new version, if the version is a breaking change. See migration guide example
  • If set, you've ensured the icon is present in the platform-internal repo. (Docs)

If the checklist is complete, but the CI check is failing,

  1. Check for hidden checklists in your PR description

  2. Toggle the github label checklist-action-run on/off to re-run the checklist CI.

@octavia-squidington-iii Octavia Squidington III (octavia-squidington-iii) added the area/documentation Improvements or additions to documentation label Aug 28, 2023
@edgao Edward Gao (edgao) changed the title Destination snowflane: abort queries on crash πŸ› Destination snowflane: abort queries on crash Aug 28, 2023
@edgao
Edward Gao (edgao) marked this pull request as ready for review August 28, 2023 17:29
@edgao
Edward Gao (edgao) requested a review from a team as a code owner August 28, 2023 17:29

@evantahler Evan Tahler (evantahler) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nice.
Is there something similar for BQ?

@github-actions

Copy link
Copy Markdown
Contributor

destination-snowflake test report (commit b0ca74653e) - ❌

⏲️ Total pipeline duration: 34mn46s

Step Result
Java Connector Unit Tests βœ…
Build connector tar βœ…
Build destination-snowflake docker image for platform linux/x86_64 βœ…
Build airbyte/normalization-snowflake:dev βœ…
Java Connector Integration Tests ❌
Validate airbyte-integrations/connectors/destination-snowflake/metadata.yaml βœ…
Connector version semver check βœ…
Connector version increment check βœ…
QA checks βœ…

πŸ”— View the logs here

☁️ View runs for commit in Dagger Cloud

Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command

airbyte-ci connectors --name=destination-snowflake test

@github-actions

Copy link
Copy Markdown
Contributor

destination-snowflake test report (commit b0ca74653e) - ❌

⏲️ Total pipeline duration: 28mn33s

Step Result
Java Connector Unit Tests βœ…
Build connector tar βœ…
Build destination-snowflake docker image for platform linux/x86_64 βœ…
Build airbyte/normalization-snowflake:dev βœ…
Java Connector Integration Tests ❌
Validate airbyte-integrations/connectors/destination-snowflake/metadata.yaml βœ…
Connector version semver check βœ…
Connector version increment check βœ…
QA checks βœ…

πŸ”— View the logs here

☁️ View runs for commit in Dagger Cloud

Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command

airbyte-ci connectors --name=destination-snowflake test

@edgao

Copy link
Copy Markdown
Contributor Author

I don't think so, afaict you have to explicitly cancel a query job once it's in-progress. Fortunately (?) bigquery doesn't have quite as powerful concurrency guarantees - simultaneous updates to the same table cause one of the transactions to immediately crash, rather than any fancy locking stuff.

@edgao
Edward Gao (edgao) enabled auto-merge (squash) August 28, 2023 18:41
@github-actions

Copy link
Copy Markdown
Contributor

destination-snowflake test report (commit 677d244f44) - βœ…

⏲️ Total pipeline duration: 36mn18s

Step Result
Java Connector Unit Tests βœ…
Build connector tar βœ…
Build destination-snowflake docker image for platform linux/x86_64 βœ…
Build airbyte/normalization-snowflake:dev βœ…
Java Connector Integration Tests βœ…
Validate airbyte-integrations/connectors/destination-snowflake/metadata.yaml βœ…
Connector version semver check βœ…
Connector version increment check βœ…
QA checks βœ…

πŸ”— View the logs here

☁️ View runs for commit in Dagger Cloud

Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command

airbyte-ci connectors --name=destination-snowflake test

@edgao
Edward Gao (edgao) merged commit 7cedda7 into master Aug 28, 2023
@edgao
Edward Gao (edgao) deleted the edgao/snowflake/abort_detached_query branch August 28, 2023 19:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/connectors Connector related issues area/documentation Improvements or additions to documentation connectors/destination/snowflake

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants