{"action":"created","issue":{"url":"https://api.github.com/repos/jam2in/arcus-java-client/issues/17","repository_url":"https://api.github.com/repos/jam2in/arcus-java-client","labels_url":"https://api.github.com/repos/jam2in/arcus-java-client/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/jam2in/arcus-java-client/issues/17/comments","events_url":"https://api.github.com/repos/jam2in/arcus-java-client/issues/17/events","html_url":"https://github.com/jam2in/arcus-java-client/pull/17","id":172901514,"number":17,"title":"move queueReconnect line because of switchover","user":{"login":"whchoi83","id":4157797,"avatar_url":"https://avatars.githubusercontent.com/u/4157797?v=3","gravatar_id":"","url":"https://api.github.com/users/whchoi83","html_url":"https://github.com/whchoi83","followers_url":"https://api.github.com/users/whchoi83/followers","following_url":"https://api.github.com/users/whchoi83/following{/other_user}","gists_url":"https://api.github.com/users/whchoi83/gists{/gist_id}","starred_url":"https://api.github.com/users/whchoi83/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whchoi83/subscriptions","organizations_url":"https://api.github.com/users/whchoi83/orgs","repos_url":"https://api.github.com/users/whchoi83/repos","events_url":"https://api.github.com/users/whchoi83/events{/privacy}","received_events_url":"https://api.github.com/users/whchoi83/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":18,"created_at":"2016-08-24T09:08:10Z","updated_at":"2016-09-08T08:17:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/jam2in/arcus-java-client/pulls/17","html_url":"https://github.com/jam2in/arcus-java-client/pull/17","diff_url":"https://github.com/jam2in/arcus-java-client/pull/17.diff","patch_url":"https://github.com/jam2in/arcus-java-client/pull/17.patch"},"body":"https://github.com/jam2in/arcus-java-client/issues/11 이슈를 반영한 PR 입니다.\r\n\r\nupdateConnection 에 의한 switchover 시 전체 operation 을 move 할 수 있도록 queueReconnect 호출 위치를 변경하였습니다.\r\n([MemcachedConnection.switchoverMemcachedReplGroup](https://github.com/jam2in/arcus-java-client/blob/master/src/main/java/net/spy/memcached/MemcachedConnection.java#L514) 참고)\r\n추가로 slave node 의 operation 을 move 할 때 setupResend 를 수행하지 않도록 했습니다.\r\n(slave node 은 read operation 만 가능하기 때문에 전체 operation 을 move 해도 무방합니다.)\r\n\r\n추가로 \r\n기존 MoveOperationTask 는 Locator.update() 후에 하도록 되어 있는데, 이것을 after task 로 통일\r\nsetupResend 와 queueReconnect 는 before task 로 정의하여 수행하도록 했습니다.\r\n\r\n리뷰 부탁드립니다.\r\n\r\n- [x] @aiceru \r\n- [x] @jhpark816 \r\n\r\n"},"comment":{"url":"https://api.github.com/repos/jam2in/arcus-java-client/issues/comments/245526424","html_url":"https://github.com/jam2in/arcus-java-client/pull/17#issuecomment-245526424","issue_url":"https://api.github.com/repos/jam2in/arcus-java-client/issues/17","id":245526424,"user":{"login":"jhpark816","id":175927,"avatar_url":"https://avatars.githubusercontent.com/u/175927?v=3","gravatar_id":"","url":"https://api.github.com/users/jhpark816","html_url":"https://github.com/jhpark816","followers_url":"https://api.github.com/users/jhpark816/followers","following_url":"https://api.github.com/users/jhpark816/following{/other_user}","gists_url":"https://api.github.com/users/jhpark816/gists{/gist_id}","starred_url":"https://api.github.com/users/jhpark816/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhpark816/subscriptions","organizations_url":"https://api.github.com/users/jhpark816/orgs","repos_url":"https://api.github.com/users/jhpark816/repos","events_url":"https://api.github.com/users/jhpark816/events{/privacy}","received_events_url":"https://api.github.com/users/jhpark816/received_events","type":"User","site_admin":false},"created_at":"2016-09-08T08:17:40Z","updated_at":"2016-09-08T08:17:40Z","body":"@whchoi83 @aiceru \r\n코드 리뷰 완료... 의견입니다.\r\n- 현재 commit 된 내용은 기본보다 개선된 코드이다.\r\n   - switchover 시에 모든 연산 이동\r\n   - slave node에 있는 연산들은 read only 연산이므로, 모두 move 시키자.\r\n   - locator update 이후에, moveOperations/setupResend/queueReconnect 처리하는 것이\r\n     - 응용에게 정확한 hash ring을 보다 빨리 제공하고,\r\n     - moveOperations은 locator update 이후에 해야 그 정확성이 보장되고, (빠지는 operation이 없음)\r\n     - move해야 할 operations 수가 조금이라도 적어진다.\r\n- 추가 검토/개선해야 할 부분은 새로운 이슈로 등록하여 처리하자.\r\n\r\n다른 이견 없으면 merge 할께요..\r\n"}}
{"actor":{"display_login":"jhpark816"}}