{"action":"created","issue":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/31227","repository_url":"https://api.github.com/repos/cockroachdb/cockroach","labels_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/31227/labels{/name}","comments_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/31227/comments","events_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/31227/events","html_url":"https://github.com/cockroachdb/cockroach/pull/31227","id":368883478,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIxOTU1MTYy","number":31227,"title":"storage: Jitter the StoreRebalancer loop's timing","user":{"login":"a-robinson","id":7085343,"node_id":"MDQ6VXNlcjcwODUzNDM=","avatar_url":"https://avatars3.githubusercontent.com/u/7085343?v=4","gravatar_id":"","url":"https://api.github.com/users/a-robinson","html_url":"https://github.com/a-robinson","followers_url":"https://api.github.com/users/a-robinson/followers","following_url":"https://api.github.com/users/a-robinson/following{/other_user}","gists_url":"https://api.github.com/users/a-robinson/gists{/gist_id}","starred_url":"https://api.github.com/users/a-robinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-robinson/subscriptions","organizations_url":"https://api.github.com/users/a-robinson/orgs","repos_url":"https://api.github.com/users/a-robinson/repos","events_url":"https://api.github.com/users/a-robinson/events{/privacy}","received_events_url":"https://api.github.com/users/a-robinson/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-10-10T22:40:18Z","updated_at":"2018-10-11T17:19:37Z","closed_at":"2018-10-11T15:25:20Z","author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/cockroachdb/cockroach/pulls/31227","html_url":"https://github.com/cockroachdb/cockroach/pull/31227","diff_url":"https://github.com/cockroachdb/cockroach/pull/31227.diff","patch_url":"https://github.com/cockroachdb/cockroach/pull/31227.patch"},"body":"Release note: None\r\n\r\nJust as a best practice. It may make failures like https://github.com/cockroachdb/cockroach/issues/31006 even less likely, although it's hard to say for sure."},"comment":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/comments/429042570","html_url":"https://github.com/cockroachdb/cockroach/pull/31227#issuecomment-429042570","issue_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/31227","id":429042570,"node_id":"MDEyOklzc3VlQ29tbWVudDQyOTA0MjU3MA==","user":{"login":"a-robinson","id":7085343,"node_id":"MDQ6VXNlcjcwODUzNDM=","avatar_url":"https://avatars3.githubusercontent.com/u/7085343?v=4","gravatar_id":"","url":"https://api.github.com/users/a-robinson","html_url":"https://github.com/a-robinson","followers_url":"https://api.github.com/users/a-robinson/followers","following_url":"https://api.github.com/users/a-robinson/following{/other_user}","gists_url":"https://api.github.com/users/a-robinson/gists{/gist_id}","starred_url":"https://api.github.com/users/a-robinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-robinson/subscriptions","organizations_url":"https://api.github.com/users/a-robinson/orgs","repos_url":"https://api.github.com/users/a-robinson/repos","events_url":"https://api.github.com/users/a-robinson/events{/privacy}","received_events_url":"https://api.github.com/users/a-robinson/received_events","type":"User","site_admin":false},"created_at":"2018-10-11T17:19:37Z","updated_at":"2018-10-11T17:19:37Z","author_association":"MEMBER","body":"I don't think it would ever get persistently stuck given that the goal for the `StoreRebalancer` is to rebalance the store within one or two rounds of work, but due to delays in propagating information about the number of replicas and load on each store, running store x's rebalancer right after store y's means that store x probably doesn't know about any changes that may have been triggered by store y. If both store x and store y need a few rounds of changes, this means that all x's decisions may be suboptimal for multiple minutes, rather than just for a subset of those rounds.\r\n\r\ntl;dr It might reduce flakiness of the rebalance-replicas-by-load roachtest (since that only has 5 minutes to succeed), and it might allow load to rebalance more quickly in edge cases in a real cluster where multiple stores are overloaded, and it's generally just good practice. It's not solving any big problems."}}
{"actor":{"display_login":"a-robinson"}}