{"action":"created","issue":{"url":"https://api.github.com/repos/bookchin/kfs/issues/1","repository_url":"https://api.github.com/repos/bookchin/kfs","labels_url":"https://api.github.com/repos/bookchin/kfs/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/bookchin/kfs/issues/1/comments","events_url":"https://api.github.com/repos/bookchin/kfs/issues/1/events","html_url":"https://github.com/bookchin/kfs/issues/1","id":173543088,"number":1,"title":"Author Whitepaper/Specification","user":{"login":"bookchin","id":1188875,"avatar_url":"https://avatars.githubusercontent.com/u/1188875?v=3","gravatar_id":"","url":"https://api.github.com/users/bookchin","html_url":"https://github.com/bookchin","followers_url":"https://api.github.com/users/bookchin/followers","following_url":"https://api.github.com/users/bookchin/following{/other_user}","gists_url":"https://api.github.com/users/bookchin/gists{/gist_id}","starred_url":"https://api.github.com/users/bookchin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bookchin/subscriptions","organizations_url":"https://api.github.com/users/bookchin/orgs","repos_url":"https://api.github.com/users/bookchin/repos","events_url":"https://api.github.com/users/bookchin/events{/privacy}","received_events_url":"https://api.github.com/users/bookchin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/bookchin/kfs/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"bookchin","id":1188875,"avatar_url":"https://avatars.githubusercontent.com/u/1188875?v=3","gravatar_id":"","url":"https://api.github.com/users/bookchin","html_url":"https://github.com/bookchin","followers_url":"https://api.github.com/users/bookchin/followers","following_url":"https://api.github.com/users/bookchin/following{/other_user}","gists_url":"https://api.github.com/users/bookchin/gists{/gist_id}","starred_url":"https://api.github.com/users/bookchin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bookchin/subscriptions","organizations_url":"https://api.github.com/users/bookchin/orgs","repos_url":"https://api.github.com/users/bookchin/repos","events_url":"https://api.github.com/users/bookchin/events{/privacy}","received_events_url":"https://api.github.com/users/bookchin/received_events","type":"User","site_admin":false},"assignees":[{"login":"bookchin","id":1188875,"avatar_url":"https://avatars.githubusercontent.com/u/1188875?v=3","gravatar_id":"","url":"https://api.github.com/users/bookchin","html_url":"https://github.com/bookchin","followers_url":"https://api.github.com/users/bookchin/followers","following_url":"https://api.github.com/users/bookchin/following{/other_user}","gists_url":"https://api.github.com/users/bookchin/gists{/gist_id}","starred_url":"https://api.github.com/users/bookchin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bookchin/subscriptions","organizations_url":"https://api.github.com/users/bookchin/orgs","repos_url":"https://api.github.com/users/bookchin/repos","events_url":"https://api.github.com/users/bookchin/events{/privacy}","received_events_url":"https://api.github.com/users/bookchin/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-08-26T21:02:53Z","updated_at":"2016-08-26T21:55:42Z","closed_at":null,"body":"Here are some notes from the whiteboard:\r\n\r\n![img_20160826_125242](https://cloud.githubusercontent.com/assets/1188875/18020320/d34af12a-6bae-11e6-8726-9054981b40b6.jpg)\r\n\r\n![img_20160826_125248](https://cloud.githubusercontent.com/assets/1188875/18020323/d7678912-6bae-11e6-8960-4177798b073f.jpg)\r\n"},"comment":{"url":"https://api.github.com/repos/bookchin/kfs/issues/comments/242861492","html_url":"https://github.com/bookchin/kfs/issues/1#issuecomment-242861492","issue_url":"https://api.github.com/repos/bookchin/kfs/issues/1","id":242861492,"user":{"login":"1credit","id":7347457,"avatar_url":"https://avatars.githubusercontent.com/u/7347457?v=3","gravatar_id":"","url":"https://api.github.com/users/1credit","html_url":"https://github.com/1credit","followers_url":"https://api.github.com/users/1credit/followers","following_url":"https://api.github.com/users/1credit/following{/other_user}","gists_url":"https://api.github.com/users/1credit/gists{/gist_id}","starred_url":"https://api.github.com/users/1credit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/1credit/subscriptions","organizations_url":"https://api.github.com/users/1credit/orgs","repos_url":"https://api.github.com/users/1credit/repos","events_url":"https://api.github.com/users/1credit/events{/privacy}","received_events_url":"https://api.github.com/users/1credit/received_events","type":"User","site_admin":false},"created_at":"2016-08-26T21:55:42Z","updated_at":"2016-08-26T21:55:42Z","body":"Kneejerk reaction is positive, although I'd probably suggest future proofing it a bit and doubling one of those two constants.  I've already been looking at 10TiB drives...   Note I already have 20TiB available for Storj on (1) server - so would need to run multiple nodes (an OK thing).  On a related note, unless adding multiple CPU nodes is planned soon, most people are going to want to run AT LEAST 1 node per core, so commonly 4 nodes per box.  On the other hand, if each spawned levelDB was given its own process, a large chunk of the multiple CPU usage problem would be solved.\r\n\r\nFragmentation is a concern.  This would set a maximum shard size to 51.2GB.  So long as the loading programs were aware of that, no problem.  It would probably annoy those trying to upload 1TB shards though.  Still, seems like a reasonable restriction.  Other related concern would be shards fragmenting the space:  e.g. if someone uploaded a lot of 40GB shards, 11.2GB would have to be filled by other renters.  Current defaults of 2MB shards with tails would, over time, resolve this.\r\n\r\nStrong positive is the board noted forced distribution of shards.  Math time:  51.2GiB max per renter nodeid * 2000 farmers (all needing to be online) = ~100TiB max upload per renter per bucket - at least until the network grows.  Feels reasonable since that would represent 1000Tib's of data, or 1M seconds (116 days) of upload time if the renter had gigabit internet upload speeds, which most don't.  Might limit some future commercial applications though.  Oh, probably have to divide that by number of mirrors (max of 12 now I believe), so ~10 days of upload.  That is becoming a borderline reasonable effort.\r\n\r\nRelated question:  Can the upload system talk with 2000 farmers all at once???"}}
{"actor":{"display_login":"1credit"}}