Skip to content

add doc that explains how to reset sync cursor#45590

Open
MagnusHJensen wants to merge 3 commits into
mainfrom
apple-dep-sync-cursor-reset-docs
Open

add doc that explains how to reset sync cursor#45590
MagnusHJensen wants to merge 3 commits into
mainfrom
apple-dep-sync-cursor-reset-docs

Conversation

@MagnusHJensen
Copy link
Copy Markdown
Member

Quick doc that should help how DEP sync works (We also have the general entry) and then how to reset, and a call out that it's okay to do even for larger deployments.

Copilot AI review requested due to automatic review settings May 15, 2026 13:34
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

A "reset" is just clearing the stored cursor — the next sync then uses
`fetch-devices` and rebuilds Fleet's view from scratch.

This is fine to do even in larger deployments.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only one caveat I would add here is that we discovered with customer-numa in the middle of a large Jamf->Fleet migration that when a customer transfers a bunch of devices in ABM, if devices hit Apple's threshold for the "cooldown"/THROTTLED state, Apple stops returning them on the sync cursor, seemingly until they're out of cooldown(e.g. 24 hours later). It also does not send "remove" events to the MDM the devices are being transferred from, during this period

That is, unless you reset the cursor and do a full fetch which returns these devices. We've asked Apple for clarification on this and we don't have any additional data. I don't think it makes it more risky but it's worth watching for as a possibility. I think Apple's refusal to return them to the normal incremental syncs is their attempt at stopping us from extending the cooldown period, but this will result in extending it. Probably only applicable if a customer says something like "yeah I just transferred a bunch of devices over and they never showed up in fleet" and logs correspond that we never got events for them

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, that makes sense do we know if they return it on the fetch-devices endpoint? Since our first run after resetting would hit that, if I understand it correctly, then after getting all devices back, we start to run the sync endpoint again?

This was mainly also just for remembering it's an option, but rarely should it be used, unless we have a bug (which this prompted) and used as a possible idea of fixing the situation.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added what you mentioned as a note

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They don't return those cooldown devices on our first(usually empty) call to the fetch-devices endpoint during a normal sync run. They seemingly only return them if we reset the cursor(or you upload a new ABM token to a server) and then get a new one from fetch-devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants