[tahoe-lafs-trac-stream] [tahoe-lafs] #1833: storage server deletes garbage shares itself instead of waiting for crawler to notice them

tahoe-lafs trac at tahoe-lafs.org
Mon May 27 20:27:59 UTC 2013


#1833: storage server deletes garbage shares itself instead of waiting for crawler
to notice them
-------------------------+-------------------------------------------------
     Reporter:  zooko    |      Owner:
         Type:           |     Status:  new
  enhancement            |  Milestone:  undecided
     Priority:  normal   |    Version:  1.9.2
    Component:  code-    |   Keywords:  leases garbage-collection
  storage                |  accounting
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Old description:

> Currently, the "lease crawler" or "accounting crawler" is responsible for
> deleting shares that have lost all their leases (by cancellation or
> expiry).
>
> I propose that this be done instead by the storage server maintaining a
> persistent set of shares to be deleted. When lease-updating step (which,
> in #666, is synchronous and fast) has identified a share that has no more
> leases, the share's id gets added to the persistent set of shares to
> delete. A long-running, persistent, duty-cycle-limited processes deletes
> those shares from the backend and removes their ids from the set of
> shares-to-delete. This is cleaner and more efficient than using a
> crawler, which has to visit ''all'' shares and which never stops
> twitching, since this has to visit only shares that have been marked as
> to-delete, and it quiesces when there is nothing to delete.
>
> This is part of an "overarching ticket" to eliminate most uses of crawler
> — ticket #1834.

New description:

 Currently, the "lease crawler" or "accounting crawler" is responsible for
 deleting shares that have lost all their leases (by cancellation or
 expiry).

 I propose that this be done instead by the storage server maintaining a
 persistent set of shares to be deleted. When lease-updating step (which,
 in #666, is synchronous and fast) has identified a share that has no more
 leases, the share's id gets added to the persistent set of shares to
 delete. A long-running, persistent, duty-cycle-limited processes deletes
 those shares from the backend and removes their ids from the set of
 shares-to-delete. This is cleaner and more efficient than using a crawler,
 which has to visit ''all'' shares and which never stops twitching, since
 this has to visit only shares that have been marked as to-delete, and it
 quiesces when there is nothing to delete.

 This is part of an "overarching ticket" to eliminate most uses of crawler
 — ticket #1834.

--

Comment (by zooko):

 This would fix #1987.

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1833#comment:4>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list