Jump to content
  • 0

Odd behavior when removing a drive in a DrivePool?


smt52

Question

Hi,

 
I'd like to report what seems to be a bug in StableBit DrivePool.
 
I am running uTorrent connected to drive H:.
 
Drive H: is a DrivePool, which points to drives Y:, X:, and U:.
 
Drives Y: and X: are SATA drives that are internal to my PC.
 
Drive U: is an external USB drive, connected by a high-speed USB 3.0 .
 
I wanted to get rid of my USB 3.0 drive (i.e. drive U:), so I clicked "-Remove".
 
Then, some odd things started to occur.
1. It said "Waiting to remove...Removing..." which looks like a User Interface rendering issue (is your WPF View/ViewModel functioning properly?).
2. More importantly, it suddenly started to claim that some files which I had previously accessed had missing handles, and "Access denied".
 
You can reproduce this by running uTorrent, filling it up with loads of torrent files, then removing 1 of the 3 drives in the pool, and checking to see that uTorrent does not fall over.
 
On further testing, it appeared as if the entire system had started to fall over.
 
At least two programs (uTorrent and MacroExpress) could not save files to H:.
 
I would suggest:
1. Ensuring that while 1 of the 3 drives in a pool is being removed, that the pool itself is still usable. Why should the system suddenly get bad file handles, and unreadable files, and refuse to write files to the pool?
2. When it says "Removing drive ..", give an indication to the user of how long this will take. I don't know if it's going to take 20 hours, or 20 minutes, or another 20 seconds - I'm completely in the dark. And while it's removing the drive, it says "No disk activity on the pool", which indicates that, er, it's crashed or something, and it's doing nothing. This is a bit confusing.
 
I should also add that my system has been running perfectly well for the past 2 years, the machine is a Dell T7500, Enterprise Grade, and as solid as a rock. This is not a hardware issue - it's a software issue.

post-2083-0-61533300-1438030027_thumb.png

post-2083-0-89775400-1438030037_thumb.png

post-2083-0-95268500-1438030045_thumb.png

post-2083-0-42944400-1438030053_thumb.png

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

So, I've proven that a number of existing files were corrupted on the drive, in response to removing 1 of the 3 drives in the DrivePool.

 

I prepared two screenshots which demonstrate this, and a detailed explanation of how to reproduce the error. Essentially, all you have to do is create a program which continuously writes/reads to the existing DrivePool, while removing one of the drives in the pool, and you will see that the files written and read are corrupted.

 

However, when I tried to upload the screenshots, it said "You have exceeded your allotted disk space for attachments".

 

So took that as sign to give up, and not submit any more bug reports. This is a pity, as I put a lot of time into giving you feedback which would help you improve your product (which is excellent in so many other ways, I might add).

 

Perhaps you should increase the amount of space allocated for screenshots to something more than 250 kilobytes?

Link to comment
Share on other sites

  • 0

Essentially, all you have to do is create a program which continuously writes/reads to the existing DrivePool, while removing one of the drives in the pool, and you will see that the files written and read are corrupted.

This is the main issue here.

 

As part of the removal process, we do close the handles to the drive. And we use the correct Windows API to do this. 

 

This is done to prevent programs from keeping files open, that would cause the removal to fail. Additionally, the drive is set to be read only, so that additional handles should not be able to be opened. 

As for giving a notification, it's much like Windows File Copy... it would keep on changing depending on the files it's moving, and the disks in question. 

 

 

However, one way to minimize downtime here is to use the "Drive Usage Limiter" balancer. Open the settings for it (Pool Options -> Balancers -> Balancers tab), and uncheck both the "Duplicated" and "Unduplicated" options for the disk in question.  This will balance the data out of the drive in the background. Once that's done (or mostly done), you can then quickly remove the disk from the pool.

 

Just in case, could you grab the latest beta build and see if that helps with the issue?

http://dl.covecube.com/DrivePoolWindows/beta/download/StableBit.DrivePool_2.2.0.634_x64_BETA.exe

http://dl.covecube.com/DrivePoolWindows/beta/download/StableBit.DrivePool_2.2.0.634_x86_BETA.exe

There are a number of significant changes that have been made, and it may help with this issue.

 

 

If you're still having issues with this, let us know,and grab the logs from the system if you can:

http://wiki.covecube.com/StableBit_DrivePool_2.x_Log_Collection

And we'll see about reproducing the issue, as well.

Also, are you preallocated files, in utorrent?

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...