#977 assigned defect

backupdb should store which grid it is scoped to

Reported by: davidsarah Owned by: davidsarah
Priority: major Milestone: soon
Component: code-frontend-cli Version: 1.6.0
Keywords: tahoe-backup preservation forward-compatibility backupdb Cc:
Launchpad Bug:

Description

On tahoe-dev, Brian Warner wrote:

Jody Harris wrote:

Any issues with switching a node (non-storage) from one grid to another?

You may want to erase your backupdb (~/.tahoe/private/backupdb.sqlite), because it will remember copying files to the old grid, and therefore skip uploading them to the new grid. The backupdb is really scoped to a specific grid.. if we had grid-identifiers of some sort, we'd either use a separate backupdb for each one, or add gridids into the SQL tables so "tahoe backup" would never confuse multiple grids.

Change History (4)

comment:1 Changed at 2010-03-03T00:01:53Z by davidsarah

Also see #403 about grid identifiers. For this purpose, the domain name of the gateway might be sufficient, since that would only result in one inefficient backup run when using a different gateway to the same grid.

comment:2 Changed at 2010-06-19T01:06:43Z by zooko

  • Keywords forward-compatibility added
  • Milestone changed from 1.7.0 to soon

comment:3 Changed at 2011-01-15T10:16:41Z by davidsarah

  • Keywords backupdb added
  • Milestone changed from soon to 1.9.0

#1310 was a duplicate: Replying to zooko:

I use multiple grids (pub grid, volunteergrid, and a private family grid), and I just now had a confusing error where I ran tahoe backup and it completed quickly but produced a backup directory full of links to files with 0 shares each.

What happened, of course, was that I had previously run tahoe backup --node-url=http://127.0.0.1:3458/ to backup these files to my family grid, and now I was running tahoe backup --node-url=http://127.0.0.1:3457/ to backup these files to the volunteergrid, but I was unwittingly using the same backupdb.sqlite.

I wonder if, when the --node-url option is present, then the CLI shouldn't look into ~/.tahoe at all. Most of the configuration and state in ~/.tahoe is specific to the gateway that the --node-url points to, and the CLI will ignore it anyway and instead whatever configuration is in the tahoe-base-dir that is used by the gateway will take effect.

The only exception that I can think of right away is the private/backupdb.sqlite. Is that the only thing that affects the CLI when --node-url is present? Maybe it should be kept in a different directory.

I think I'm a bit confused about this. I'm not sure what all it means that there exists a ~/.tahoe when I'm actually using a gateway which runs as a separate user process, is specified by the --node-url option, and it has its own ~/.tahoe in its own user account. As a work-around and a way to gain clarity, I'll probably start specifying --node-directory in addition to --node-url, but this really feels wrong as it isn't a node directory at all! It is a CLI directory. :-)

comment:4 Changed at 2011-08-13T23:27:28Z by davidsarah

  • Milestone changed from 1.9.0 to 1.10.0
  • Owner set to davidsarah
  • Status changed from new to assigned
Note: See TracTickets for help on using tickets.