{"action":"created","issue":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/10665","repository_url":"https://api.github.com/repos/cockroachdb/cockroach","labels_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/10665/labels{/name}","comments_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/10665/comments","events_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/10665/events","html_url":"https://github.com/cockroachdb/cockroach/pull/10665","id":189005941,"number":10665,"title":"kv: keep replica queue last process times to limit processing","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":"bdarnell","id":160562,"avatar_url":"https://avatars.githubusercontent.com/u/160562?v=3","gravatar_id":"","url":"https://api.github.com/users/bdarnell","html_url":"https://github.com/bdarnell","followers_url":"https://api.github.com/users/bdarnell/followers","following_url":"https://api.github.com/users/bdarnell/following{/other_user}","gists_url":"https://api.github.com/users/bdarnell/gists{/gist_id}","starred_url":"https://api.github.com/users/bdarnell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdarnell/subscriptions","organizations_url":"https://api.github.com/users/bdarnell/orgs","repos_url":"https://api.github.com/users/bdarnell/repos","events_url":"https://api.github.com/users/bdarnell/events{/privacy}","received_events_url":"https://api.github.com/users/bdarnell/received_events","type":"User","site_admin":false},"assignees":[{"login":"bdarnell","id":160562,"avatar_url":"https://avatars.githubusercontent.com/u/160562?v=3","gravatar_id":"","url":"https://api.github.com/users/bdarnell","html_url":"https://github.com/bdarnell","followers_url":"https://api.github.com/users/bdarnell/followers","following_url":"https://api.github.com/users/bdarnell/following{/other_user}","gists_url":"https://api.github.com/users/bdarnell/gists{/gist_id}","starred_url":"https://api.github.com/users/bdarnell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdarnell/subscriptions","organizations_url":"https://api.github.com/users/bdarnell/orgs","repos_url":"https://api.github.com/users/bdarnell/repos","events_url":"https://api.github.com/users/bdarnell/events{/privacy}","received_events_url":"https://api.github.com/users/bdarnell/received_events","type":"User","site_admin":false}],"milestone":null,"comments":22,"created_at":"2016-11-14T00:12:52Z","updated_at":"2016-11-29T16:29:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cockroachdb/cockroach/pulls/10665","html_url":"https://github.com/cockroachdb/cockroach/pull/10665","diff_url":"https://github.com/cockroachdb/cockroach/pull/10665.diff","patch_url":"https://github.com/cockroachdb/cockroach/pull/10665.patch"},"body":"After watching the time series processing spam my logs for the\r\n1000th time, seemed like a good time to add in reasonable limits\r\nfor how frequently some queues can process a given range/replica.\r\n\r\nA new `QueueState` proto keeps track of all last-processed times\r\nfor queues which acquire the leader lease. This is used to\r\ndetermine whether a replica should be added (the last processed\r\ntime is compared to the minimum interval between processings).\r\nSince `QueueState` is replicated, it's a local range key (same\r\nas transaction and range descriptor keys). Because I didn't want\r\nto deal with the chance of intents during splits and merges,\r\nthis is an inline (non-MVCC) value. In order to make concurrent\r\nupdates safe, it was necessary to add an inline version of\r\n`ConditionalPut`.\r\n\r\nChanged the time series pruning to use a single batch. Is there\r\nsome reason this wasn't being done before? The TODO in the code\r\ndoesn't have complete information, nor does the issue containing\r\nthe RFC. Changing it to a single batch seems to work fine.b*scr\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/10665)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/comments/263620720","html_url":"https://github.com/cockroachdb/cockroach/pull/10665#issuecomment-263620720","issue_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/10665","id":263620720,"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},"created_at":"2016-11-29T16:29:18Z","updated_at":"2016-11-29T16:29:18Z","body":"@bdarnell ping"}}
{"actor":{"display_login":"spencerkimball"}}