Implement Replication layer #417

Open
yaronyg opened this Issue Jan 7, 2016 · 2 comments

Comments

Projects
None yet
1 participant
@yaronyg
Member

yaronyg commented Jan 7, 2016

Depends on #317

@yaronyg yaronyg added 0 - Icebox and removed 0 - Icebox labels Jan 7, 2016

@yaronyg yaronyg added this to the New Infra milestone Jan 11, 2016

@yaronyg yaronyg added 3 - Working and removed 1 - Backlog labels Jan 25, 2016

@yaronyg yaronyg self-assigned this Jan 25, 2016

@yaronyg

This comment has been minimized.

Show comment
Hide comment
@yaronyg

yaronyg Jan 25, 2016

Member

thaliSendNotificationBasedOnReplication

  • Look in _Local/<peerID> to find the last sync sequence numbers for the people on our lookup list
  • Set timer to check for changes to the DB
  • Put logic in timer to check if beacons have expired
  • Add in distinction between foreground and background update rates
  • Limit the number of peers we notify
  • Generate Notification beacons

thaliPullReplicationFromNotification

thaliReplicationPeerAction

  • Figure out how to properly handle setting the sequence we have updated to
  • Set logic to send an update based on a change event but rate limited based on the pushLastSyncUpdateMilliseconds value
  • Set our change watcher to make sure we kill a connection once no useful work is happening
  • Set up the actual replication
  • Handle all the events off the replication
  • Figure out how to translate the replication errors into the smaller set of errors that start is
    supposed to return to the peer pool manager
  • Support kill properly
  • Figure out why testThaliReplicationPeerAction doesn't exit at the end
Member

yaronyg commented Jan 25, 2016

thaliSendNotificationBasedOnReplication

  • Look in _Local/<peerID> to find the last sync sequence numbers for the people on our lookup list
  • Set timer to check for changes to the DB
  • Put logic in timer to check if beacons have expired
  • Add in distinction between foreground and background update rates
  • Limit the number of peers we notify
  • Generate Notification beacons

thaliPullReplicationFromNotification

thaliReplicationPeerAction

  • Figure out how to properly handle setting the sequence we have updated to
  • Set logic to send an update based on a change event but rate limited based on the pushLastSyncUpdateMilliseconds value
  • Set our change watcher to make sure we kill a connection once no useful work is happening
  • Set up the actual replication
  • Handle all the events off the replication
  • Figure out how to translate the replication errors into the smaller set of errors that start is
    supposed to return to the peer pool manager
  • Support kill properly
  • Figure out why testThaliReplicationPeerAction doesn't exit at the end

@yaronyg yaronyg added 2 - Ready and removed 3 - Working labels Feb 19, 2016

@yaronyg yaronyg added 3 - Working and removed 2 - Ready labels Feb 26, 2016

@yaronyg yaronyg added 3 - Working and removed 2 - Ready labels Apr 6, 2016

@yaronyg yaronyg added 2 - Ready and removed 3 - Working labels May 4, 2016

@yaronyg yaronyg added 3 - Working and removed 2 - Ready labels May 13, 2016

@yaronyg yaronyg added 2 - Ready and removed 3 - Working labels Jun 7, 2016

@yaronyg yaronyg added 3 - Working and removed 2 - Ready labels Jun 22, 2016

@yaronyg

This comment has been minimized.

Show comment
Hide comment
@yaronyg

yaronyg Jun 24, 2016

Member

This work is done. I'm just blocked on pouchdb/pouchdb#5114 which I have a proposed resolution to and pouchdb/express-pouchdb#329 which I can't check in until we get the build system for express-pouchdb back up and running.

Member

yaronyg commented Jun 24, 2016

This work is done. I'm just blocked on pouchdb/pouchdb#5114 which I have a proposed resolution to and pouchdb/express-pouchdb#329 which I can't check in until we get the build system for express-pouchdb back up and running.

@yaronyg yaronyg added 2 - Ready and removed 3 - Working labels Jul 22, 2016

@yaronyg yaronyg removed their assignment Aug 23, 2016

@yaronyg yaronyg added bug Node and removed 2 - Ready labels Oct 6, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment