Chore(Source S3): Bump to CDK v5 (release candidate) - #46298
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Skipped Deployment
|
|
/approve-regression-tests
|
This comment was marked as outdated.
This comment was marked as outdated.
|
For context: this PR was spun up because of headaches with breaking changes unrelated to the larger refactoring here: And this PR replaces the first attempt here: I've bumped all of these down to draft status, fwiw. The order of operations once I'm off of oncall rotation is:
Since we're expecting a decent perf boost from 1 and 2, number 3 is not "unstoppable" on its own. Added context: The larger refactoring investigation also looked into more pervasive changes to the overall paradigm - specifically eliminating unnecessary record loops when we can delegate down to lower-level APIs. Since the CDK is very record-centric, and since there were plenty of gains to achieve with the version bump, plus just fixing what was broken, we pushed the larger refactor out-of-scope. Some of this context also shared in Slack. And I've created a new channel #proj-s3-performance-boosts for focused conversations on this initiative. |
|
/format-fix
|
|
/approve-regression-tests
|
|
/approve-regression-tests "no breaking config, catalog, or state change expected"
|
|
Catherine Noll (@clnoll), Natik Gadzhi (@natikgadzhi) - This is now passing tests and ready for final review. Once approved, we can use it for progressive rollout. Caveat: I am not up to speed yet with how progressive rollouts should be configured. We may need to apply some changes here - such as using an "rc" version number. |
Augustin (alafanechere)
left a comment
There was a problem hiding this comment.
Just dropping comments if you want to make this version a RC for progressive rollout
|
/approve-regression-tests "no breaking config, catalog, or state change expected"
|
|
/format-fix
|
|
/approve-regression-tests "no breaking config, catalog, or state change expected"
|
Co-authored-by: Natik Gadzhi <natik@respawn.io>
Natik Gadzhi (natikgadzhi)
left a comment
There was a problem hiding this comment.
With the isReleaseCandidate, as long as CI is green, I'm happy!
|
/approve-regression-tests "no breaking config, catalog, or state change expected"
|
|
/approve-regression-tests "no breaking config, catalog, or state change expected"
|
What
Builds on:
Prereq to:
Adds CDK version bump to v5.
How
Fixed Untested Codepaths and Brittle Entrypoint Relationship
Prior to this PR, all of the CAT-related failures were un untested code paths. So, it was a 10-20 minute
airbyte-cifeedback loop to reproduce issues. This PR adds a number of test structures, and it moves all code logic into test blocks that are on the critical path. The exception is "create()" which requires a catalog input. I put notes in the code that we should try to refactor this so that a source can be created without the catalog input and then passed the catalog after initialization - when it is being passed anyway.There are two new class methods added on
SourceS3. The first isSourceS3.create()which adds as a Source factory, reducing the complexity of creating a source without introducing any breaking changes to the constructor itself. This was a key point of failure for CAT tests, and the updated code is now in the test pass.The second new class method is
SourceS3.launch(). As proposed in the Python grooming session a few weeks back, this change allows Sources to launch them, removing the brittle and unnecessarily brittle relationship between Entrypoint and Connector classes, allowing connectors to launch themselves.One-Click CAT Tests.
I added
test_acceptance.pywhose logic should eventually should be pushed into the CDK. This takes a 10-20 minute test loop and makes it a 10 second one. You can re-run any failed test directly, and you can also step-debug through any test. Lastly, we can now easily get test coverage metrics which are specific to the acceptance test and CAT scenarios. Any code not called by CAT scenario can be considered untested for those mapped scenarios - and might actually be dead code. More on this in a coming Loom.Review guide
User Impact
Can this PR be safely reverted and rolled back?