locked
Resolving severe sync conflicts RRS feed

  • Question

  • I have 5 PC's and one Mac connected to my Live Mesh, and recently ran into severe synchronization conflicts that I have no idea how to get out of, except maybe to remove everything and start again from scratch.

    My machines:
     - Windows Vista SP1 x64
     - Windows Vista SP1 x86
     - Windows 7 build 7031.winmain... x64
     - Windows XP SP2 Tablet PC Edition 2005 x86
     - Mac OS X 10.5.6 - MacBook Pro Core2Duo
     - Windows Vista Gold x86 (upgrade to SP1 fails!) - This is a BootCamp partition on the MacBook Pro that I also use under Parallels (FUN!)

    One day my Win7 machine stopped connecting to the mesh.  Something like this had happened to my Vista SP1 x86 machine before, but it resolved itself eventually.  I assumed it was the passport sign-in issues that I had read about.  I tried quitting and restarting the mesh app and to my surprise, it acted like I was connecting a new computer.  I canceled the dialog, because I thought that would likely be a dangerous path to go down.  I still, to this day, cannot connect this computer to the mesh.

    Yesterday, I tried adding another computer to the mesh (the Vista Gold x86 BootCamp one).  When it started synching folders, it said I had a few conflicts, the top-level directories under my mesh folder, each reporting 0 bytes (which seemed odd).  The choices it gave me were to choose the folder from the Win7 machine or from my Tablet PC that I hadn't connected for about a week.  I thought it was strange for it to give me the choice between these two, which were most likely to be out of date, but since the Win7 machine was probably much more out of date than my laptop, I chose to keep the laptop versions.  It created versions of the folders with (2) after them.  After a while, I looked in these folders and they were empty.  I thought this was a strange anomaly, and decided to delete the extra folders - BAD DECISION.

    I didn't realize it, but the mesh hadn't nearly completed synchronizing, even though I don't have very much content (about 20MB Max).  Suddenly live mesh started reporting conflicts of files and folders from the Win7 machine that had nowhere to go because I had deleted the 'folder (2)' versions that it was going to dump all the things it thought were in conflict (but really were just duplicates, likely due to the bug with the Win7 machine).  I thought... oh great, I guess my only option is to delete the versions one by one to resolve these conflicts.  But as I deleted things (a slow and tedious process, since the link to delete moves and takes a random time between 0 and 10 seconds for every file), I realized that the job was much bigger than I first thought, since the conflict number wasn't going down, it kept going back up to 50 (the maximum number of conflicts that it'll report).

    Now I'm not sure what to do.  I'm only partially resolved, and not sure how to complete the process without a lot of time and effort.  Furthermore, I'm a little afraid that as I clicked "delete" on so many files, maybe a bug-fix might resolve these back to the original files and start deleting things I didn't intend to.

    I plan on filing a bug report with logs, but am having some issues on that front, too.  I'm using remote profile on my Win7 machine, so I think that's confusing the log-gathering program, so nothing is showing up on my desktop.  And I'm not sure if I should be gathering logs from my other machine as well.  Plus it looks like there are 85MB worth of logs!!!  Even though I have less than 20MB of actual content, and I haven't even been using Live Mesh for very long.  I'm a little worried about the privacy of the information in these logs, too.

    Anyways, sorry for the long post, but I wanted to make sure there was enough detail.  Does anyone have any advice for me?

    Thanks in advance,
    -Tex


    Tex Riddell, DirectX Graphics
    Tuesday, February 17, 2009 2:47 AM

Answers

  • Hi Tex,

    Firstly, sorry to hear about the bad synch experience - multiple computer synchronisation can be pain when you hit a bug, since it can seem as though the bug runs rampant through all of your synced devices.

    A couple of things:

    1. If you are missing any files from your mesh folders, take a look in:

        C:\Documents and Settings\<user>\Local Settings\Application Data\Microsoft\Live Mesh\GacBase\HoldingArea

        Regardless of missing files I'd suggest backing up the contents of this directory if it has any of your files in it.

    2. I'd also suggest collecting and saving your logs. On the machine(s) that you can't collect logs, try running the log collection program from the command line (start->run->cmd->"C:\Documents and Settings\<user>\Local Settings\Application Data\Microsoft\Live Mesh\GacBase\CollectMoeLogs.bat") and seeing what the error message is and if it is something that is easy to fix (like creating a temporary directory).

    Uploading to Connect shouldn't be a problem as it supports files up to 500mb in size (if you have the bandwidth / time to sit through an 80mb upload).

    3. As for the actual sync conflicts I'd suggest backing up what you have now, so that you don't lose anything, then removing the folder from sync across all of your machines, then recreating and readding the folder. This will be a pain, but considering the sync spaghetti Live Mesh seems to have gotten into it sounds as though this is the best bet, which will get you back and syncing as quickly and conflict-free as possible.

    Also, awesome suggestions! I'd vote on a couple of them that I would find extremely useful. Although I'm sure Ben & the Live Mesh team won't miss them, can I suggest a quick copy & paste into the official suggestions thread?

    Cheers,

    Oren
    Tuesday, February 17, 2009 4:21 AM

All replies

  • I have some additional notes on things it seems should be done before Live Mesh folder synchronization is release-ready, based on this experience:
    • More robust error handling, so you don't get situations where it thinks all content is brand new and in conflict with everything else.
    • Better automatic conflict resolution - detect when things are actually the same.
    • Better user conflict resolution UI - allow user to work on folder / tree level, instead of just at individual file level.  How is a user supposed to make a decision when it says folder 'data' 0 bytes on both sides is in conflict?  Why is it a conflict?  Why does it say 0 bytes?  What does it mean to take one over the other, does it include the contents of the folder?
    • Better user conflict resolution UI - allow user to see revisions on entire mesh to more easily make an informed decision about what change to take.  In other words, if 4 out of 5 machines have the same content, but one machine says it changed the world, it should be obvious to the user.
    • Better user conflict resolution UI - allow user to nuke changes made on one node/machine that the user knows was a problem.  That machine should then resync with the mesh by taking the versions from Live Desktop and other computers.
    • Perhaps when synchronizing a folder, mark the folder as read-only, so the user doesn't accidentally delete the folder during synchronization, and therefore cause hundreds or thousands of conflicts.
    • When resolving conflicts arrising from a deleted folder, give the option to re-create the folder in order to give the individual items a home instead of forcing the user to manually save or delete each item.
    • Conflict resolution UI needs to be non-modal.
    • Live Mesh needs to be able to detect duplicate files in different locations so it can detect files moves instead of seeing it as a delete and add.  This allows better conflict resolution, like if the file is changed in one location, and you move the file on a different computer, this would no longer create a conflict.  Both actions can be done non-destructively.

    -Tex


    Tex Riddell, DirectX Graphics
    Tuesday, February 17, 2009 3:06 AM
  • Hi Tex,

    Firstly, sorry to hear about the bad synch experience - multiple computer synchronisation can be pain when you hit a bug, since it can seem as though the bug runs rampant through all of your synced devices.

    A couple of things:

    1. If you are missing any files from your mesh folders, take a look in:

        C:\Documents and Settings\<user>\Local Settings\Application Data\Microsoft\Live Mesh\GacBase\HoldingArea

        Regardless of missing files I'd suggest backing up the contents of this directory if it has any of your files in it.

    2. I'd also suggest collecting and saving your logs. On the machine(s) that you can't collect logs, try running the log collection program from the command line (start->run->cmd->"C:\Documents and Settings\<user>\Local Settings\Application Data\Microsoft\Live Mesh\GacBase\CollectMoeLogs.bat") and seeing what the error message is and if it is something that is easy to fix (like creating a temporary directory).

    Uploading to Connect shouldn't be a problem as it supports files up to 500mb in size (if you have the bandwidth / time to sit through an 80mb upload).

    3. As for the actual sync conflicts I'd suggest backing up what you have now, so that you don't lose anything, then removing the folder from sync across all of your machines, then recreating and readding the folder. This will be a pain, but considering the sync spaghetti Live Mesh seems to have gotten into it sounds as though this is the best bet, which will get you back and syncing as quickly and conflict-free as possible.

    Also, awesome suggestions! I'd vote on a couple of them that I would find extremely useful. Although I'm sure Ben & the Live Mesh team won't miss them, can I suggest a quick copy & paste into the official suggestions thread?

    Cheers,

    Oren
    Tuesday, February 17, 2009 4:21 AM
  • Thanks for the detailed post. I agree with Oren's response, too, that when a problem happens, it can be pretty crazy when synschronizing multiple machines. Please do let us know the bug report number/link when you get it filed.
    -steve
    Microsoft MVP Windows Live / Windows Live OneCare & Live Mesh Forum Moderator
    Tuesday, February 17, 2009 5:48 PM
    Moderator
  • Thanks for the response.  I kind of figured that's the route I would take.  I don't have much time to do this right now, but I'll try a little harder to gather the logs from my Win7 machine.  Uploading shouldn't be a problem for me, it should be pretty fast on internal corpnet, since this machine is in my office (I work at Microsoft).

    I've been really swamped recently and haven't had a chance to do anything more yet, but I'll see if I can find some time to get a bug posted with logs for this.

    Thanks for the link to the suggestion thread, I'll start posting suggestions there soon hopefully... I have more :)

    Tex Riddell, DirectX Graphics
    Tuesday, February 24, 2009 9:32 PM
  • Thanks, TexR. I'm sure that the Live Mesh team will be interested in seeing your logs.
    -steve
    Microsoft MVP Windows Live / Windows Live OneCare & Live Mesh Forum Moderator
    Wednesday, February 25, 2009 2:03 PM
    Moderator