I have a setup that involves syncing files from my laptop to a server regularly. This has been working pretty well for a long time, apart from the odd verification failures. Both machines are WiFi-connected, so when I attempt to sync from a room far away from the WAP, the failure rates for larger files are higher, I would guess due to packet losses.

Today, I am sitting at the same spot I usually do this successfully with no issues, and I get errors after errors after errors. The odd one will go through after multiple tries, but generally it is just not working properly. I also got a broken pipe today during one attempt. This is not the first time it happens, and I feel crazy for thinking it is correlated to do bad weather, as if that should somehow affect my indoor WiFi quality…

Anyways, I tried to look at the rsync versions on the sender and receiver, and noticed that while both are the same application version number (3.2.7), they operate on different protocol versions (sender: 31, receiver: 32). I found this a bit odd, and I was unable to figure out how I would force my laptop to also use protocol version 32. I know I can pass a --protocol=NUM argument, but that seems to be used to force the sender to use an older version in case the receiver only has an older version, which is the opposite of my current situation.

And what is the likelihood that this is the cause of my woes?

  • DefinitelyNotBirds@lemmy.mlBanned
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

    Protocol version mismatches between identical rsync builds usually indicate compile-time differences or distribution patchsets diverging. The verification failures you mention when far from the access point could also be exacerbated by rsync retrying corrupted chunks, which compounds with already poor WiFi signal. Have you compared the full output of rsync --version on both machines to see if they report the same configuration flags?

  • just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    5 days ago

    Versions should be fine. Your options matter though, so send the full command you’re using.

    Also try this:

    1. Open one terminal window and run a ping at your remote machine and let it keep running
    2. Open another term and run your sync. See if ping lags or delay issues start when the rsync issues start in both windows
    • cyberwolfie@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      5 days ago

      I use this:

      rsync -rah --progress /path/on/source/ user@ip.of.local.server:/path/on/destination
      

      I will try the ping next time I attempt this. There doesn’t seem to be a definite time when the issues start though. It tries to copy the file over, and when it is done it continues to the next. If the first one didn’t succeed, it will retry and if that also fails, it will say “ERROR verification failed - discarding update” (paraphrased) and continue to retry the next file if that also failed.

      I do see some fluctuations in the transfer speeds during transfer, which could indicate the times the connection is struggling.

      • just_another_person@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        5 days ago

        If you’re getting file verification errors, it probably means there are issues with files on one end of the other.

        So a few things:

        1. What’s this remote machine, and have you checked the filesystem recently?
        2. Have you checked the filesystem on your local machines you’re copying files from?
        3. Have you tried copying to an empty remote.traget directory and seeing if you still get these errors?
        4. If 1 & 2 are fine, and then 3 works without problems, make a short list of some of the files that are throwing errors. Do they happen every single time at these same files? What’s unique about these files?
  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    5 days ago

    Seems unlikely. It would probably “not work at all” if a protocol mismatch was an issue. I’m willing to bet raync can fall back to older protocols.

    • cyberwolfie@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      5 days ago

      Makes sense that it would be able to, especially considering the flag that allows you to force an older version as the sender. Still find it strange that on equal version numbers they default to different protocol numbers. I would have at least thought there was an easy way to tell it which protocol version to use by default, but I have at least not been able to find out how.

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        You haven’t said what errors you’re seeing so it’s difficult for anyone to provide any help…

        But I highly doubt rsync is the issue.