Tahoe-LAFS devchat 12-Sep-2017

Attendees: warner, exarkun, liz, simpson, meejah

* exarkun's performance investigations
  * foolscap vs eliot
* bug in publish
  * SDMF publish respects node's k/N for half of the logic, and the
    sharemap's k/N for the other half
  * so you can't modify a mutable file if the default encoding
    parameters have changed
    *
https://github.com/LeastAuthority/tahoe-lafs/blob/publish-error-extra-debugging/src/allmydata/mutable/publish.py#L736
      - respects node configuration via self.required_shares
    *
https://github.com/LeastAuthority/tahoe-lafs/blob/publish-error-extra-debugging/src/allmydata/mutable/publish.py#L878
      - respects servermap state via self.writers (initialised based on
      self.goal initialised via self._servermap.get_known_shares()
* LeastAuthority made a comic explaining tahoe:
  https://leastauthority.com/blog/least-authority-presents-a-new-comic/
  * warner wants something similar for magic-wormhole
* LAE spake2 grant: warner will connect with Watson Ladd to see how the
  RFC process works, loop him into the email thread
* meejah PRs 417 443: no-daemonize, pull config out of Node, refactor
  create-client/create-introducer
  * AppVeyor is sad because of long paths in the test suite
  * Possibly caused by tests changing working directory and not changing
    it back resulting in ever growing temp path names
  * Length limit is 260 on Windows for old-style paths (\\?\ prefix
    increases length limit to 32k)
  * daemonize does os.chdir(), expects that it won't ever return
  * meejah will look into wrapping all these tests with something that
    restores CWD
* basedir in Node should be a twisted FilePath
  * then all file access should be through a child of that FilePath,
    instead of manual os.path.join()
* adding underscore prefixes to private things
  * should _file.py contain _function too? or is the internal privacy
    implied by the file-level privacy?
  * tahoe as embedded library: we're changing the API now anyway
  * duplicity: wraps?
  * matador: simpson likes the idea of having a new namespace
    * the storage-client (daemon) approach lets him have an ambient
      tahoe client running in a kubernetes cluster, for use by all nodes
      * but that implies something about multiple grids vs one-true-grid
* "long-distance" filecaps
  * would it leak which grid you're a part of?
  * maybe model access as rights-amplification: you need two pieces to
    access a file
    * 1: access to a grid with a particular "area code" (grid-id)
    * 2: knowledge of a filecap with that grid-id prefix
  * then grids could choose other access control for the first part
  * or participate in a federation/directory-service system to allow
    anybody to access their grid
  *
*  Performance concerns
  * Profiling is hard
  * Client takes timing measurements
  * Could add an opt-in feature for sending timing information to a
    timing observer
  * Upload/download results object has a timing area in it that's
    probably foolscap copyable
  * If a timing server furl is provided to the client then it could send
    timing information for transfers up to that server
  * Maybe add a checkbox to GridSync for opting into this
  * With client-side-measured transfer timing information it might be
    more clear what complaints of "slow" mean.
  * Brian has lots of ideas about areas where there are possible
    improvements to be made
    * Various ideas about making better use of resources (eg transfer
      pipelining, better CPU/network alternation, etc)
* longer-term directions?
  * shim that speaks memcached as a frontend
  * tahoe-over-IPFS
  * software-as-a-service: should be storing data encrypted, usually
    arent
  * owncloud / RemoteStorage
*

_______________________________________________
tahoe-dev mailing list
tahoe-dev@tahoe-lafs.org
https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev

Reply via email to