Accounting, lease-db from cloud-backend #2866

Closed
opened 2017-02-21 20:39:24 +00:00 by meejah · 3 comments
Owner

Partial summary of devchat from February 21, 2017 and the path forward on pulling some of the things from the cloud-backend branch:

  • add pluggable backends, like 2237
  • add lease-db, like 2237 except the API for the lease-db goes into the backend API
  • add lease-db implementation using sqlite
  • like in 2237 currently, if a share isn't in the lease-db at all a new "starter lease" is added
  • lease-db is throw-away and can be lost at any time

We'd also discussed backing up the lease-db, but that can be an enhancement at a later date.

Some notes on various use-cases:

  • "how much space is Alice using" (we don't have notions of Alice etc yet though): this can be answered from the leasedb. If we've "recently" lost the lease-db, this answer will be inaccurate until "default-share-expiry" time has passed.
  • garbage-collecting: if the lease-db was lost, and a client didn't care about a share (and therefore never renewed it) the garbage-collector will be the first thing to ask the lease-db about it so a "starter" share will be created at that time. Therefore, it won't be garbage-collected until another default-share-expiry time has passed
Partial summary of devchat from February 21, 2017 and the path forward on pulling some of the things from the cloud-backend branch: - add pluggable backends, like 2237 - add lease-db, like 2237 *except* the API for the lease-db goes into the backend API - add lease-db implementation using sqlite - like in 2237 currently, if a share isn't in the lease-db at all a new "starter lease" is added - lease-db is throw-away and can be lost at any time We'd also discussed backing up the lease-db, but that can be an enhancement at a later date. Some notes on various use-cases: - "how much space is Alice using" (we don't have notions of Alice etc yet though): this can be answered from the leasedb. If we've "recently" lost the lease-db, this answer will be inaccurate until "default-share-expiry" time has passed. - garbage-collecting: if the lease-db was lost, and a client didn't care about a share (and therefore never renewed it) the garbage-collector will be the first thing to ask the lease-db about it so a "starter" share will be created at that time. Therefore, it won't be garbage-collected until another default-share-expiry time has passed
meejah added the
code-storage
normal
enhancement
1.12.1
labels 2017-02-21 20:39:24 +00:00
meejah added this to the soon milestone 2017-02-21 20:39:24 +00:00
Author
Owner

It looks like "warner/accounting-2" is the original branch upon which daira's 2237 branches are based (but with some additional changes).

It looks like "warner/accounting-2" is the original branch upon which daira's 2237 branches are based (but with some additional changes).
Author
Owner

The leasedb in the 2237 branch (and original accounting branches) has a synchronous API (using sqlite). This needs to be made async so we can use backends that do network things.

The leasedb in the 2237 branch (and original accounting branches) has a synchronous API (using sqlite). This needs to be made async so we can use backends that do network things.

The established line of development on the "cloud backend" branch has been abandoned. This ticket is being closed as part of a batch-ticket cleanup for "cloud backend"-related tickets.

If this is a bug, it is probably genuinely no longer relevant. The "cloud backend" branch is too large and unwieldy to ever be merged into the main line of development (particularly now that the Python 3 porting effort is significantly underway).

If this is a feature, it may be relevant to some future efforts - if they are sufficiently similar to the "cloud backend" effort - but I am still closing it because there are no immediate plans for a new development effort in such a direction.

Tickets related to the "leasedb" are included in this set because the "leasedb" code is in the "cloud backend" branch and fairly well intertwined with the "cloud backend". If there is interest in lease implementation change at some future time then that effort will essentially have to be restarted as well.

The established line of development on the "cloud backend" branch has been abandoned. This ticket is being closed as part of a batch-ticket cleanup for "cloud backend"-related tickets. If this is a bug, it is probably genuinely no longer relevant. The "cloud backend" branch is too large and unwieldy to ever be merged into the main line of development (particularly now that the Python 3 porting effort is significantly underway). If this is a feature, it may be relevant to some future efforts - if they are sufficiently similar to the "cloud backend" effort - but I am still closing it because there are no immediate plans for a new development effort in such a direction. Tickets related to the "leasedb" are included in this set because the "leasedb" code is in the "cloud backend" branch and fairly well intertwined with the "cloud backend". If there is interest in lease implementation change at some future time then that effort will essentially have to be restarted as well.
exarkun added the
wontfix
label 2020-10-30 12:35:44 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Reference: tahoe-lafs/trac-2024-07-25#2866
No description provided.