1
0
mirror of synced 2025-12-21 11:01:41 -05:00
Commit Graph

304 Commits

Author SHA1 Message Date
Amalia Advincula-Roye
cee04f208e Update instructions for new UI (#19301)
Co-authored-by: Natik Gadzhi <natik@respawn.io>
2024-10-12 15:28:01 -07:00
Stephane Geneix
bb3c27b817 destination-snowflake: update all dependencies (#45437) 2024-09-19 08:46:37 -07:00
Stephane Geneix
ccd0ea6c42 destination-snowflake: truncate large records (#45431)
## What
This change implements a large record truncation mechanism for the Snowflake destination connector to handle records exceeding Snowflake's 16MB row size limit.

## How
- The truncator preserves primary key fields and truncates other fields to fit within the 16MB limit.
- Added metadata to indicate which fields were truncated due to size limitations.


## User Impact
Users can now sync large records to Snowflake without encountering errors due to row size limitations. Fields may be truncated to fit within the 16MB limit, but primary keys are always preserved. Metadata is added to indicate which fields were affected.
2024-09-19 08:17:29 -07:00
Stephane Geneix
14f9e5c32d destination-snowflake: speed up metadata queries (#45422) 2024-09-18 15:14:54 -07:00
Stephane Geneix
7c8d612c51 destination-snowflake: fix destination state table collation (#38585)
when creating a table in snowflake, we use the DEFAULT_COLLATION set at the database or schema level. We should always use the utf-8 collation (which is the snowflake default), so our queries are simpler and faster (and accept more than 50 constants in an IN clause)
2024-09-18 11:46:40 -07:00
Stephane Geneix
e931c2add7 destination-snowflake: get tests to pass - durably (#45370)
### TL;DR

Make destination-snowflake pass all tests

### What changed?

- Updated CDK version to 0.45.0
- Reduced JUnit method execution timeout to 20 minutes
- Improved error handling in SnowflakeDestination's main function
- Enhanced error message for invalid permissions in integration test
- Implemented a more robust cleanup process for Airbyte internal tables and schemas
- Removed unused Batch and LocalFileBatch classes
- Not in the PR: I also deleted about 5k tables and 2k schemas, which were making our tests run slower than necessary. The cleanup logic will automate those cleanups. 

### How to test?

1. Run integration tests for the Snowflake destination connector
2. Verify that the new error message is displayed when testing with invalid permissions
3. Check that the cleanup process removes old tables and schemas as expected
4. Ensure that all existing functionality remains intact

### Why make this change?

These changes aim to improve the reliability and maintainability of the Snowflake destination connector. The updated CDK version and reduced test timeout should lead to faster and more efficient testing. The enhanced error handling and cleanup processes will help in identifying issues more quickly and keeping the test environment clean. Removing unused classes reduces code clutter and improves overall code quality.
2024-09-18 11:19:13 -07:00
Evan Tahler
d141d18a86 Destinations - Increase Jackson parse limit to 100MB (#44476) 2024-08-29 12:03:02 -05:00
Edward Gao
ee532e2f79 Destinations bigquery+snowflake+redshift: hard revert refreshes thing (#44526) 2024-08-22 13:26:32 -07:00
Gireesh Sreepathi
141daaccfa Destination Snowflake: Revisiting merge instead of insert+delete (#43367) 2024-08-21 02:34:02 +03:00
Edward Gao
7ba3e2dabc Destination snowflake: pull in cdk update for refreshes bugfix (#42505) 2024-08-20 08:31:27 -07:00
Stephane Geneix
2a15fbd578 destination-snowflake: remove contention on state table (#43440) 2024-08-09 14:50:43 -07:00
Stephane Geneix
a324031221 destination-snowflake: bump cdk (#43332)
bumping CDK to the latest version. This is necessary to be able to override some test methods to increase timeout.

I disabled largeSync and manyStreamsCompletion because they were timing out. They should be reenabled in the following PRs

I also disabled the tests that were added by the new CDK. They're failing, which points to an existing bug WRT handling of interrupted refreshes
2024-08-09 12:06:29 -07:00
Gireesh Sreepathi
7cab6a2aa7 Destination Snowflake: SqlGenerator class cleanup (#43348) 2024-08-07 12:10:30 -07:00
Waldemar Hummer
5b0d056f2a feat(destination-snowflake): Update host regex to allow connecting to LocalStack Snowflake (#41940) 2024-07-18 14:17:16 -03:00
Edward Gao
b7d7db69ee Destinations bigquery, snowflake, redshift: Don't hang forever on empty stream list; shorten error message on INCOMPLETE stream status (#41968) 2024-07-15 17:57:15 -07:00
Edward Gao
25d0030481 Destinations bigquery+snowflake: upgrade cdk (#41674) 2024-07-12 14:45:12 -04:00
Edward Gao
b2e7895ed3 Destination Bigquery+Snowflake: Fix resuming truncate refresh (#41041) 2024-07-08 21:37:52 -04:00
Edward Gao
3ef856fad6 Improve destination snowflake refreshes changelog (#40683) 2024-07-02 12:54:21 -07:00
Gireesh Sreepathi
127c5015cd Destination Snowflake: Storage ops to support refreshes (#39473) 2024-07-01 16:54:50 -07:00
Gireesh Sreepathi
799578645a Destination Snowflake: Fix for adding airbyte_meta to raw in overwrite mode (#39399) 2024-06-11 11:48:42 -04:00
Gireesh Sreepathi
9f0ce4f04b Destination Snowflake: Sync Id, generation_id and Meta (#39107) 2024-06-10 16:55:45 -07:00
Evan Tahler
f96701d4b9 snowflake docs - fix code formatting (#39345) 2024-06-07 10:15:48 -07:00
Gireesh Sreepathi
3a9dabb5db Destination Snowflake: Improve error handling in StagingClient (#39135) 2024-06-05 15:08:54 -07:00
Audrey Maldonado
b9690ba76e Wrapping changelog in details for a collapsible view (#38801) 2024-06-04 13:40:53 -04:00
Amalia Advincula-Roye
ffb0edb220 Remove Snowflake OAuth from docs (#39013) 2024-06-04 13:22:00 -04:00
Gireesh Sreepathi
f4c4c341a5 Destination Snowflake: Adapting to new connector interfaces (#38658) 2024-06-03 10:25:39 -07:00
Stephane Geneix
c884f195d8 destination-snowflake: convert all tests to kotlin (#38632) 2024-05-28 11:47:04 -07:00
Gireesh Sreepathi
16141661af Destination Snowflake: src/main/java conversion to Kotlin (#38589) 2024-05-24 08:53:00 -07:00
Stephane Geneix
94663440a2 bump CDK version for destination-snowflake, Remove nullability of IntegrationRunner.getThreadCreationInfo (#38586) 2024-05-23 16:53:10 -07:00
Gireesh Sreepathi
f6fdaf3baf Destination Snowflake: cleaning up unused code paths (#38553) 2024-05-23 09:49:40 -07:00
Stephane Geneix
775a7666fd destination-snowflake: bump CDK version (#38568) 2024-05-22 10:37:42 -07:00
Edward Gao
9b0db78e7f Destination Snowflake: Remove incremental T+D option (#37715) 2024-05-10 16:16:18 -04:00
Stephane Geneix
16ed6bf3c6 revert contention-reducing change in destination-snowflake (#38052)
as part of the move of destination-snowflake to the kotlin CDK, we tried improve concurrency by only `DELETE`ing from `_airbyte_destination_state` if it has some data to delete (by issuing an `IF EXISTS` in the same transaction.
Looks like it might be causing some stuck syncs, so we're reverting that "improvement"
2024-05-08 11:00:49 -07:00
Edward Gao
3e609f1403 Destination snowflake: Update to latest cdk (#34612) 2024-05-07 19:14:05 -04:00
Natik Gadzhi
cb80e6922a [tools] prettier rules for .md + formatting cleanup 2024-05-07 08:19:33 -07:00
Gireesh Sreepathi
3cca1c0ddd Destination Snowflake: Use safe executeMetadataQuery call (#37857) 2024-05-06 15:11:10 -07:00
Stephane Geneix
7c0a6c569d convert destination-snowflake to Kotlin CDK (#36910)
not only bringing snowflake to the latest CDK but also:
1) Bringing the `SourceOperation` into production code from the test code. There's really no reason those improvements should stay out of production (and they're present in the source-snowflake)
2) adding `putTimestamp` into the `SourceOperation`, so that snowflake doesn't throw an exception at every call, which implies it also creates a new thread
3) make use of the newly added ability to filter orphan thread on shutdown. We filter all the threads created during calls to `SFStatement.close()`
4) don't always take a lock when deleting destinationStates. We now check if there's any states to delete by doing a `SELECT` (and not taking any table lock) before issuing the `DELETE` (the old behavior was causing test contention, and it's a bad idea in general)
5) only execute `airbyte_internal._airbyte_destination_state`
2024-05-03 11:20:07 -07:00
Edward Gao
4fc7f1a82d Destination snowflake: Add config option to enable time travel (#35754) 2024-04-10 15:54:02 -04:00
Edward Gao
595455eab2 Destination snowflake: more fixes for case-sensitivity (#36466) 2024-03-26 14:43:57 -04:00
Edward Gao
5bb805039d Destination snowflake: Depend on published cdk artifact (#36461)
Co-authored-by: alafanechere <augustin.lafanechere@gmail.com>
2024-03-26 12:35:03 -04:00
Edward Gao
a8fa18ff3b Destination snowflake: fix state handling with QUOTED_IDENTIFIERS_IGNORE_CASE=TRUE (#36396) 2024-03-25 12:36:32 -07:00
Joe Bell
447c967e4a remove snowflake query timeout (#36452) 2024-03-25 10:37:45 -07:00
Evan Tahler
9f9dad136a Make destination-snowflake oAuth option hidden (#36240) 2024-03-21 20:53:22 -04:00
Gireesh Sreepathi
55e6fbd191 Destination Snowflake: Handle NPE for state value. (#35899) 2024-03-07 18:25:38 -04:00
Edward Gao
da79f6ee5b Destination Snowflake: Write extracted_at in UTC (#35308)
Signed-off-by: Gireesh Sreepathi <gisripa@gmail.com>
Co-authored-by: Gireesh Sreepathi <gisripa@gmail.com>
2024-03-06 10:00:54 -08:00
Gireesh Sreepathi
f6aa9e5f64 Destination Snowflake: CDK T+D initial state refactor (#35456)
Signed-off-by: Gireesh Sreepathi <gisripa@gmail.com>
2024-02-23 12:57:41 -08:00
Marius Posta
e10bbbf890 destination-snowflake: bump patch version following #35569 (#35575)
Co-authored-by: Stephane Geneix <stephane@airbyte.io>
2024-02-23 00:05:13 -04:00
Subodh Kant Chaturvedi
a951624991 destination-async-framework: move the state emission logic into GlobalAsyncStateManager (#35240) 2024-02-16 00:36:48 +05:30
Edward Gao
b262c00578 Destination snowflake: reorder auth spec options (#35194) 2024-02-12 16:14:37 -08:00
Subodh Kant Chaturvedi
0c228f4a64 destination-async-framework: make emission of state from FlushWorkers synchronized (#35144) 2024-02-12 23:57:19 +05:30