Skip to content
This repository has been archived by the owner on Oct 28, 2021. It is now read-only.

Windows - Is AppData/Roaming the right place for our data? #3155

Open
bobsummerwill opened this issue Aug 26, 2016 · 7 comments
Open

Windows - Is AppData/Roaming the right place for our data? #3155

bobsummerwill opened this issue Aug 26, 2016 · 7 comments

Comments

@bobsummerwill
Copy link
Contributor

From @bobsummerwill on April 27, 2016 21:58

I remember seeing a question/comment somewhere about our choice of data directory on Windows, which is AppData/Roaming, which, I believe will get network-drive copied with an LAN environment, backed-up, etc.

Should we actually be using AppData/Local? How are we even selecting that location, and how would we fix that, if we wanted to?

Any Windows experts out there with an answer?

Copied from original issue: ethereum/webthree-umbrella#489

@bobsummerwill
Copy link
Contributor Author

From @chfast on April 27, 2016 22:7

It looks like AppData/Local is better. You can use WINAPI to select that. See https://github.com/llvm-mirror/llvm/blob/master/lib/Support/Windows/Path.inc#L802-L819.

Roaming contains data that should be synchronized inside Windows Domain (kind of corporate network controlled by Windows Server). That might be good location for keys, but not blockchain.

Local is data that is not synchronized.

@bobsummerwill
Copy link
Contributor Author

"That might be good location for keys, but not blockchain."

Yes, I seem to remember that being exactly what the person who made this comment (wherever that comment was made) was suggesting we should do.

From my previous role at the bank, I can testify to the horrible performance you can get when there is a large volume of Roaming data to be synchronized. There we had all the data centers in Toronto. When logging onto a machine in Vancouver for the first time, it could take 3-4 hours between the "Login to Windows" and having a reactive desktop, because it was pulling Gigs of data over a skinny pipe on the corporate Intranet.

This kind of bug, while minor, can be a killer for potential adoption of eth within Enterprise environments. You don't notice any difference (obviously) on Windows Home edition.

@bobsummerwill
Copy link
Contributor Author

From @chfast on April 27, 2016 22:42

After a bit of thinking, we should probably go to Local. Why not Roaming?

  1. Users might not want to have their keys stored on some servers and other computers.
  2. It is not a backup.
  3. Roaming is only used in very specific environments (not general purpose).
  4. If any company would need that feature we can add it on request.

@bobsummerwill
Copy link
Contributor Author

Right - so Local for everything by default?

I think that makes sense. Doing anything non-local with their data without explicitly asking the users is "a bit naughty" anyway, isn't it?

@bobsummerwill
Copy link
Contributor Author

From @chriseth on April 27, 2016 23:40

I would use exactly the same directories as go-ethereum uses.

@bobsummerwill
Copy link
Contributor Author

Yep, @chriseth . Looks like this go issue (the same thing) is where I first actually saw this problem exposed :-)

ethereum/go-ethereum#2237

@seusher
Copy link

seusher commented May 13, 2017

A couple of questions about this issue:

  1. Do you want to have this coordinated with a change in go-eth? They are still using AppData/Roaming.
  2. The simplest fix is quite trivial, but it would require that people move their AppData/Roaming/Ethereum directory to AppData/Local/ unless they wanted to resync the blockchain. Should this fix include migration of existing chain data?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants