{"action":"created","issue":{"url":"https://api.github.com/repos/scylladb/scylla/issues/3709","repository_url":"https://api.github.com/repos/scylladb/scylla","labels_url":"https://api.github.com/repos/scylladb/scylla/issues/3709/labels{/name}","comments_url":"https://api.github.com/repos/scylladb/scylla/issues/3709/comments","events_url":"https://api.github.com/repos/scylladb/scylla/issues/3709/events","html_url":"https://github.com/scylladb/scylla/issues/3709","id":352525075,"node_id":"MDU6SXNzdWUzNTI1MjUwNzU=","number":3709,"title":" Don't recalculate the list of replicas to send the requests to on every page if their status doesn't change","user":{"login":"denesb","id":1389273,"node_id":"MDQ6VXNlcjEzODkyNzM=","avatar_url":"https://avatars2.githubusercontent.com/u/1389273?v=4","gravatar_id":"","url":"https://api.github.com/users/denesb","html_url":"https://github.com/denesb","followers_url":"https://api.github.com/users/denesb/followers","following_url":"https://api.github.com/users/denesb/following{/other_user}","gists_url":"https://api.github.com/users/denesb/gists{/gist_id}","starred_url":"https://api.github.com/users/denesb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/denesb/subscriptions","organizations_url":"https://api.github.com/users/denesb/orgs","repos_url":"https://api.github.com/users/denesb/repos","events_url":"https://api.github.com/users/denesb/events{/privacy}","received_events_url":"https://api.github.com/users/denesb/received_events","type":"User","site_admin":false},"labels":[{"id":246224279,"node_id":"MDU6TGFiZWwyNDYyMjQyNzk=","url":"https://api.github.com/repos/scylladb/scylla/labels/performance","name":"performance","color":"bfe5bf","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/scylladb/scylla/milestones/22","html_url":"https://github.com/scylladb/scylla/milestone/22","labels_url":"https://api.github.com/repos/scylladb/scylla/milestones/22/labels","id":2263646,"node_id":"MDk6TWlsZXN0b25lMjI2MzY0Ng==","number":22,"title":"x-ray","description":"","creator":{"login":"slivne","id":3465480,"node_id":"MDQ6VXNlcjM0NjU0ODA=","avatar_url":"https://avatars0.githubusercontent.com/u/3465480?v=4","gravatar_id":"","url":"https://api.github.com/users/slivne","html_url":"https://github.com/slivne","followers_url":"https://api.github.com/users/slivne/followers","following_url":"https://api.github.com/users/slivne/following{/other_user}","gists_url":"https://api.github.com/users/slivne/gists{/gist_id}","starred_url":"https://api.github.com/users/slivne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slivne/subscriptions","organizations_url":"https://api.github.com/users/slivne/orgs","repos_url":"https://api.github.com/users/slivne/repos","events_url":"https://api.github.com/users/slivne/events{/privacy}","received_events_url":"https://api.github.com/users/slivne/received_events","type":"User","site_admin":false},"open_issues":243,"closed_issues":82,"state":"open","created_at":"2017-01-19T09:54:08Z","updated_at":"2018-08-27T12:02:52Z","due_on":"2017-12-31T08:00:00Z","closed_at":null},"comments":5,"created_at":"2018-08-21T12:53:40Z","updated_at":"2018-08-29T10:05:24Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"This was raised by @nyh on the review of the stateful singular partition queries (#1865).\r\n\r\nHere is an excerpt of the relevant discussion:\r\n\r\n> I have perhaps a silly question.\r\n> In the \"regular\" case, a next-page query will have the same CL as before, and\r\n> none of the nodes will have died in the time that passed, so we can just use\r\n> the old list.\r\n> \r\n> In the rare case that some of the saved nodes are no longer alive, or suddenly\r\n> we need a higher CL or something, is it worth even trying to save some of the\r\n> other nodes? We could just revert to the default pick-list-from-scratch algorithm,\r\n> and save the complications below (which I'm not even convinced are correct).\r\n\r\nThe discussion in its entirety can be found [here](https://groups.google.com/d/msg/scylladb-dev/WRfYltknDyU/0BARsKYVAwAJ)."},"comment":{"url":"https://api.github.com/repos/scylladb/scylla/issues/comments/416898852","html_url":"https://github.com/scylladb/scylla/issues/3709#issuecomment-416898852","issue_url":"https://api.github.com/repos/scylladb/scylla/issues/3709","id":416898852,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNjg5ODg1Mg==","user":{"login":"denesb","id":1389273,"node_id":"MDQ6VXNlcjEzODkyNzM=","avatar_url":"https://avatars2.githubusercontent.com/u/1389273?v=4","gravatar_id":"","url":"https://api.github.com/users/denesb","html_url":"https://github.com/denesb","followers_url":"https://api.github.com/users/denesb/followers","following_url":"https://api.github.com/users/denesb/following{/other_user}","gists_url":"https://api.github.com/users/denesb/gists{/gist_id}","starred_url":"https://api.github.com/users/denesb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/denesb/subscriptions","organizations_url":"https://api.github.com/users/denesb/orgs","repos_url":"https://api.github.com/users/denesb/repos","events_url":"https://api.github.com/users/denesb/events{/privacy}","received_events_url":"https://api.github.com/users/denesb/received_events","type":"User","site_admin":false},"created_at":"2018-08-29T10:05:24Z","updated_at":"2018-08-29T10:05:24Z","author_association":"CONTRIBUTOR","body":"On Wed, 2018-08-29 at 02:56 -0700, nyh wrote:\n> @denesb I'm not even sure my suggestion (which I wrote a long time\n> ago and now I need to read it like you...) meant what you think it\n> meant. What bothered me, I think, was what I considered an elaborate\n> plan to use as many as replicas we can from the previous page - and\n> if that's not enough we look for more replicas. I asked why we can't\n> do something simpler:\n> If the list of replicas from the previous page is still good and\n> enough - then use that.\n> Otherwise, just create a brand new random list of replicas. Don't\n> bother to pick up some from the old list and some from a new list. If\n> we assume this situation is rare, we don't lose anything.\n> I don't think I suggested to prevent the successful list from being\n> saved for the next request, which is what you think (?) I suggested.\n\nThat's not what I thought. To be honest I wasn't entirely sure what\nyour suggestion entailed. Now, with your clarification I think it's\nclear.\n\nWhat I don't understand is how what you suggest would be simpler or\nless work then what we have now. Right now we do the following:\n\n1) Compute the intersection of the last replicas set and the live\nreplicas set.\n2) If the intersection is enought to satisfy CL (+ extra for\nspeculation if needed) use this instersection.\n3) If the intersection is not enough, add additional replicas from the\nlive set.\n\nWhat you seem to suggest is that in case (3), discard the intersection\nand just completely recalculate the replica list. How is this simpler?\nWhat am I missing?\n\n\n"}}
{"actor":{"display_login":"denesb"}}