Skip to content
This repository has been archived by the owner on Oct 30, 2018. It is now read-only.

Implement SIP9 #136

Merged
merged 25 commits into from
May 3, 2018
Merged

Implement SIP9 #136

merged 25 commits into from
May 3, 2018

Commits on Apr 19, 2018

  1. Sketch out new model

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    84bca06 View commit details
    Browse the repository at this point in the history
  2. Add to model

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    312fc79 View commit details
    Browse the repository at this point in the history
  3. Switch to reference based on frame

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    4cb43bb View commit details
    Browse the repository at this point in the history
  4. Update model

    - Have users be an array. Mirror storage events of a shard that multiple users
      have uploaded will have multiple users interested. This will provide an ability
      to track how long the mirror should be held. When one user deletes the shard,
      the user will be removed from the storage event. When there is only one user
      the storeEnd will be updated to terminate the storage of the shard.
    - Seperate user and client, thus it's possible to have a client and user
      for mirror actions, so that it's possible to query storage events of mirrors
      by a user.
    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    a4a5fd2 View commit details
    Browse the repository at this point in the history
  5. Handle mirroring case

    - Mirrors will be created without a user and only a client
    - Queries can fold all storage events based on the hash and determine all users and storage time frames
    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    6c97299 View commit details
    Browse the repository at this point in the history
  6. Remove duplicate data

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    0f08f6d View commit details
    Browse the repository at this point in the history
  7. Fix syntax errors, and update tests

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    8fb13fa View commit details
    Browse the repository at this point in the history
  8. User not required

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    808a24b View commit details
    Browse the repository at this point in the history
  9. Validate false values: null, undefined as valid

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    4a48a36 View commit details
    Browse the repository at this point in the history
  10. Add cron model

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    58d6151 View commit details
    Browse the repository at this point in the history
  11. Add finished time

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    11dffa6 View commit details
    Browse the repository at this point in the history
  12. Add locking to cron model

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    48f535a View commit details
    Browse the repository at this point in the history
  13. Add method to user to track unknown exchange report rates

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    e5e9e37 View commit details
    Browse the repository at this point in the history
  14. Add method for checking unknown reporting rates

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    9ea84ac View commit details
    Browse the repository at this point in the history
  15. Add unlock to cron, and fix user tests

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    8c9bf20 View commit details
    Browse the repository at this point in the history
  16. Export CronJob

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    604272f View commit details
    Browse the repository at this point in the history
  17. Include bytes in total rates

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    984cf4f View commit details
    Browse the repository at this point in the history
  18. Increase window from 24 hours to 72 hours

    ```
    z = 0.9999 // target percentage
    y = 5 // number of nodes
    z = 0.841510681 // node percentage
    --------
    1 - ((1 - x) ^ y) = z
    --------
    1 = z + ((1 - x) ^ y)
    --------
    1 - z = (1 - x) ^ y
    --------
    (1 - z) ^ 1/y = 1 - x
    --------
    1 - ((1 - z) ^ 1/y) = x
    --------
    ```
    
    Meeting notes:
    https://github.com/Storj/dev-meetings/blob/master/2017-12-06-summary.md
    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    373cf43 View commit details
    Browse the repository at this point in the history
  19. Update test

    Braydon Fuller committed Apr 19, 2018
    Configuration menu
    Copy the full SHA
    734ad45 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2018

  1. Configuration menu
    Copy the full SHA
    825881a View commit details
    Browse the repository at this point in the history
  2. Added processed to storage event

    This is to make sure that the cron service is able to not repeat
    proccessing over storage events that have already been processed.
    While this doesn't cause an issue with resolving the event, it will
    contribute to incorrect rates of reports being saved to the user,
    in the case that an event is process more than one time.
    Braydon Fuller committed May 2, 2018
    Configuration menu
    Copy the full SHA
    8631788 View commit details
    Browse the repository at this point in the history
  3. Correctly record bytes for both unknown and known reports

    Braydon Fuller committed May 2, 2018
    Configuration menu
    Copy the full SHA
    7f906a6 View commit details
    Browse the repository at this point in the history
  4. Refactor to use only one timestamp

    We were already updating both timestamps at the same time anyways so
    having two values was unnecessary.
    Braydon Fuller committed May 2, 2018
    Configuration menu
    Copy the full SHA
    b24a819 View commit details
    Browse the repository at this point in the history
  5. Reset the timeoutRate when there are successful responses

    Braydon Fuller committed May 2, 2018
    Configuration menu
    Copy the full SHA
    21c945b View commit details
    Browse the repository at this point in the history
  6. Optimize reset of timeoutRate

    Braydon Fuller committed May 2, 2018
    Configuration menu
    Copy the full SHA
    4427847 View commit details
    Browse the repository at this point in the history