{"action":"created","issue":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/12528","repository_url":"https://api.github.com/repos/cockroachdb/cockroach","labels_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/12528/labels{/name}","comments_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/12528/comments","events_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/12528/events","html_url":"https://github.com/cockroachdb/cockroach/pull/12528","id":196947371,"number":12528,"title":"storage: add a callback to StorePool for store status updates","user":{"login":"spencerkimball","id":6147149,"avatar_url":"https://avatars.githubusercontent.com/u/6147149?v=3","gravatar_id":"","url":"https://api.github.com/users/spencerkimball","html_url":"https://github.com/spencerkimball","followers_url":"https://api.github.com/users/spencerkimball/followers","following_url":"https://api.github.com/users/spencerkimball/following{/other_user}","gists_url":"https://api.github.com/users/spencerkimball/gists{/gist_id}","starred_url":"https://api.github.com/users/spencerkimball/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spencerkimball/subscriptions","organizations_url":"https://api.github.com/users/spencerkimball/orgs","repos_url":"https://api.github.com/users/spencerkimball/repos","events_url":"https://api.github.com/users/spencerkimball/events{/privacy}","received_events_url":"https://api.github.com/users/spencerkimball/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"petermattis","id":6201335,"avatar_url":"https://avatars.githubusercontent.com/u/6201335?v=3","gravatar_id":"","url":"https://api.github.com/users/petermattis","html_url":"https://github.com/petermattis","followers_url":"https://api.github.com/users/petermattis/followers","following_url":"https://api.github.com/users/petermattis/following{/other_user}","gists_url":"https://api.github.com/users/petermattis/gists{/gist_id}","starred_url":"https://api.github.com/users/petermattis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petermattis/subscriptions","organizations_url":"https://api.github.com/users/petermattis/orgs","repos_url":"https://api.github.com/users/petermattis/repos","events_url":"https://api.github.com/users/petermattis/events{/privacy}","received_events_url":"https://api.github.com/users/petermattis/received_events","type":"User","site_admin":false},"assignees":[{"login":"petermattis","id":6201335,"avatar_url":"https://avatars.githubusercontent.com/u/6201335?v=3","gravatar_id":"","url":"https://api.github.com/users/petermattis","html_url":"https://github.com/petermattis","followers_url":"https://api.github.com/users/petermattis/followers","following_url":"https://api.github.com/users/petermattis/following{/other_user}","gists_url":"https://api.github.com/users/petermattis/gists{/gist_id}","starred_url":"https://api.github.com/users/petermattis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petermattis/subscriptions","organizations_url":"https://api.github.com/users/petermattis/orgs","repos_url":"https://api.github.com/users/petermattis/repos","events_url":"https://api.github.com/users/petermattis/events{/privacy}","received_events_url":"https://api.github.com/users/petermattis/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-12-21T14:35:21Z","updated_at":"2016-12-21T15:00:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cockroachdb/cockroach/pulls/12528","html_url":"https://github.com/cockroachdb/cockroach/pull/12528","diff_url":"https://github.com/cockroachdb/cockroach/pull/12528.diff","patch_url":"https://github.com/cockroachdb/cockroach/pull/12528.patch"},"body":"This prevents busy purgatory checks for the replicate queue on every\r\nnode liveness heartbeat. However, we still do the check on the\r\nperiodic node status updates, which happen once a minute by default.\r\n\r\nFixes #12298\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/cockroachdb/cockroach/12528)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/comments/268543477","html_url":"https://github.com/cockroachdb/cockroach/pull/12528#issuecomment-268543477","issue_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/12528","id":268543477,"user":{"login":"petermattis","id":6201335,"avatar_url":"https://avatars.githubusercontent.com/u/6201335?v=3","gravatar_id":"","url":"https://api.github.com/users/petermattis","html_url":"https://github.com/petermattis","followers_url":"https://api.github.com/users/petermattis/followers","following_url":"https://api.github.com/users/petermattis/following{/other_user}","gists_url":"https://api.github.com/users/petermattis/gists{/gist_id}","starred_url":"https://api.github.com/users/petermattis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petermattis/subscriptions","organizations_url":"https://api.github.com/users/petermattis/orgs","repos_url":"https://api.github.com/users/petermattis/repos","events_url":"https://api.github.com/users/petermattis/events{/privacy}","received_events_url":"https://api.github.com/users/petermattis/received_events","type":"User","site_admin":false},"created_at":"2016-12-21T15:00:42Z","updated_at":"2016-12-21T15:00:42Z","body":"<img class=\"emoji\" title=\":lgtm:\" alt=\":lgtm:\" align=\"absmiddle\" src=\"https://reviewable.io/lgtm.png\" height=\"20\" width=\"61\"/>\n\n---\n\nReview status: 0 of 3 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.\n\n---\n\n*[pkg/storage/store_pool.go, line 266 at r1](https://reviewable.io:443/reviews/cockroachdb/cockroach/12528#-KZWt6iddBCJswqOmu8A:-KZWt6iddBCJswqOmu8B:b-idheeh) ([raw file](https://github.com/cockroachdb/cockroach/blob/87886a504f49b85506c87bccfc90062773a89918/pkg/storage/store_pool.go#L266)):*\n> ```Go\n> \tfor _, cb := range sp.mu.callbacks {\n> \t\tcb(detail.desc, status)\n> \t}\n> ```\n\nAre there any locking concerns with invoking the callbacks while holding `StorePool.mu`?\n\n---\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/cockroachdb/cockroach/12528#-:-KZWtVSY-KPOrB4QsoqA:bnfp4nl)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"petermattis"}}