Stefano Messina
09/10/2026, 3:46 PM{
"streamDescriptor": {
"name": "User",
"namespace": "log"
},
"streamState": {
"version": 2,
"state_type": "ordered_column",
"ordered_col": "UserId",
"ordered_col_val": "380271",
"incremental_state": {}
}
},
which is different from all the other ones with a cursor using a datetime field, e.g.:
{
"streamDescriptor": {
"name": "Synchronization",
"namespace": "log"
},
"streamState": {
"cursor": "2026-08-29T16:27:40.673559Z",
"version": 2,
"state_type": "cursor_based",
"stream_name": "Synchronization",
"cursor_field": [
"LastUpdated"
],
"stream_namespace": "log",
"cursor_record_count": 1
}
},kapa.ai
09/10/2026, 3:46 PMcursor_based: Used for standard incremental syncs (typically timestamp/datetime columns like LastUpdated). It tracks the high-water mark in the cursor field and continues querying records where the cursor field is greater than that value [MsSqlServerStateMigrationTest.kt; internal_models.yaml].
• ordered_column: Used by relational database sources (such as MSSQL) when an ordered column or primary key (like UserId) is used for an initial load or ordered sync. In this mode:
◦ ordered_col tracks the column being ordered on (UserId) [internal_models.yaml].
◦ ordered_col_val stores the current high watermark value ("380271") [internal_models.yaml].
◦ incremental_state is a placeholder object intended to hold the incremental state to transition to after an initial ordered load finishes [internal_models.yaml; MsSqlServerStateMigration.kt].
2. Why No Records Were Ingested • No New Records Since Last Sync: In incremental syncs, connectors query for delta records where the cursor/ordered column is greater than the recorded checkpoint value (e.g., WHERE UserId > 380271) [Incremental Sync - Append + Deduped]. If the highest UserId currently in your source table is already 380271 (or if no new records have been inserted with an ID greater than that value), the query matches 0 rows, and no records are emitted [incremental-data-synchronization].
• Modifications vs. Appends: Because UserId is typically an auto-incrementing identifier rather than an updated_at timestamp, any updates or modifications made to existing records with IDs less than or equal to 380271 will not be detected or ingested in incremental mode [Incremental Sync - Append + Deduped]. Only rows with a strictly higher UserId will be extracted. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.