Skip to content
This repository has been archived by the owner on Sep 23, 2024. It is now read-only.

Enforce ordering by replication key during full refresh #202

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sebasgarcep
Copy link

Problem

For the incremental strategy if we stop an initial data load midway our state will be that of the last record that was written to the target. Right now the generated SQL for this case does not enforce ordering records by the replication_key. If we don't enforce the ordering of the records from the source we have no guarantee that all records before the last one were written to the target (as Postgres might return them in disorder).

Proposed changes

To overcome these issues we should enforce ordering.

Types of changes

What types of changes does your code introduce to PipelineWise?
Put an x in the boxes that apply

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update (if none of the other choices apply)

Checklist

  • Description above provides context of the change
  • I have added tests that prove my fix is effective or that my feature works
  • Unit tests for changes (not needed for documentation changes)
  • CI checks pass with my changes
  • Bumping version in setup.py is an individual PR and not mixed with feature or bugfix PRs
  • Commit message/PR title starts with [AP-NNNN] (if applicable. AP-NNNN = JIRA ID)
  • Branch name starts with AP-NNN (if applicable. AP-NNN = JIRA ID)
  • Commits follow "How to write a good git commit message"
  • Relevant documentation is updated including usage instructions

For the incremental strategy if we stop an initial data load midway our state will be that of the last record that was written to the target. Right now the generated SQL for this case does not enforce ordering records by the replication_key. If we don't enforce the ordering of the records from the source we have no guarantee that all records before the last one were written to the target (as Postgres might return them in disorder). To overcome these issues we should enforce ordering.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant