NebulousLabs / Sia

Blockchain-based marketplace for file storage. Project has moved to GitLab: https://gitlab.com/NebulousLabs/Sia
https://sia.tech
MIT License
2.71k stars 442 forks source link

Adding a folder/drive #3108

Closed grigzy28 closed 6 years ago

grigzy28 commented 6 years ago

I have been trying to add a 3rd folder/drive to siad hosting (windows), it will add the folder/drive but then will just stop responding and I have to reboot the machine to get it to respond. But then it will stop responding once again if you don't immediately remove the folder/drive. This has occurred since 1.3.1 (when I started). I have just not worried about it till now when I have been filling up my 2 folder/drives.

Update: I removed one of the folders/drives (of the two) and added a 3.6tb folder/drive (1 @ 3.6tb and 1 @ 2.5tb) to the system for a total of 6.1tb. Came home and found it locked up like it would with 3 folders in the siad host but with only 2 in the host.

I am trying to re-add the 3.6tb folder to the system by splitting it up into two separate folders of 2.0 and 1.6. Will see if it locks up again.

2nd update: system locked up after about 45 minutes. with the 2.0 and 1.6 folder added to the 2.5. Trying just 2 2.5tb now.

3rd update: the 2 2.5tb didn't work either, locked up. removed them and re-added the original 1.9tb drive and now it locks up with it as well.

There are no error messages listed in the siad window.

Expected Behavior Add folder/drives to system and continue as normal.

*How to reproduce it (as minimally and precisely as possible) Not sure yet, doing some testing.

Environment

tbenz9 commented 6 years ago

Check the logs for any errors, and paste anything suspicious here. I also suspect that the UI might be to blame, have you tried running Sia without the user interface?

Use this to find your logs: https://gist.github.com/tbenz9/8066d74853ab28c23bd7bc1d3c7cdeda

grigzy28 commented 6 years ago

I do not use the gui interface, I only use the siad.exe and siac.exe.

Looked in the log file location and there are no log files at all. Just a preference file for the UI and a config.json file, nothing under sia folder.

grigzy28 commented 6 years ago

I found the log files, they are under my sia folder where I have siad and siac.

Here are my log files for the host/renter/transaction pool. If you need to see something else, please let me know.

6/15 was the day that I did all the tests with trying to add more space to the host. (2018/06/16 is where I was doing the testing of the different sizes adding to the host and having it lock up, you can see when I restarted it several times.)

log files.zip

tbenz9 commented 6 years ago

I'm not sure what to tell you, I briefly looked through your logs and didn't see anything too egregious. You might have better luck asking for help in the #HELP channel of the Sia Discord. We try to keep support requests like this to Discord.

tbenz9 commented 6 years ago

You should monitor your computer resource usage when you try to add/remove the folders. Is it running out of RAM or thrashing your disks or anything obvious?

grigzy28 commented 6 years ago

Okay, found out what I think is happening.

According to RBZL in the discord help channel, when you add/resize a shared folder it zero's out the new empty space.

Somehow this process is happening in the foreground processes of the siad daemon instead of a background process. Thus the appearance of siad locking up and not responding.

Isn't this process supposed to occur in the background and not "lock" up the host? Just a question. :)

tbenz9 commented 6 years ago

@MSevey do you know if the zeroing of a storage folder is supposed to happen asynchronously. And if not, can we make it so?

MSevey commented 6 years ago

@tbenz9 @grigzy28 currently the code is not set up to run this process asynchronously. One reason is that we want to notify the host if they are unable to add/remove/resize storage folders. If this was to run asynchronously then the host would be responsible for remembering to go through the log files to know if the command was successful or not.

Since it sounds like nothing is broken, and it is more of a UX thing, my recommendation would be to just update the documentation for the host API to better explain the expected behavior so hosts know to run these commands in a separate terminal screen so that they are not locked up waiting for the process to finish.

I will close this issue. @tbenz9 do you have time to quickly update the documentation to clarify the expected behavior? If not maybe just submit a separate issue requesting the change.