-
Notifications
You must be signed in to change notification settings - Fork 158
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
High rescan time with watching disabled on endpoint #492
Comments
Hi @dbentley, thanks for the logs and information, sorry for the slow reply. I suspect that the issue is due to the full filesystem rescan required on the Lustre side when specifying There are really only two options in this case:
|
One thing we could think about doing is still caching the scan results from the last scan, even if watching is disabled, so long as |
"if watching is enabled for an endpoint" But I said watch-mode=no-watch ? Is there a way to disable watching? (Thanks so much) |
You've got it right, (Apologies if I'm not grokking what you're asking, but please don't hesitate to follow-up if I'm totally missing the question) |
In a one-way sync, why do I need to scan beta at all? Like, I'd be fine with just copying the delta straight over. and as I type that, I realize that's probably what you meant by caching scan results. then yes, that would be great. I'd even be fine with another scan-mode-beta="initial_only" or something if the explicit new option made it easier. Thanks so much. |
The reason for the scan (even in one-way) is so that Mutagen knows what changes it needs to propagate (i.e. to compute the delta), since it doesn't know if anything has changed while it wasn't watching. |
Yeah, thanks. I would happily bring in a huge stack of bibles and swear on them that it will not change (or if it does, that I will hold mutagen blameless). If there's a change you think is easy to make, I'm happy to take a crack at it if you could outline the change? (also happy to pair or videochat to get a quick intro and then try to make the change) |
Hey, sorry for the slow reply (I've been traveling for work the last two weeks). I'd have to dig in a little bit and see how easy this change would be to make. It should be possible to avoid the rescans pretty easily, but there may be some logic that needs to be added to the endpoint constructor to at least perform one initial scan when watching is disabled. I've got it on my list to have a look at next week. |
No worries; lmk if a pairing session would help. |
We're using mutagen to hide underlying-FS latency issues for our cloud development servers. But it seems like mutagen has a weird 10+-second latency to do a sync?
More context:
I wrote a test that writes a file against alpha (SSD) and waits until it sees the same file in beta (lustre). The latency seems to be just over 10 or 20s, which makes me think there's some code path that waits for a timer or something? I used
MUTAGEN_LOG_LEVEL=trace mutagen daemon run
to measure timing info (along with log statements of the python process that writes and reads the files.)Any idea what's happening in the case below? Or how to reduce the latency? The line at 10:38:46.856329 is interesting; what caused that to happen then? Was mutagen waiting for the scan on beta?
Thanks!
The text was updated successfully, but these errors were encountered: