locked
File Conflicts or Missing Files: READ THIS FIRST RRS feed

  • General discussion

  •  

    >Update: We have an new sticky (as well as a blog post) containing updated information on this issue. Please follow the links for more information.<

    A few customers have reported either files missing when they view Live Mesh folders on their computer (but appearing as expected on their Live Desktop) or their computer showing all files but reporting many more conflicts than expected (and their Live Desktop showing duplicate copies of any file with a conflict.) We’ve spent the weekend investigating this, and we have a few details below. But the key news is this:

     

    • Live Mesh is not deleting or losing files. Even if they don’t all appear in Live Mesh folders on your computer, they are all present in a hidden state, as well as on your Live Desktop if the folder is synchronized there.
    • Uninstalling the Live Mesh software from a PC will delete the files that are in a hidden state on that PC. If the folder is not synchronized on any other computer or your Live Desktop, then uninstalling will result in the hidden files no longer being available.
    • If you stopped synchronizing a folder on your PC, then re-synchronized it, that folder is likely to generate some number of false conflicts.


    We're testing a fix for this now
    and will deploy it as soon as we're confident it’s ready. In the meantime, if you have a Live Mesh folder that appears to be missing files (that is, synchronization appears to be complete but expected files are still not present) or one that has an unexpectedly large number of conflicts, in order to prevent data loss, do not uninstall the Live Mesh software. In addition, do not re-synchronize any folders you had previously stopped synchronizing.

     

    Why is this happening? A technical explanation

     

    In the interest of being open with you, our beloved and valued technology preview testers, we’re happy to provide more detail on what’s causing this behavior. The key to a good synchronization algorithm is understanding the history of all the files in a folder. You want to make sure that any client, even one that hasn’t synchronized in a good long while, can get an accurate list of what changed and what needs to be brought up to date. Part of a complete folder history is keeping track of files or folders that have been deleted, so that if a client comes online and tries to sync a file that doesn’t exist in the up-to-date folder list, we can tell whether it’s a new file or a file someone deleted a while back but is still on this particular client because the file deletion was never synchronized to it. We use the industry jargon tombstone for these deleted files.

     

    What we discovered recently is an interesting edge case around tombstones. Live Mesh performs its synchronization in batches of roughly 50 files at a time. The client asks for the first 50 changes, processes those, then asks for the next 50, and so on. If, through sheer chance, the next batch of 50 items is made up entirely of tombstones—that is, it’s a list of 50 files that have all been deleted since this particular client last synchronized—the storage server gets a little confused. It returns that list of tombstones and then concludes that synchronization has ended. If there are additional file changes, they never get sent to the client. So this can lead to two patterns:

     

    • If you’re synchronizing a folder for the first time, and that folder has this pattern of 50 tombstones in a row, then you get only a partial sync. Any files the server returned before this block of 50 tombstones show up just fine, but any files after that won’t be synchronized to the client.

     

    • If you have first stopped and then restarted synchronization for a particular folder, it gets a little more complicated. In this scenario, when synchronization resumes, the client ought to just quickly see which of the files have changed and get everything up to date. But if a client hits this 50-tombstone-in-a-row bug, the Live Mesh service ends up confused. The client might have tens or even hundreds of files that you and I know are up to date and part of the folder, but the server failed to tell the client about them. So the client has no choice but to conclude that you have a bunch of new files, and that’s what it tells the server. The server, of course, recognizes that files with those names already exist, and so it mistakenly thinks the client has just created a bunch of new files that unfortunately have the exact same names as files already in the folder. Result: sync conflicts, and potentially lots of them.

     

    Now, conflicts are an inevitable part of any synchronization system, and so both the server and client are built to understand what a conflict is and to store any conflicting files in a separate holding area, where they remain until the user decides how to resolve the conflicts. While they are in the holding area, the client software might not display the files as being part of the folder, while the Live Desktop instead represents the conflict by showing both files (yes, this is something we are already working on improving and making consistent ;). So the files are all in your mesh; it’s just not obvious where they are or how to access them.

     

    The one catch is that the client holding area is stored in the Live Mesh folder for temporary application files. This directory is something we remove when the Live Mesh software is uninstalled (also something we are already working on improving—either warning you that uninstalling will remove any files in a conflicted state or just copying all conflicts somewhere else where they won’t get removed on uninstall). So if you somehow end up in a state where the folder is present only on one client, uninstalling the Live Mesh software from that client may remove all files in a conflicted state. That’s bad, we know it’s bad, and that’s why we suggest you don’t uninstall until we fix this issue.

     

    Thanks as always for your continued participation and feedback. Ferreting out issues like this is exactly what our technical preview is designed to do, and so while it’s sometimes a bit painful, we appreciate your help and your patience as we work to get the issue fixed.

    Monday, September 8, 2008 9:54 PM

All replies

  • Other MS teams need to take a lesson from you guys.  Thanks for the insight - it definitely lessens the frustration level for us.
    Monday, September 8, 2008 10:28 PM
  • Will this fix make all the files currently in the holding area move to their proper places?  Also, am I correct in assuming it isn't safe to run the clean up moe bat file?  (The one that clear holding files, logs, etc.)

    As a part of this issue, I've noticed that if I update an excel file on one computer, it will remove the excel file on the other computer and replace the file with Live Mesh's .wlx placeholder.
    Tuesday, September 9, 2008 4:05 AM
  • I am not sure if my issue is the same bug or a variation on the theme. I have 12,439 .wlx stubs on my laptop and they are not getting resolved.

    On Sep 5, I noticed that a couple of my folders were not synchronizing properly between my laptop and desktop. I read the sticky note about the bug that synchronization stops if the folder is not on the Live Desktop. Since I am sharing much more than 5 GB of informtion, these two folder sets were not synchronized to the Live Desktop.

    Following the instructions (I think) posted on the Mesh forum, I removed the two folder sets from my Mesh. I installed the update on both computers. Then I added both sets of folders back to the Mesh.

    No problem, except for one issue. I added the folders back to the Mesh on the laptop first. Then a few minutes later, once Mesh knew that the folders had been added, but before the folder contents had propogated to the Live Desktop, I told Mesh to include the desktop computer version of the folders figuring that Mesh would compate the two sets of files and realize that it only had to synch a few files.

    Wrong.

    The next morning, I found that I had more than 12,000 items in the GacBase\HoldingArea with multiple conflicts reported.

    Then I made a mistake. Instead of patiently clicking more than 24,000 times on the conflict messages, I elected to remove the folders from Mesh again without checking the state of the folders.

    The folders were a mess. Many files were missing in a seemingly random fashion from one version of the folders on the laptop and a different, overlappting set were missing on the desktop. I restored the missing files on the desktop version from a backup folder set. Then I added the Desptop version of the folders back to the Mesh. This time I waited hours for the Live Desktop to fill up to 100% figuring that the propgation of the files would work better.

    That was Sunday Sep 7. Now the laptop has > 12,000 .wlx files and no progress is happening. Mesh sometimes shows that is is trying to download 18+ GB of information, but does not move any data.

    Any idea what to do next?

    Thanks for the great product which is much better than Groove.

    Michael
    Tuesday, September 9, 2008 1:06 PM
  •  Helo Josh,

    Do not run the clean up moe bat file since it will remove everything from Live Mesh and the data will be lost. We are actively working on releasing a new version that will take care of this issue. You will still have conflicts but the conflicts should resolve as expected.

    Thank you for your patience.

    Nadia Fortini
    Live Mesh Team
    Nadia Fortini - Live Mesh Team
    Tuesday, September 9, 2008 4:57 PM
  • Michael,

    Thank you for a detailed explanation of your experience with this issue. Once the new version is deployed, you will be able to resolve your conflicts. Unfortunately you will have to resolve them but files should not be missing. Your data will still be syncing therefore performance might be poor until all conflicts are resolved.

    Thanks again for your patience,

    Nadia Fortini
    Live Mesh Team
    Nadia Fortini - Live Mesh Team
    Tuesday, September 9, 2008 5:03 PM
  • Thanks for providing such good feedback. The honesty is really important, cos it encourages people like me to be more "involved". I'm one of those "beta testers who don't really submit bugs", but the openness of the MS team has encouraged me to do more thorough testing.

    I'm currently the victim of "bugs that I can't describe", relating to file conflicts that don't seem to have any pattern, and file copying behaviours that aren't what you'd expect but don't seem to fit anything I can describe - but these forums mean I feel it's important to keep trying to work out how to report them, and I feel that my feedback is valued.

    I was one of the major victims of the bug described above, so it's good to know that the reports are all being worked on, and that a fix is being tested.

    Could I make a suggestion? I've been in ISP hell for over a week, with intermittent access meaning that I've not been here hardly at all. I only just saw the "do not uninstall" message.

    During testing, with an important issue, is it possible to use the Mesh notification system to tell people there's an urgent message/issue?

    You could perhaps add it to the "news" for each person and display it once a day. I'm not sure how you're coded, but given that we're talking about a remote system that hopefully large numbers of people will come to rely on, I would definitely vote for a messaging system - either by adding notes to the "news", or even using the same system that alerts people to updates.

    I was actually about to un/re-install Mesh to try to resolve file conflicts that just will not go away (the same 10 conflicts just appear again and again, no matter what I do) - it would've been really easy to miss the "do not uninstall" notice, and I think that a cloud-based system, in which people don't have much local control, would benefit from a central messaging system where you could send sysadmin-type messages - "system problem, do not sync", "bug found, do not uninstall til further notice", etc.

    I'm sure it's harder to do than I think it is, but it's something to think about.

    Again, thanks for the openness. As jordanmills says above, other MS teams should learn from what you're doing. Actually, the entire software industry could learn a thing or two. As users, we know and understand that you won't give us our entire wish-list. But at least we know you take us seriously.

    tony
    Wednesday, September 10, 2008 6:35 PM
  • I actually posted a suggestion in the "Suggestions for the Forum Software" forum that we be allowed to set "Alert Me" status for the Announcements section as a whole, as well as for each individual announcement. I would have seen those messages on Friday night when I checked my email, rather than Monday morning when I checked the forum and only caught the message out of the corner of my eye.

    I got a "good idea - thanks" response.
    Wednesday, September 10, 2008 8:50 PM
  • Thank you Tony. Our team tries to cover every scenario in our testing, but we can never cover all cases. There are too many variations of hardware/software combinations and we can never predict how customers are going to use our products. This is why we cannot deliver a quality product without the involvement of customers like you.  This requires a strong relationship between our product team and our customers/beta testers. We need your feedback (and your patience) for improving Live Mesh and deliver the expected experience. 

    Your post Tony came at the perfect time as we were just discussing different solutions for a communication mechanism that will allow us to reach as many Live Mesh users as possible. We are looking at using the News feature for pushing announcements to all customers as you suggested, or an email mechanism to send urgent messages. This brings a question: What would be the best way to communicate with you if we detect an issue with Live Mesh?

    On the conflict issue, we will soon post clean up steps for restoring your folders.

    Thank you,


    Nadia Fortini - Live Mesh Team
    • Edited by Nadia Fortini Thursday, September 11, 2008 3:34 PM edit
    Thursday, September 11, 2008 3:31 PM
  • Nadia - I'm going to jump in with some comments, because what you are pointing out is really important, and we have this issue with the products I develop daily.

    I think you need _at least_ two announcement mechanisms - one that uses the Live Mesh tools themselves, such as the News as Tony suggested, and another channel that does NOT involve Live Mesh. Email via the alert messages from the forum, or another opt-in messaging approach, would give you a chance to deliver messages if the problems you're reporting with Live Mesh are so severe that the service itself is broken. I don't think it's safe to rely only on the product that you might be sending out messages about to be the conduit for all news about problems.

    Duplicating the access to the information with RSS feeds, text messages, etc. and other routes would not be a bad thing during the preview/beta stage.
    Thursday, September 11, 2008 4:04 PM
  • Nadia, I would like to see both an email notification to all registered Mesh users and the use of the news functionality of Live Mesh itself. Additionally, if something can be added to the UI on the Live Desktop, that adds a 3rd notification system to reach more people for really critical information. The first lesson I learned in communication a very long time ago is that you can tell people the same thing in 3 uniquely different methods before you can count on 50% of your intended audience actually "receiving" the information being relayed.

    And, I also want to add that the above explanation of the problem was fantastic. I've been away from the forum this week, so today was my first view of this post. I agree that it is wonderful that your team is so open with us regarding Live Mesh development. Your interaction with us here is excellent. Thanks to all of you.
    -steve
    Microsoft MVP Windows Live / Windows Live OneCare Forum Moderator
    Thursday, September 11, 2008 7:24 PM
    Moderator
  • Thanks for the feedback. This confirms our assumptions that we need two communication mechanisms: email and alert within the product.


    Nadia Fortini - Live Mesh Team
    Friday, September 12, 2008 3:52 PM
  • Hi Nadia

    I've been thinking about this, and thinking about how similar "mesh" is to Live Messenger in the way I interact with its information. This led me to further think about the inherent ability to ignore alerts from Messenger - the box that appears when you have a new email etc. disappears, and Messenger then relies on you going into the menu in order to see what it was telling you before. You can miss something important.

    I'm in favour of an opt-in "service announcement" email system, but because of what I said above, I think the best way to notify users of serious issues is to also have a persistent alert box on the bottom right hand side of the screen, same shape and size as the "starting live mesh" or "updates are available" boxes. Something like "urgent Mesh service issue - click for details".

    You already have a mechanism for persistent information boxes - when an update fails, the notification - "some updates weren't configured" stays there until it's dismissed (someone's filed a bug on this- the box can get stuck behind the Vista sidebar if the sidebar is set to be on top of other windows, but the box has an X to dismiss it which you can't reach - in order to dismiss the box, you have to close the sidebar; the bug was closed cos I don't think the person quite got what the reporter was saying - but still, Mesh can already give users persistent boxes, even if they don't quite work properly yet :) )

    So, I think you have 3 possible mechanisms for information: email, the notifier news window, and the alerts system. As a user, I'd select all three methods. I think it'd be good if you could offer all of them.

    I think GuyWithDogs makes a very good point - one of the alert mechanisms should definitely NOT rely on Mesh's notification systems; it's a sign of strength for software developers to be able to say "we trust our own products but we are prepared to accept they might not always perform". It's another good reason to use email to alert people as well as other methods.

    tony
    Sunday, September 14, 2008 9:05 PM
  • Hi Tony,

    Thanks for the additional suggestion.  I like the "urgent Mesh service issue" idea, and I've added it to our list of suggestions.  This has been a really great thread in general: thanks to all of you for the suggestions here - and, of course, for your patience with us as we continue working the kinks out of Live Mesh.

    Ben.
    Monday, September 15, 2008 3:46 PM
  • Not to be pushy, but when can we expect the new version that will fix the issues of missing files stuck in the holding area?

    I'm wondering if I should wait this one out, or temporarily switch to another solution.  But then again, I run the risk of completely loosing files if I uninstall Live Mesh.

    Thanks for all of your hard work on this project.
    Monday, September 15, 2008 7:32 PM
  • Hi Josh,

    Please do not uninstall Live Mesh.  That could result in your files being lost.  We are working on a set of guidelines to get people out of this situation, and we hope to make that available very, very soon.  If you can be patient with us a little while longer, we should be able to help you get everything back to normal.

    Thanks,

    Ben.
    Monday, September 15, 2008 8:00 PM
  • I too am having the problem but I havent actually deleted any files. I've been ripping my CD collection to mp3 on one PC and syncing them to 2 other PCs at home. I now have lots of conflicts and can see lots of files in the staging area. Unfortunately I had the problem before (my mp3 collection was a mess) but hadnt read the post on this forum so uninstalled and started again. I too second the suggestion that we need emailing if theres a major problem and ideally put it on the blog ASAP as I do read that with google reader.

    I used to use foldershare but moved to mesh when I hit the 10,000 file limit in a folder on foldershare. Ideally I want to sync my photos between home and work so I have an offsite backup but dont want to do that until this bug has been fixed.

    Keep up the good work, its really nice software.

    Dave
    Wednesday, September 17, 2008 6:47 PM
  • I have been running FolderShare for SOME time now (several? years). It seems VERY reliable. Some of the SAME folders are sychronized with LiveMesh. FWIW, I have found that FolderShare 'recovers' (or 'reinstates') MANY (but not all) of the 'deleted' (or hidden) files. [The FolderShare recovery msgbox EXPLICITLY says that the files have been DELETED from the local folder (but retained elsewhere).]
    Thursday, September 18, 2008 9:06 PM

  • I have a 50GB folder sync between two computers, but not the live desktop.  I think I have read elsewhere on these forums that syncing with the live desktop will solve issues of missing files (placeholders only).  Is this true?
    Friday, September 19, 2008 4:24 AM
  • I recently got a laptop, and I copied a number of folders directly onto the laptop from my desktop using my home network including folders like "Music" and "Projects". Then I installed Live Mesh, added the folders onto Live Mesh (double-clicked the folders and then set the location to be the folders that I copied over and the syncing options to be sync when files are added or modified. Now my desktop says that it's synchronizing over 20 gigs of files (I'm guessing the entire projects folder and the music folder) and it's actually downloading them from my laptop as well.

    Weird thing: it's not actually doing anything, it's not changing the files or declaring that there are any conflicts or anything. It's just says that I added a bunch of files and is downloading them. I checked Live Mesh - there is only one projects folder and only one music folder. Should I just let it download whatever it's downloading, have its fun and hope for the best? Should I turn Live Mesh off? Should I let you guys run the tool you e-mailed me about?

    Long story short: it's syncing gigabytes upon gigabytes of information, not actually doing anything (not deleting or adding files that aren't there) and most annoyingly, it's not actually adding the files that I do create in the "Projects" folder.
    Sunday, September 21, 2008 7:53 PM
  • Hi,

    We've had a number of people try this (start with folders that contain the same data on different devices in order to have things begin "in sync"), but unfortunately this doesn't work as expected quite yet.  The main reason is that if there is anything (even metadata, like the last time a file was opened) that is different, Live Mesh will see the files as different and attempt to update any that are out of date (again, even if the substantive content is the same).  And, since we have not yet implemented "delta sync", where Live Mesh will only update those parts of a file that are different, once it determines that a sync operation is needed, it synchronizes the entire file over again (which is why you're seeing such large data transfers).

    We recognize that this is not ideal, and the good news is that we've got improvements for this behavior coming in the near future.  Right now, though, I'm afraid what you're seeing is expected.

    I hope that at least clears things up a bit.  I wish I could be more help.

    Ben.
    Tuesday, September 23, 2008 4:29 PM
  • Hi

    This thread was very helpful, explaining issues with synchronisation conflicts and how I compunded the problem by adding pre-populated folders to be synchronized. In part, answers a query I had already sent through the online support request.

    Some suggestions.

    Communications: I appreciate as beta participant I should proactively watch announcements, opt in and read mails. Reality is - these are busy days. So - there are different types of communication: good news, bad news, and warnings.  
    A suggestion: Apart from prioritizing dissemination, another simple way to make sure the message gets there is to intercept activity. Before uninstalling and any other critical user activity, eg folder delete, it would be possible to insert a centally updated warning screen to ensure users have read relavantrecent  notices. Determine when and where with a activity flow chart.

    Conflicts: Are inevitable. The ingenuity of users will always outwit you. Eg I realized I had Onenote still configured to synchronise local copies of notebooks across the network that were also in synchronized mesh folders. A recipe for trouble? 
    Suggestion: A reset button - every computer has one. At the moment that's a re-install. Simpler is to designate one local or desktop copy as the master and rebuild the database from that and then synchronize after user confirmation.

    Status: While synchronisation is automatic and indicated by activity, it not always convincing. 
    Suggestion: A database check that lists and summarizes synchronisation status, ideally irrespective of online status. Peace of mind.

    Inspiring work otherwise. Keep it up.

    Monday, September 29, 2008 7:46 AM
  • Hi Rendt,

    Thank you for the suggestions.  I've added them to our internal list of customer suggestions, and they're definitely on our radar.  We may not be able to get to everything, of course, but we're dedicated to getting as many of these great customer suggestions into Live Mesh as we can.

    Ben.
    Monday, September 29, 2008 6:15 PM
  • Hi, Nadia.  I am a year late to this conversation, and I don't know if anyone is still monitoring it...

    A nice addition to notifications would be the ability to add multiple e-mail addresses (notification channels, in addition to the 'product notification channel') and configure the types of messages that each of the 'channels' can receive.  (Thinking of a 'message types' breakdown as such:  Informational, Important, Urgent)

    This would allow me to push all communication through 'product notification' channels, and add my personal email (used in Live Mesh account signup) to receive Important and Urgent notifications, also adding a third channel going to my SMS,  '######@phonecarrier.net', or similar for Urgent issues. 

    This way, when I am on vacation away from my PC and e-mail enjoying time with my kids and family (because I want to disconnect every once in a while!) I can be alerted if something is going on that I need to address asap.

    Just a thought!



    Brice
    Friday, December 4, 2009 4:26 PM
  • Hi, Nadia.  I am a year late to this conversation, and I don't know if anyone is still monitoring it...

    A nice addition to notifications would be the ability to add multiple e-mail addresses (notification channels, in addition to the 'product notification channel') and configure the types of messages that each of the 'channels' can receive.  (Thinking of a 'message types' breakdown as such:  Informational, Important, Urgent)

    This would allow me to push all communication through 'product notification' channels, and add my personal email (used in Live Mesh account signup) to receive Important and Urgent notifications, also adding a third channel going to my SMS,  '######@phonecarrier.net', or similar for Urgent issues. 

    This way, when I am on vacation away from my PC and e-mail enjoying time with my kids and family (because I want to disconnect every once in a while!) I can be alerted if something is going on that I need to address asap.

    Just a thought!



    Brice

    Hi again, Brice. See below for how to submit suggestions or vote:
     

    Live Mesh Beta: Suggestions - Go cast your vote!

    -steve


    ~ Microsoft MVP Windows Live ~ Windows Live OneCare| Live Mesh|MS Security Essentials Forums Moderator ~
    Friday, December 4, 2009 6:08 PM
    Moderator