[tahoe-lafs-trac-stream] [Tahoe-LAFS] #3048: Direct dependence of storage client code on the RIStorageServer RemoteReference creates tight coupling and inflexibility

Tahoe-LAFS trac at tahoe-lafs.org
Fri May 31 14:50:09 UTC 2019


#3048: Direct dependence of storage client code on the RIStorageServer
RemoteReference creates tight coupling and inflexibility
---------------------+---------------------------
 Reporter:  exarkun  |          Owner:
     Type:  defect   |         Status:  new
 Priority:  normal   |      Milestone:  undecided
Component:  unknown  |        Version:
 Keywords:           |  Launchpad Bug:
---------------------+---------------------------
 `allmydata.storage_client.NativeStorageClient` provides the functionality
 to *get* a `RemoteReference` for the server-published `RIStorageServer`
 but offers little or not abstractions beyond that.

 All storage client application code has `get_rref` and `callRemote` calls
 sprinkled throughout.

 This couples all of that storage client application code tightly to both
 the `RemoteReference` and `RIStorageServer` interfaces.  In turn, this
 makes it difficult to make changes to either of these.

 If we want Tahoe-LAFS to switch to an HTTP-based protocol then tight
 coupling to `RemoteReference` is an undesirable thing.

 If we want to enhance the storage server protocol then tight coupling to
 `RIStoragerServer` is also an undesirable thing.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3048>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


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