Repository navigation
Reduce the snowflake async buffer size - #30671
Octavia The Approver (octavia-approvington) merged 3 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
Before Merging a Connector Pull RequestWow! 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:
If the checklist is complete, but the CI check is failing,
|
| final ParsedCatalog parsedCatalog, | ||
| final String defaultNamespace, | ||
| final boolean useDestinationsV2Columns, | ||
| Optional<Long> BufferMemoryLimit) { |
There was a problem hiding this comment.
needs final. Also casing
There was a problem hiding this comment.
done
| flusher, | ||
| catalog, | ||
| new BufferManager(), | ||
| BufferMemoryLimit.map(memoryLimit -> new BufferManager(memoryLimit)).orElse(new BufferManager()), |
There was a problem hiding this comment.
can we put this in a variable or method for clarity
Something like getBufferMemoryLimit() { return bufferMemoryLimit.getOrElse(DEFAULT_VALUE)
There was a problem hiding this comment.
Done
Akash Kulkarni (akashkulk)
left a comment
There was a problem hiding this comment.
Just trying to understand the tradeoffs here : does this mean that the destination will be slower assuming the source is already producing records faster than the destination can consume?
|
| Step | Result |
|---|---|
| Build connector tar | ✅ |
| Build destination-snowflake docker image for platform linux/x86_64 | ✅ |
| Java Connector Unit Tests | ✅ |
| Java Connector Integration Tests | ❌ |
| Validate airbyte-integrations/connectors/destination-snowflake/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ✅ |
| QA checks | ✅ |
☁️ 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
Not exactly, we will still buffer the main difference is that we will reach the limit of the buffer faster (because it is too small). In most of those case, we would have reach the buffer limit even if we had a bigger buffer, reducing the size will just makes use reaching the limit faster. |
|
| Step | Result |
|---|---|
| Build connector tar | ✅ |
| Build destination-snowflake docker image for platform linux/x86_64 | ✅ |
| Java Connector Unit Tests | ✅ |
| Java Connector Integration Tests | ❌ |
| Validate airbyte-integrations/connectors/destination-snowflake/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ✅ |
| QA checks | ✅ |
☁️ 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
And just so that I understand - this will just result in more frequent uploads to the destination (Snowflake)? Approving from my end - but will defer to Ryan Br... (@tryangul) for a more thorough review |
|
| Step | Result |
|---|---|
| Build connector tar | ✅ |
| Build destination-snowflake docker image for platform linux/x86_64 | ✅ |
| Java Connector Unit Tests | ✅ |
| Java Connector Integration Tests | ✅ |
| Validate airbyte-integrations/connectors/destination-snowflake/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ✅ |
| QA checks | ✅ |
☁️ 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
It just means we will buffer less before backpressuring. The goal is to buffer enough so our upload threads always have work available as soon as they finish, but not so much we oom. The original limits as they've been set were just a best guess when this was originally designed months ago. |
|
/approve-and-merge reason="Build is passing" |

What
Reduce the async buffer size ratio for the snowflake destination from 0.7 to 0.5