Changes between Initial Version and Version 1 of Ticket #1869, comment 4


Ignore:
Timestamp:
2013-04-23T22:53:59Z (12 years ago)
Author:
daira
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1869, comment 4

    initial v1  
    1 Okay, I think I understand how this will work now. We'll have a !WeakValueDictionary of !DeferredLocks, indexed by storage index, in each backend object. The lock object will be passed on to !ShareSet, !BucketReader, and !BucketWriter objects for that SI, and will be used to lock the remote operations. (Most of this can be done generically without only minimal support in the backend-specific objects.)
     1Okay, I think I understand how this will work now. We'll have a !WeakValueDictionary of !DeferredLocks, indexed by storage index, in each backend object. The lock object will be passed on to !ShareSet, !BucketReader, and !BucketWriter objects for that SI, and will be used to lock the remote operations. (Most of this can be done generically with only minimal support in the backend-specific objects.)
    22
    33A subtle complication is that because the locks are associated with sharesets, the {{{get_sharesets_for_prefix}}} method on a backend needs to have a rather weak specification: