-
Notifications
You must be signed in to change notification settings - Fork 21
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
Support for activate version #72
Comments
|
@visch and @edgarrmondragon - Pardon my errant comment above. That WIP PR is for the tap-side implementation. Those challenges around sending For target-side implementation, I think we want ideally a 'deletion' but with two possible implementations:
If the above is correct, and if soft delete behavior is the right "safe default", we can chose to only implement the second behavior in this first pass, and the |
https://github.com/meltano/sdk/blob/2def28b0a210bed70c5893a189c7c16b160508d0/singer_sdk/sinks/sql.py#L340-L390 has an implementation already for targets. Generally the flow of this function is:
But it doesn't work right now because the What's not clear is what we should be setting the "version" column value to, right now the target isn't setting the version column data to anything. For the existing tap-postgres transferwise variant (as you can see from the records here https://github.com/MeltanoLabs/target-postgres/pull/89/files#diff-3467b68a9d59ed0029b384880f77d1d075c8768dce4abc9d39327aa92f6b47b3 ) the tap places the version in a column that's not a part of the record object itself called I think meltano/meltano#2463 was supposed to address this but as meltano/meltano#2463 (comment) mentions we need to expand this spec some, and in this case we haven't addressed the issues I need to move forward here. Next steps:
|
@aaronsteers Comment is now updated! |
Thanks, @visch. My understanding is that records should come through from the source with a https://sdk.meltano.com/en/latest/implementation/record_metadata.html And it's nice to see that a lot of the code may already be written. What might be useful is a manual test to see how it performs. Some of that code may have been written optimistically and not ever actually tested with a proper manual or unit test. 🙃 |
Yeah I thought that too, just updated the comment above to be as accurate as I know right now. It looks like |
Is it perhaps in a |
Something like this maybe: Update: yes, I think |
@aaronsteers @visch I think we should follow the pipelinewise version of the version extension and put it at the top-level of the |
@edgarrmondragon and @aaronsteers thank you both! It looks like the SDK does have support for this baked in via the metadata columns ( if Next open question I have is if I'll implement the way that's easiest right now with the way the SDK is built and put it in the PR for you all to see and we can tweak it. |
@visch - Because record metadata is required for some critical operations, I'd be fine with enabling by default for our default implementation, and especially for Another developer-side customization lever would be to drive our behavior based on the presence of a Lots of options here and we could make it an office hours or bespoke zoom topic if helpful. |
@aaronsteers / @edgarrmondragon https://github.com/MeltanoLabs/target-postgres/pull/89/files works, I have 2 more tests I thought about that seem pretty scary that I want to implement. But if you all want to take a look now that would be helpful! |
@aaronsteers Yes what I worried about is true we do have an issue with activate_version. I'm going to have to do some spec writing here to get this cleared up and diving. |
What is the current state of ACTIVATE_VERSION message type for taps/targets? What kind of issues are still unresolved? |
@TyShkan in the singer SDK it's waiting to be implemented on both ends: taps don't currently emit the message, and targets in general don't process it. |
@edgarrmondragon is there any issues left on the SDK side? We've had a conversation with @visch in Slack and I'm trying to understand if there is a blocker and where it is. |
@TyShkan No real blockers. The relevant issue is meltano/sdk#18 and meltano/sdk#985 is a PR that went stale. |
No description provided.
The text was updated successfully, but these errors were encountered: