Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

INTERNAL: Add eflag parameter in collectionGetOperation callback. #648

Merged
merged 1 commit into from
Aug 2, 2023

Conversation

brido4125
Copy link
Collaborator

Motivation

#634
위 PR에서 BTreeGet의 eflag는 CollectionGet 인스턴스의
내부 field을 통해 얻어져 Element를 생성할 때 사용된다.
eflag의 경우에도 bKey,data와 마찬가지로 콜백의 gotData를 호출할 때
인자로 넘겨주면 일관성 있는 구조로 변경된다.

변경을 통해 위 PR을 구현할 때에 eflag 값을
gotData()를 통해 곧바로 얻어올 수 있다.

또한 gotData()의 key 인자의 경우 api인자로 들어온 값과
api 인자를 통해 설정된 동일한 값을 assert를 통해
불필요한 비교를 진행한다.
그래서 key 인자의 경우 삭제시킨다.

변경 지점

CollectionGetOperation의 콜백의 gotData() 메서드의 인자가 변경되었습니다.

@brido4125 brido4125 self-assigned this Aug 2, 2023
Copy link
Collaborator

@jhpark816 jhpark816 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

리뷰 완료

@@ -528,8 +528,7 @@ public void complete() {
latch.countDown();
}

public void gotData(String key, int flags, String subkey, byte[] data) {
assert key.equals(k) : "Wrong key returned";
public void gotData(int flags, String subkey, byte[] data, byte[] eflag) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

인자 순서가 subkey, flags, data, eflag 이면 좋겠습니다.
<flags, data>가 하나의 value를 나타내기 때문입니다.

list, set collection인 경우는 subkey 개념이 없으므로,
이를 제거할 수 있다면 나을 것 같습니다.
다음 PR로 작업해도 되구요.

Copy link
Collaborator Author

@brido4125 brido4125 Aug 2, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

현재 4가지 종류의 api 모두
CollectionGetOperation의 동일한 콜백을 사용하고 있어
subkey 파라미터를 제거하는것은 어려울것 같습니다.

만약 제거를 하려면 CollectionGetOperation 외에
새로운 인터페이스를 생성하여
콜백을 구성하도록 해야합니다.

@brido4125 brido4125 force-pushed the enhance/collectionGetCallBack branch from 5870ca0 to 9269c00 Compare August 2, 2023 06:20
@jhpark816 jhpark816 merged commit 4fbe331 into naver:develop Aug 2, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants