{"action":"created","issue":{"url":"https://api.github.com/repos/linkedin/ambry/issues/497","repository_url":"https://api.github.com/repos/linkedin/ambry","labels_url":"https://api.github.com/repos/linkedin/ambry/issues/497/labels{/name}","comments_url":"https://api.github.com/repos/linkedin/ambry/issues/497/comments","events_url":"https://api.github.com/repos/linkedin/ambry/issues/497/events","html_url":"https://github.com/linkedin/ambry/pull/497","id":191357742,"number":497,"title":"Ensure data chunks of a deleted composite blob get deleted","user":{"login":"pnarayanan","id":1454915,"avatar_url":"https://avatars.githubusercontent.com/u/1454915?v=3","gravatar_id":"","url":"https://api.github.com/users/pnarayanan","html_url":"https://github.com/pnarayanan","followers_url":"https://api.github.com/users/pnarayanan/followers","following_url":"https://api.github.com/users/pnarayanan/following{/other_user}","gists_url":"https://api.github.com/users/pnarayanan/gists{/gist_id}","starred_url":"https://api.github.com/users/pnarayanan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pnarayanan/subscriptions","organizations_url":"https://api.github.com/users/pnarayanan/orgs","repos_url":"https://api.github.com/users/pnarayanan/repos","events_url":"https://api.github.com/users/pnarayanan/events{/privacy}","received_events_url":"https://api.github.com/users/pnarayanan/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"vgkholla","id":288834,"avatar_url":"https://avatars.githubusercontent.com/u/288834?v=3","gravatar_id":"","url":"https://api.github.com/users/vgkholla","html_url":"https://github.com/vgkholla","followers_url":"https://api.github.com/users/vgkholla/followers","following_url":"https://api.github.com/users/vgkholla/following{/other_user}","gists_url":"https://api.github.com/users/vgkholla/gists{/gist_id}","starred_url":"https://api.github.com/users/vgkholla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vgkholla/subscriptions","organizations_url":"https://api.github.com/users/vgkholla/orgs","repos_url":"https://api.github.com/users/vgkholla/repos","events_url":"https://api.github.com/users/vgkholla/events{/privacy}","received_events_url":"https://api.github.com/users/vgkholla/received_events","type":"User","site_admin":false},"assignees":[{"login":"vgkholla","id":288834,"avatar_url":"https://avatars.githubusercontent.com/u/288834?v=3","gravatar_id":"","url":"https://api.github.com/users/vgkholla","html_url":"https://github.com/vgkholla","followers_url":"https://api.github.com/users/vgkholla/followers","following_url":"https://api.github.com/users/vgkholla/following{/other_user}","gists_url":"https://api.github.com/users/vgkholla/gists{/gist_id}","starred_url":"https://api.github.com/users/vgkholla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vgkholla/subscriptions","organizations_url":"https://api.github.com/users/vgkholla/orgs","repos_url":"https://api.github.com/users/vgkholla/repos","events_url":"https://api.github.com/users/vgkholla/events{/privacy}","received_events_url":"https://api.github.com/users/vgkholla/received_events","type":"User","site_admin":false},{"login":"xiahome","id":8271368,"avatar_url":"https://avatars.githubusercontent.com/u/8271368?v=3","gravatar_id":"","url":"https://api.github.com/users/xiahome","html_url":"https://github.com/xiahome","followers_url":"https://api.github.com/users/xiahome/followers","following_url":"https://api.github.com/users/xiahome/following{/other_user}","gists_url":"https://api.github.com/users/xiahome/gists{/gist_id}","starred_url":"https://api.github.com/users/xiahome/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xiahome/subscriptions","organizations_url":"https://api.github.com/users/xiahome/orgs","repos_url":"https://api.github.com/users/xiahome/repos","events_url":"https://api.github.com/users/xiahome/events{/privacy}","received_events_url":"https://api.github.com/users/xiahome/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2016-11-23T19:10:48Z","updated_at":"2016-12-06T21:28:05Z","closed_at":"2016-12-06T02:55:12Z","pull_request":{"url":"https://api.github.com/repos/linkedin/ambry/pulls/497","html_url":"https://github.com/linkedin/ambry/pull/497","diff_url":"https://github.com/linkedin/ambry/pull/497.diff","patch_url":"https://github.com/linkedin/ambry/pull/497.patch"},"body":"Create a special OperationController that is responsible for\r\nhandling background delete operations in the router. Background\r\ndeletes are not latency sensitive and are best-effort. This\r\nOperationController will use its own resources so as to not\r\ninterfere with regular operations.\r\n\r\nFixes #298 (approach described in [this](https://github.com/linkedin/ambry/issues/298#issuecomment-262604991) comment)\r\n\r\nCoverage information (relevant newly added code is getting covered):\r\n\r\n```\r\nDeleteManager                   100% (2/ 2)     100% (11/ 11)   92.8% (77/ 83)\r\nDeleteOperation                 100% (3/ 3)     100% (21/ 21)   95.4% (103/ 108)\r\nFutureResult                    100% (1/ 1)     84.6% (11/ 13)  86.4% (19/ 22)\r\nGetBlobInfoOperation            100% (2/ 2)     92.9% (13/ 14)  89.2% (99/ 111)\r\nGetBlobOperation                100% (7/ 7)     98.1% (52/ 53)  94.2% (307/ 326)\r\nGetBlobOptionsInternal          100% (1/ 1)     100% (1/ 1)     100% (3/ 3)\r\nGetBlobResult                   100% (1/ 1)     100% (3/ 3)     100% (5/ 5)\r\nGetBlobResultInternal           100% (1/ 1)     100% (1/ 1)     100% (3/ 3)\r\nGetManager                      100% (2/ 2)     100% (12/ 12)   87% (67/ 77)\r\nGetOperation                    100% (1/ 1)     100% (10/ 10)   100% (29/ 29)\r\nGetRequestInfo                  100% (1/ 1)     100% (1/ 1)     100% (3/ 3)\r\nNonBlockingRouter               100% (8/ 8)     97.4% (38/ 39)  83.2% (178/ 214)\r\nNonBlockingRouterFactory        100% (1/ 1)     100% (3/ 3)     87% (20/ 23)\r\nNonBlockingRouterMetrics        100% (7/ 7)     81% (17/ 21)    93.7% (149/ 159)\r\nOperationCompleteCallback       100% (1/ 1)     100% (3/ 3)     100% (11/ 11)\r\n```"},"comment":{"url":"https://api.github.com/repos/linkedin/ambry/issues/comments/265277873","html_url":"https://github.com/linkedin/ambry/pull/497#issuecomment-265277873","issue_url":"https://api.github.com/repos/linkedin/ambry/issues/497","id":265277873,"user":{"login":"xiahome","id":8271368,"avatar_url":"https://avatars.githubusercontent.com/u/8271368?v=3","gravatar_id":"","url":"https://api.github.com/users/xiahome","html_url":"https://github.com/xiahome","followers_url":"https://api.github.com/users/xiahome/followers","following_url":"https://api.github.com/users/xiahome/following{/other_user}","gists_url":"https://api.github.com/users/xiahome/gists{/gist_id}","starred_url":"https://api.github.com/users/xiahome/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xiahome/subscriptions","organizations_url":"https://api.github.com/users/xiahome/orgs","repos_url":"https://api.github.com/users/xiahome/repos","events_url":"https://api.github.com/users/xiahome/events{/privacy}","received_events_url":"https://api.github.com/users/xiahome/received_events","type":"User","site_admin":false},"created_at":"2016-12-06T21:28:05Z","updated_at":"2016-12-06T21:28:05Z","body":"LGTM. sorry a bit late."}}
{"actor":{"display_login":"xiahome"}}