INTERNAL: Do not cancel operations when node is removed from ZK but still alive.#749
INTERNAL: Do not cancel operations when node is removed from ZK but still alive.#749uhm0311 wants to merge 1 commit intonaver:developfrom
Conversation
|
handleNodesToRemove 메서드가 복제와 마이그레이션에서도 사용되는데, 해당 부분에는 영향이 없나요? |
|
EE여도 cache_list znode가 제거되었을 때 동작은 CE와 동일합니다. |
539d0e3 to
5444ff8
Compare
56005f1 to
4955858
Compare
4955858 to
ec00df8
Compare
|
첫번째 코멘트에 커밋 수정사항을 업데이트 했습니다. |
|
@oliviarla @brido4125 먼저 리뷰 하시죠. |
39ff086 to
a9559bb
Compare
|
https://github.com/jam2in/arcus-works/issues/549 현재 PR에서는 locator의 update와 handleDelayedClosingNodes 모두 IO 쓰레드에서 순차적으로 수행합니다. 만약, 현재 진행중인 이슈처럼 locator에 대한 update 수행을 다른 스레드가 수행할 경우 추후 참고할 목적으로 해당 코멘트 남깁니다. |
src/main/java/net/spy/memcached/ArcusReplKetamaNodeLocator.java
Outdated
Show resolved
Hide resolved
85a2073 to
d520ae8
Compare
|
소켓 연결에 대한 해제를 수행하는 메소드 호출( |
|
@uhm0311 @oliviarla 현 시점에서 보니, 아래의 보완이 필요합니다.
|
d520ae8 to
6c674af
Compare
|
수정했습니다. |
6c674af to
255f946
Compare
위 내용은 어디에 정리되었나요? |
|
첫번째 코멘트에 있습니다. |
oliviarla
left a comment
There was a problem hiding this comment.
@jhpark816 이 코드를 추가하면서 복잡함을 감수할 만큼 얻는 이득이 큰지 궁금합니다.
| } else if (!isConnected && hasOp) { | ||
| cancelAllOperations(node, "connection lost after node removed."); | ||
| } else { | ||
| addedQueue.offer(node); |
There was a problem hiding this comment.
여기는 어떤 경우이고 왜 addedQueue에 다시 넣는지 궁금합니다.
There was a problem hiding this comment.
연결이 아직 살아 있고, Op 큐에 연산이 남아 있습니다.
따라서 addedQueue에 넣어서 Op가 handleIO 로직에 의해 처리되도록 합니다.
| boolean isConnected = node.isConnected(); | ||
| boolean hasOp = node.hasOp(); | ||
|
|
||
| if (isConnected && !hasOp) { |
There was a problem hiding this comment.
hasOp여도 close해야 하지 않나요?
handleDelayedClosingNodes 메서드가 전체적으로 이해하기 어렵습니다.
There was a problem hiding this comment.
연결이 살아 있고, Op 큐에 연산이 남아 있으면 계속 처리하려고 합니다.
255f946 to
accf7a1
Compare
|
리뷰 의견 부탁드립니다. |
@uhm0311 |
|
기능 추가를 통해 얻을 수 있는 이득이 미미하여 추가하지 않아도 될 것 같습니다. |
|
저도
|
|
🔗 Related Issue
AS-IS
TO-BE