{"action":"created","issue":{"url":"https://api.github.com/repos/ssbc/scuttlebot/issues/261","labels_url":"https://api.github.com/repos/ssbc/scuttlebot/issues/261/labels{/name}","comments_url":"https://api.github.com/repos/ssbc/scuttlebot/issues/261/comments","events_url":"https://api.github.com/repos/ssbc/scuttlebot/issues/261/events","html_url":"https://github.com/ssbc/scuttlebot/pull/261","id":116704826,"number":261,"title":"tracking: quota based blob replication","user":{"login":"dominictarr","id":259374,"avatar_url":"https://avatars.githubusercontent.com/u/259374?v=3","gravatar_id":"","url":"https://api.github.com/users/dominictarr","html_url":"https://github.com/dominictarr","followers_url":"https://api.github.com/users/dominictarr/followers","following_url":"https://api.github.com/users/dominictarr/following{/other_user}","gists_url":"https://api.github.com/users/dominictarr/gists{/gist_id}","starred_url":"https://api.github.com/users/dominictarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dominictarr/subscriptions","organizations_url":"https://api.github.com/users/dominictarr/orgs","repos_url":"https://api.github.com/users/dominictarr/repos","events_url":"https://api.github.com/users/dominictarr/events{/privacy}","received_events_url":"https://api.github.com/users/dominictarr/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-11-13T05:51:37Z","updated_at":"2015-11-30T23:28:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ssbc/scuttlebot/pulls/261","html_url":"https://github.com/ssbc/scuttlebot/pull/261","diff_url":"https://github.com/ssbc/scuttlebot/pull/261.diff","patch_url":"https://github.com/ssbc/scuttlebot/pull/261.patch"},"body":"This change calculates blob disk usage per feed. If multiple feeds link to a blob, it's size is split between all the linkers. Then, there is a very crude cutoff. if you don't follow that feed they are allowed 20mb. I certainly think we could improve on that, but this gets us closer.\r\n\r\nI also refactored blob replication so that it's based around an explicit queue structure. There is a separate queue per job (check if peers have something, and then get that thing) this means each of those jobs can be managed separately (has is quite light work, but getting is heavy). jobs move between queues (normally `has -> get`, but if `get` was an error, then back to `has`)\r\n\r\nAnd it's easier to see what is going on. queue.js could probably be it's own module, but what it does isn't interesting enough yet.\r\n"},"comment":{"url":"https://api.github.com/repos/ssbc/scuttlebot/issues/comments/160797035","html_url":"https://github.com/ssbc/scuttlebot/pull/261#issuecomment-160797035","issue_url":"https://api.github.com/repos/ssbc/scuttlebot/issues/261","id":160797035,"user":{"login":"dominictarr","id":259374,"avatar_url":"https://avatars.githubusercontent.com/u/259374?v=3","gravatar_id":"","url":"https://api.github.com/users/dominictarr","html_url":"https://github.com/dominictarr","followers_url":"https://api.github.com/users/dominictarr/followers","following_url":"https://api.github.com/users/dominictarr/following{/other_user}","gists_url":"https://api.github.com/users/dominictarr/gists{/gist_id}","starred_url":"https://api.github.com/users/dominictarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dominictarr/subscriptions","organizations_url":"https://api.github.com/users/dominictarr/orgs","repos_url":"https://api.github.com/users/dominictarr/repos","events_url":"https://api.github.com/users/dominictarr/events{/privacy}","received_events_url":"https://api.github.com/users/dominictarr/received_events","type":"User","site_admin":false},"created_at":"2015-11-30T23:28:50Z","updated_at":"2015-11-30T23:28:50Z","body":"well I was seeing some images not load that i thought should be (not as broken images but just not there)\r\n\r\ndoes patchwork have a thing to fix the broken links when it does load?"}}