-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Destinations CDK: protocol message interop #45407
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Skipped Deployment
|
This stack of pull requests is managed by Graphite. Learn more about stacking. |
airbyte-cdk/bulk/core/load/src/main/kotlin/io/airbyte/cdk/task/ProcessRecordsTask.kt
Show resolved
Hide resolved
airbyte-cdk/bulk/core/load/src/main/kotlin/io/airbyte/cdk/message/DestinationMessage.kt
Show resolved
Hide resolved
airbyte-cdk/bulk/core/load/src/main/kotlin/io/airbyte/cdk/message/DestinationMessage.kt
Outdated
Show resolved
Hide resolved
5470a36
to
6062525
Compare
@johnny-schmidt this should be in better shape now - I also went in and implemented asProtocolMessage on the state messages. (I'll fill out the rest of DestinationStream/DestinationCatalog + give them asProtocolObject methods later today. Should be purely mechanical.) |
2730e88
to
bc15bac
Compare
cfd61fd
to
2b66f37
Compare
override val destinationStats: Stats? = null | ||
) : CheckpointMessage() { | ||
override fun withDestinationStats(stats: Stats) = | ||
val streamCheckpoint: CheckpointMessage.StreamCheckpoint, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really understand how this was working previously. Explicitly use the child class here to avoid a recursive constructor
(I can't think of a better name to avoid this clash 🤷 )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah that must have happened during the renaming. Weirdly seems to resolve correctly though?
Either Change the StreamCheckpoint/GlobalCheckpoint child classes to StreamCheckpointMessage and GlobalCheckpointMessage or change the StreamCheckpoint inner class to Checkpoint?
db8daa0
to
cb8dc89
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Also allows me to cross deserializer tests off the cdk todo list.
cb8dc89
to
47c4481
Compare
47c4481
to
7ab8734
Compare
fill out all the structs that mirror the protocol messages, and give them all functions to convert to the corresponding protocol object. This (a) gives us all the stuff we need to actually build destinations for real, and (b) gives tests an easier way to build all the protocol objects.