When running incremental replication jobs in CData Sync, Sync saves a timestamp (LastModTime) that determines where the next run should pick up. You can fine-tune how this value is calculated using two advanced options:
- MaxLastModTimeOffset
- MinLastModTimeOffset
These settings affect what gets saved to the internal status table, and therefore what data gets pulled on the next run.
🔄How Incremental Replication Works (in simple terms)
- Sync uses a column like LastModifiedDate or UpdatedAt to check what changed.
- Each run saves the latest known value from this column as LastModTime.
- On the next run, Sync only fetches records newer than that value.
If your data source returns inconsistent timestamps or has delays (clock skew, API caching, etc.), you can use offsets to shift LastModTime forward or backward slightly to avoid missing records or reprocessing too many.
📘 Learn more:👉 How Incremental Replication Works in CData Sync
⚙️What These Offsets Do
- MaxLastModTimeOffset
- Default: 300 seconds (5 mins)
- Used to move LastModTime forward
- Avoids pulling too much old data when the source returns outdated timestamps
- MinLastModTimeOffset
- Default: 0 seconds
- Used to move LastModTime backward
- Ensures slight overlap in case of clock skew or API delays
📘Full option details:👉 Advanced Job Options – Min/MaxLastModTimeOffset
📊 Examples
| Max (LastModTime) | LastRunTime | Saved LastModTime | Offset Config |
| 2024-01-01 00:00:00 | 2024-01-01 01:00:00 | 2024-01-01 00:55:00 | Max=300, Min=0 |
| None (Pseudocolumn) | 2024-01-01 01:00:00 | 2024-01-01 00:55:00 | Max=300, Min=0 |
| 2024-01-01 00:58:00 | 2024-01-01 01:00:00 | 2024-01-01 00:58:00 | Max=300, Min=0 |
| 2024-01-01 00:00:00 | 2024-01-01 01:00:00 | 2024-01-01 00:54:00 | Max=300, Min=360 |
| 2024-01-01 00:58:00 | 2024-01-01 01:00:00 | 2024-01-01 00:54:00 | Max=300, Min=360 |
🧠 Note: If MaxLastModTimeOffset < MinLastModTimeOffset, Sync automatically corrects the Max value to match Min.
🗂️TL;DR Logic Flow
- MaxLastModTimeOffset:
- Moves LastModTime forward to avoid old data or empty sets.
- Moves LastModTime forward to avoid old data or empty sets.
- MinLastModTimeOffset:
- Ensures overlap by pulling records slightly earlier than LastRunTime.
- Sync saves the resulting value into CDATA_SYNC_STATUS to track what records should be pulled next.
📣 Have you tuned these offsets in your jobs?
Share how adjusting them helped reduce duplicates, late record misses, or processing errors. We'd love to hear your tips!

