Jump to content
  • 0

What happens if a file is rebalanced during access?


Silenus

Question

I have a pool with with a bunch of large HDDs and two SSDs fronting as the write buffer using the SSD Optimizer.

On this pool, I have the Oculus Rift game Lone Echo. As I'm not actively playing it much, it's sitting on Archive disks (as in, I have no special placement rules forcing it onto one of the SSDs).

A friend has been playing lately, and has had several crashes. After looking into the crash dump of the game, I found this:

Encountered an error:
 - 0x2FD48A8D4C79448D
  - 0x2FDA8A8C4D75508F: While operating on file 'Could not move e:\games\oculus\software\ready-at-dawn-lone-echo\_local\saves\slot3\prevautosave1.radsave to e:\games\oculus\software\ready-at-dawn-lone-echo\_local\saves\slot3\prevauto
Encountered an error:
 - 0x2FD48A8D4C79448D
  - 0x2FDA8A8C4D75508F: While operating on file 'Could not move e:\games\oculus\software\ready-at-dawn-lone-echo\_local\saves\slot3\autosave.radsave to e:\games\oculus\software\ready-at-dawn-lone-echo\_local\saves\slot3\prevautosave0WaitableTimer slept too long/short (i.e. 3033.546874 ms)

I went to the 'slot3' folder on the pool in Windows Explorer and found that the "autosave.radsave" file appears to be there, but when I try to read it or copy it, it is not there. I get a Windows error message saying "Could not find this item. This is no longer located in <PATH>".

I went looking on the actual backing drives (not the pool) and found it on one of the archive drives. I was able to copy/read it just fine from there. Furthermore, I saw an error message in DrivePool stating that this file has a duplication conflict (like this). I find that strange, since this file is not duplicated.

My hypothesis: the save game file was created during gameplay and since the SSDs are my write buffer, it was saved on one of them. Shortly later, DrivePool rebalanced it to an archive drive, and later for some reason when it tries to rename the file, it's not there anymore. I though maybe the game was sidestepping normal Windows copy APIs and therefore isn't compatible with drivepool, but I think that's not possible, since even Windows Explorer was having trouble with that file.

Any suggestions?

For now, I've just disabled real-time rebalancing and set it to happen overnight instead to reduce the chance of rebalance during gameplay.

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

After some further investigation, I've found that Oculus Home is simply unable to install games onto the pool, or update existing games that I've manually moved to the pool. This is likely unrelated to the Lone Echo problem, as the game doesn't rely on Oculus runtime for file access, but it might be something to add to the known issues list. Could this be related to hard links, like the Plex problem?

Link to comment
Share on other sites

  • 0

Yeah, Oculus has some weird issue with installing to the pool, and doesn't really want to help us resolve it.  

So the discussion that Jaga mentions may be your best option, for now. 

That said, balancing won't touch open files.  And, it creates a "COPYTEMP" file when balancing/duplicating, so that if the file is accessed/modified/interrupted, it's "no big deal". 

Link to comment
Share on other sites

  • 0

As long as you don't overfill the drives (forcing a re-balance), or use the Disk Space Equalizer plugin (which also forces an immediate re-balance) it shouldn't ever touch those files.  Even adding a new drive to the pool shouldn't do it, since Drivepool won't auto-migrate.  It will just keep adding new files to the disk with the most free space.

If you setup odd balancing rules however, all bets are off.  You'll have to approach that with care, if you ever do.

Link to comment
Share on other sites

  • 0

It's not advised to do so.  And you'd want to remeasure the pool after doing so, to ensure that the statistics are correct (and if you install anything else afterwards. 

Also, you may want to use the FIle Placement Rules to "lock" the folder to that disk, to prevent it from being balanced off. 

 

But as @Jaga has said, the software won't automatically balance the data off, unless there is actually a reason for it (such as the disk is too full, or StableBit Scanner detects unreadable sectors).

Link to comment
Share on other sites

  • 0

Hi again,

I'd like to get some further advice on this. Forget the Oculus stuff, I think that's a red herring which derailed the discussion.

I've now had three cases of files corrupting themselves without me doing any7 "under the hood" touching of files.

1) The case above, with the Lone Echo save game (Lone Echo the game, not Oculus Home the store)

2) A Word document created on the pool

3) A JPG image imported from my phone via Lightroom

In all cases, I get the duplication mismatch error (screenshot attached).

If I can't get to this root cause of this, I'm going to have to (reluctantly) give up on Drive Pool and find a different solution. I can't have files randomly corrupting themselves from basic read/write operations.

The one common thing between all of these: they are all impacted by some kind of placement rule. The save game was part of a folder pinned to SSD, the word doc is in a folder that is duplicated, as is the JPG.

I've also attached a screenshot of which plugins I have enabled.

My software developer intuition is telling me what is happening is this: the file is rebalanced while a program still has it open; somehow the program has a pointer to the original location and keeps writing there, while DrivePool has rebalanced the other copy somewhere else. As a result there are two copies with different content. Is this possible? I should hope not as the userspace programs should never know where the file truly is, but I don't know.

duplication.JPG.4c42c4a119858d60d37708991a4f12cd.JPG

plugins.JPG

Edited by Silenus
remove private info
Link to comment
Share on other sites

  • 0

Further information:

In the MS Word doc's case, I tracked down the two duplicated files from the pool's underlying drive. One was a 2-page 158kb file from before a big edit, and the other one was a 5-page 670kb file from after a big edit, so it aligns with my hypothesis above.

Another data point, is that MS Word seems to be aware of the pool parts!!! This is what I see when I click "Save As":

msword.thumb.JPG.6f7d74c7ff91d6d67d96dbe0151c13b3.JPG

 

I've spoken with my wife whose file this is, and she tells me the trouble started after the computer was restarted without Word properly shutting down. When it re-opened it asked if it should recover the file. She said yes, and then used Save As to save it. Maybe the auto-recover tool somehow operates directly against the underlying file by doing some kind of file-system magic for recovery?

Link to comment
Share on other sites

  • 0

That's very possible, but I'm not sure. 

Honestly, I suspect that something else is going on here, though.  Likely an antivirus program that is causing issues. 
I personally run Outlook from the pool, and host most (if not all) of my document files from the pool, and haven't had this issue, at all.   So, it may be very system specific. 

For the Office document issues, if you could enable logging and reproduce that? 
http://wiki.covecube.com/StableBit_DrivePool_2.x_Log_Collection

And run the StableBit Troubleshooter on the system, and use 3652 as the Contact ID? 
http://wiki.covecube.com/StableBit_Troubleshooter

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...