-
Notifications
You must be signed in to change notification settings - Fork 5k
fix(source-shopify): Update disputes stream cursor to initiated_at (Devin AI Fix Spike) (do not merge) #70209
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
base: master
Are you sure you want to change the base?
fix(source-shopify): Update disputes stream cursor to initiated_at (Devin AI Fix Spike) (do not merge) #70209
Conversation
…r incremental syncs The disputes stream was using 'id' as the cursor field with 'since_id' filtering, which only captured new disputes but missed updates to existing disputes (e.g., status changes from 'needs_response' to 'won' or 'lost'). This change updates the cursor to use 'initiated_at' field, which allows incremental syncs to properly capture status updates to existing disputes. Fixes: airbytehq/oncall#10207 Related: #52561 (similar issue for Transactions stream) Co-Authored-By: unknown <>
Original prompt from API User |
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. Helpful Resources
PR Slash CommandsAirbyte Maintainers (that's you!) can execute the following slash commands on your PR:
|
|
What
Fixes the
disputesstream to properly capture status updates during incremental syncs.Related issues:
created_atavoid fetching updates #52561 - Similar issue affecting the Transactions streamHow
Changed the cursor field from
id(withsince_idfiltering) toinitiated_atfor theDisputesstream.Before: The stream used
cursor_field = "id"andfilter_field = "since_id", which only fetched disputes with IDs greater than the last synced ID. This missed updates to existing disputes when their status changed.After: The stream uses
cursor_field = "initiated_at"andfilter_field = "initiated_at", allowing incremental syncs to capture disputes that may have been updated since the last sync.Review guide
airbyte-integrations/connectors/source-shopify/source_shopify/streams/streams.py- The only file changed; review theDisputesclass modificationKey review points:
initiated_atas a filter parameter (documentation suggests it does)id-based state (similar toTransactionsCursorMigrationused for the Transactions stream fix)User Impact
Users syncing the
disputesstream in incremental mode will now receive status updates to existing disputes (e.g., when a dispute changes from "needs_response" to "won" or "lost").Potential negative impact: Existing syncs may need to reset state or perform a full refresh after upgrading, as the cursor field has changed from
idtoinitiated_at.Can this PR be safely reverted and rolled back?
Devin AI Fix Spike - This is a draft PR created during AI triage. Please review carefully before merging.
Link to Devin run: https://app.devin.ai/sessions/90fddd2921d04ffb898d6a3e49d75652
Requested by: @agarctfi