Opened 9 years ago

Closed 8 years ago

#39 closed defect (fixed)

Windows: Vespa database written to roaming data directory

Reported by: flip Owned by: flip
Priority: major Milestone:
Component: other Version:
Keywords: Cc:

Description

Windows: Vespa database written to roaming data directory

Vespa creates its data directory in the directory designated by Windows to be the "roaming app data" directory.
Wikipedia's summary of a roaming app profile is pretty good: "A roaming user profile...allows users...joined to a Windows Server domain to log on to any computer on the same network and access their documents and have a consistent desktop experience, such as applications remembering toolbar positions and preferences, or the desktop appearance staying the same."

Windows achieves this by synchronizing the contents of the roaming app data dir across computers when the user logs off and on.

For Vespa, this has two potentially bad consequences. They're both specific to the database.

  1. The database can get pretty big. It's not nice to our users to force a big file copy every time they log on/off.
  1. A user who trashes her database on one machine might not expect those changes to be automagically propogated to every machine to which she logs on.

As of this writing, we don't think anyone has been bitten by this problem, but we're not sure.

Partial Solution

Vespa calls util_misc.get_data_dir() to figure out where to put its data directory. That function uses the Windows constant CSIDL_APPDATA to query Windows for the appropriate directory. Changing get_data_dir() to use CSIDL_LOCAL_APPDATA will fix the problem for new users but break existing installations, so its only a partial solution. We also need to figure out how best to handle existing installations.

Interesting links:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx

Change History (2)

comment:1 Changed 9 years ago by flip

  • Status changed from new to assigned

Fixed in r3157. I'm going to leave this open so that we remember to clean up the old data dir at some point in the future.

comment:2 Changed 8 years ago by flip

  • Resolution set to fixed
  • Status changed from assigned to closed

The cleanup of the old data dir was added in r3468, so this fix is now complete.

Note: See TracTickets for help on using tickets.