Yenying Chen
03/09/2026, 10:38 AMkapa.ai
03/09/2026, 10:38 AMkeywords_report stream is using "use_global_cursor": true, which means it's operating under the Global Substream Cursor mode.
This is the key reason your date stays fixed at `"2026-02-17"`:
> The global cursor is updated only at the end of the sync. If the sync fails, only the parent state is updated — the global cursor itself is not updated. [Incremental Syncs - Nested Streams]
So if your syncs are failing before completion, the global cursor (date) will remain stuck at its last successfully committed value (2026-02-17), while other streams (which likely use per-partition cursors) update their state independently as records are processed.
Additionally, the global cursor enforces a lookback window (you can see "lookback_window": 18 in your state) to avoid missing records added during a sync. This is by design to ensure data completeness.
What you can do:
1. Check if your syncs are completing successfully — if the sync is failing partway through, the global cursor won't be updated.
2. Review the connection state manually via the Airbyte UI:
◦ Go to Connections → select your connection → Settings tab → Advanced dropdown → Connection State.
◦ You can edit the state to manually update the date if needed, but do so with caution. [Manage Connection State]
> ⚠️ Updates to connection state should be handled with extreme care. Changes may break your syncs, requiring a full historical sync to fix. Make changes only as directed by the Airbyte team. [Manage Connection State] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Yenying Chen
03/09/2026, 10:40 AMkapa.ai
03/09/2026, 10:40 AMdate in the keywords_report stream state remains stuck at "2026-02-17".
The knowledge sources I have available don't contain enough specific information to definitively explain why a successfully completing sync would leave the global cursor date unchanged for keywords_report while other streams update normally.
However, there is one relevant piece of information: the keywords_report stream (or a similarly named stream keywords_report_daily) in Apple Search Ads had a known migration that specifically addressed cursor behavior:
> This release introduces changes to incremental sync of keywords_report_daily streams, changing the stream state from per-partition state to a global state cursor. [Apple Ads Migration Guide]
The recommended fix in that migration was to clear the stream data and re-sync:
1. Go to Connections → select the affected connection.
2. In the Status tab, find the affected stream in the Enabled streams list.
3. Click the three dots on the right side of the stream and select Clear Data.
4. After the clear succeeds, trigger a sync by clicking Sync Now. [Apple Ads Migration Guide]
Beyond this, the knowledge sources don't provide enough detail to fully explain your specific situation. I'd recommend reaching out to the Airbyte team directly or opening a GitHub issue, as this may be a platform-level bug similar to the one described in this open issue where stream state is saved but not properly updated on subsequent syncs. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Yenying Chen
03/10/2026, 3:54 PMkapa.ai
03/10/2026, 3:54 PMkeywords_report stream (or it was cleared as part of a refresh), and then a sync ran afterward. This is directly explained in the Airbyte documentation:
> The generation ID will be incremented whenever you run a clear or refresh. Airbyte will never decrease the generation ID. If you run a Refresh immediately after running a Clear, that will also increment the generation ID. This means the generation ID will increment twice, even though one of those "generations" never emitted any records. [Refreshing your data]
So yes, this is likely related. If a Clear was run (either manually or as part of a migration/refresh), the generation ID incremented once (to 1), and then the subsequent sync incremented it again (to 2). This is expected behavior — it does not indicate a problem with your data.
To confirm:
• _airbyte_generation_id = 0 → data from before any clear/refresh
• _airbyte_generation_id = 1 → the clear incremented it (no records emitted in this generation)
• _airbyte_generation_id = 2 → the actual re-sync after the clear
This is normal and by design. The _airbyte_generation_id = 2 records are your current, valid data. [Refreshing your data] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Yenying Chen
03/10/2026, 3:55 PM_airbyte_generation_id = 2 are data after refresh. My question now is why I could only fetch very few datakapa.ai
03/10/2026, 3:56 PMkeywords_report stream state being stuck at "2026-02-17".
However, there is one potentially related known bug documented in the knowledge sources:
> After a truncate refresh, raw tables are correctly populated with all records, but final tables are overwritten with empty _airbyte_tmp tables because the T+D generation_id filter matches 0 rows — and the sync still reports success. [Truncate refresh bug]
This could be relevant if you're seeing very few or no records in your final tables despite the sync appearing successful. The bug describes a scenario where:
• Raw tables are correctly populated
• Final tables end up nearly empty due to a generation_id mismatch in the Type and Deduplicate step
• The sync reports success regardless
What you can check:
1. Compare the record count in your raw tables vs. your final tables — if raw tables have the expected data but final tables don't, this bug may be affecting you.
2. Check which version of Airbyte you're running. The issue was reported on version 1.6.7, and it's unclear if it has been fully resolved in later versions.
I'd strongly recommend opening a GitHub issue or contacting the Airbyte team directly with your specific version and logs, as the knowledge sources don't provide enough detail to fully diagnose your situation. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Yenying Chen
03/10/2026, 3:56 PMkeywords_report stream state being stuck at "2026-02-17".kapa.ai
03/10/2026, 3:56 PMkeywords_report stream state is stuck at "2026-02-17" (separate issue)
• Your _airbyte_generation_id = 2 is expected and normal after a clear + re-sync
• Your current concern is: why are you fetching very few records after the refresh?
Unfortunately, the knowledge sources I have available don't contain enough specific information to explain why only a small amount of data is being returned after your refresh for the keywords_report stream.
There is one potentially relevant known bug worth checking:
> After a truncate refresh, raw tables are correctly populated with all records, but final tables are overwritten with empty temp tables because the generation_id filter in the Type and Deduplicate step matches 0 rows — and the sync still reports success. [Truncate refresh bug]
What I'd suggest checking:
1. Compare record counts in your raw tables vs. your final tables — if raw tables have the expected volume but final tables don't, this bug may be affecting you.
2. Check your Airbyte platform version, as this bug was reported on 1.6.7.
Beyond this, I'd recommend reaching out to the Airbyte team directly or opening a GitHub issue with your platform version, connector version, and sync logs for a more definitive diagnosis. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Yenying Chen
03/10/2026, 4:04 PMkapa.ai
03/10/2026, 4:04 PMkeywords_report stream state is stuck at "2026-02-17"
The stuck cursor date could actually be relevant here: if the stream is using "use_global_cursor": true and the cursor date is stuck at "2026-02-17", the source connector may be filtering and only sending records newer than that date — which, depending on your source, could result in very few records being written to the raw tables.
However, I want to be transparent: the knowledge sources don't provide enough detail to confirm this definitively for your specific connector and setup. I'd recommend:
1. Checking whether the record count in raw tables aligns with what you'd expect from records newer than "2026-02-17"
2. Opening a GitHub issue or contacting the Airbyte support team with your connector name, platform version (2.0), and sync logs for a proper diagnosis 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Yenying Chen
03/10/2026, 4:15 PMkeywords_report stream state is not stuckkapa.ai
03/10/2026, 4:15 PMkeywords_report stream state is not stuck — it updates correctly after refreshes
• Your _airbyte_generation_id = 2 is expected and normal
• Your syncs report as successful
• Your raw tables have very few records after the refresh on Airbyte platform version 2.0
Unfortunately, the knowledge sources I have available do not contain enough information to explain why your raw tables would have very few records after a successful refresh in this scenario.
I'd recommend:
1. Checking your source — verify that the source system actually has the expected volume of data available for the sync window
2. Reviewing the sync logs in detail for any warnings about skipped or filtered records
3. Contacting Airbyte support or opening a GitHub issue with your connector name, platform version (2.0), connector version, and sync logs for a proper diagnosis, as this goes beyond what the available knowledge sources can address 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Yenying Chen
03/10/2026, 4:22 PMkapa.ai
03/10/2026, 4:23 PMYenying Chen
03/12/2026, 3:39 PMkapa.ai
03/12/2026, 3:39 PM