-
Notifications
You must be signed in to change notification settings - Fork 50
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
LOG_BASED replication seems to wipe target table before loading #71
Comments
What variant of I wonder if you have the replication_method set to truncate? Look at this setting. And the documentation here. https://github.com/mjsqu/pipelinewise-target-snowflake/blob/d9dfcdfc222d7b6552bce65ac971dfd029b0eef2/README.md?plain=1#L183. I don't believe this is a feature of tap-mssql. |
I'm using the meltanolabs variant, which is default for meltano. Are you using the forked version that you linked, or is the |
I just checked and the forked version that you linked is the only one that seems to have this replication_method parameter. |
Yes, we are using the wise variant from the Meltano Hub. We have our own variant so we can keep it patched. The other key reason is we have a setting in tap-mssql and our variant of target-snowflake called In terms of the Meltano variant there is a hard_delete option - https://github.com/MeltanoLabs/target-snowflake/blob/b357c52574380345e9253eace99989cd35787ca0/README.md?plain=1#L30 . I would check this setting and raise and issue on their GitHub for this if you still have an issue. |
Yeah, it's defaulted to false. In any case, I will investigate further. Going to close this out unless I pinpoint the cause otherwise. |
Just want to gather some additional information here.. It seems like the cause of the behavior is actually the Based on the meltano docs, it seems to suggest that, while not formalized, it should only be sent when replication mode is full sync. What I'm trying to understand is if the |
I can't promise to devote any time to this, but you are correct in your reading of the And the Log Based section of the documentation states:
However, unfortunately there don't seem to be any standards in place regarding the naming of deletion column names. Meltano suggests in Target Specific > Soft Delete that:
In itself this is a bit confusing as targets aren't 'populating' the field, it is being set by the tap and should be interpreted by the target. Things we could do in this tap:
|
I wonder if we can leave the current delete column alone to be consistent with the rest of the columns within this tap, but introduce an optional parameter in the yml to override the delete column name. That way, it can supply whatever the target being used is expecting. Obviously, it would be good if there was a standard, but here we are. The removal of |
I'm using this in conjunction with
target-snowflake
, and I've noticed that the target table is always truncated before the new records are loaded in. I'm not sure where this behavior occurs, but I do not get this problem with INCREMENTAL. That said, it does seem to correctly pick up on records in the CDC log, though I can't confirm if the deletion is working as expected due to this issue.The text was updated successfully, but these errors were encountered: