-
Notifications
You must be signed in to change notification settings - Fork 16
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
memcached_get_by_key() 함수 마지막에 dummy fetch 필요성 검토. #155
Comments
dummy fetch 기능이 불필요하여 제거하였습니다.
|
dummy fetch 제거하면 unit test 실패합니다. commit: 7b5cf92
해당 테스트 코드는 다음과 같습니다. int no_msg=0;
for (uint32_t x= 0; x < memcached_server_count(memc); ++x)
{
memcached_server_instance_st instance=
memcached_server_instance_by_position(memc, x);
no_msg+=(int)(instance->cursor_active);
}
test_true(no_msg == 0); 아래 코드의 제거로 인해 instance->cursor_active 값이 0이 아니게 되었습니다. char *dummy_value= memcached_fetch(ptr, NULL, NULL,
&dummy_length, &dummy_flags,
&dummy_error); memcached_fetch() 함수는 다음과 같습니다. arcus-c-client/libmemcached/fetch.cc Lines 56 to 137 in 71bcafd
85번 라인에서 호출하는 memcached_fetch_result() 함수는 다음과 같습니다. arcus-c-client/libmemcached/fetch.cc Lines 139 to 248 in 71bcafd
201번 라인에서 호출하는 memcached_server_response_reset() 함수는 다음과 같습니다. arcus-c-client/libmemcached/common.h Line 174 in 71bcafd
따라서 memcached_fetch() 함수를 호출하는 부분은 남겨야 합니다. |
@uhm0311 의 추가 코멘트 입니다. libmemcached 1.0 버전을 살펴보니, get.cc에서 dummy fetch를 제거한 뒤 문제 되는 테스트 코드를 #if 0
int no_msg=0;
for (uint32_t x= 0; x < memcached_server_count(memc); ++x)
{
const memcached_instance_st * instance=
memcached_server_instance_by_position(memc, x);
no_msg+=(int)(instance->cursor_active);
}
test_true(no_msg == 0);
#endif dummy fetch를 제거하는 방향을 유지하려면 같은 조치를 취해야 할 것 같습니다. |
memcached_get_by_key() 함수의 마지막에 아래와 같은 dummy fetch 코드가 있다.
필요성을 검토해 보고, 필요가 없다면 제거합시다.
The text was updated successfully, but these errors were encountered: