Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndris Zeila <andris.zeila@zabbix.com>2021-04-21 14:39:38 +0300
committerAndris Zeila <andris.zeila@zabbix.com>2021-04-21 14:48:24 +0300
commit7619f88e4a79211f945cd6ab3ef084dd9a63ecb6 (patch)
treee5d37502d0a90f6f3c153afe01167e92f9aff815 /tests/libs/zbxdbcache
parent196e79bb38bc75d0cab36f52b42f7eaf7e8f8286 (diff)
parentbcb6ae355d608a4ccac133b65810d642a4fab048 (diff)
.......... [ZBXNEXT-6452] merged branch 'master' of ssh://git.zabbix.lan:7999/zbx/zabbix into feature/ZBXNEXT-6452-5.3
Diffstat (limited to 'tests/libs/zbxdbcache')
-rw-r--r--tests/libs/zbxdbcache/valuecache_test.c21
-rw-r--r--tests/libs/zbxdbcache/zbx_vc_add_values.c3
-rw-r--r--tests/libs/zbxdbcache/zbx_vc_get_value.c4
-rw-r--r--tests/libs/zbxdbcache/zbx_vc_get_values.c4
4 files changed, 14 insertions, 18 deletions
diff --git a/tests/libs/zbxdbcache/valuecache_test.c b/tests/libs/zbxdbcache/valuecache_test.c
index 1570e039828..d85bdf04273 100644
--- a/tests/libs/zbxdbcache/valuecache_test.c
+++ b/tests/libs/zbxdbcache/valuecache_test.c
@@ -31,8 +31,6 @@ int zbx_vc_get_cached_values(zbx_uint64_t itemid, unsigned char value_type, zbx_
int i;
zbx_vc_chunk_t *chunk;
- vc_try_lock();
-
if (NULL == (item = zbx_hashset_search(&vc_cache->items, &itemid)))
return FAIL;
@@ -45,8 +43,6 @@ int zbx_vc_get_cached_values(zbx_uint64_t itemid, unsigned char value_type, zbx_
vc_history_record_vector_append(values, value_type, &chunk->slots[i]);
}
- vc_try_unlock();
-
return SUCCEED;
}
@@ -56,8 +52,6 @@ int zbx_vc_precache_values(zbx_uint64_t itemid, int value_type, int seconds, int
int ret;
zbx_vector_history_record_t values;
- vc_try_lock();
-
/* add item to cache if necessary */
if (NULL == (item = (zbx_vc_item_t *)zbx_hashset_search(&vc_cache->items, &itemid)))
{
@@ -66,18 +60,17 @@ int zbx_vc_precache_values(zbx_uint64_t itemid, int value_type, int seconds, int
}
/* perform request to cache values */
- vc_item_addref(item);
zbx_history_record_vector_create(&values);
+ RDLOCK_CACHE;
ret = vch_item_get_values(item, &values, seconds, count, ts);
+ UNLOCK_CACHE;
+ zbx_vc_flush_stats();
zbx_history_record_vector_destroy(&values, value_type);
- vc_item_release(item);
/* reset cache statistics */
vc_cache->hits = 0;
vc_cache->misses = 0;
- vc_try_unlock();
-
return ret;
}
@@ -87,8 +80,6 @@ int zbx_vc_get_item_state(zbx_uint64_t itemid, int *status, int *active_range, i
zbx_vc_item_t *item;
int ret = FAIL;
- vc_try_lock();
-
if (NULL != (item = (zbx_vc_item_t *)zbx_hashset_search(&vc_cache->items, &itemid)))
{
*status = item->status;
@@ -99,8 +90,6 @@ int zbx_vc_get_item_state(zbx_uint64_t itemid, int *status, int *active_range, i
ret = SUCCEED;
}
- vc_try_unlock();
-
return ret;
}
@@ -109,13 +98,9 @@ int zbx_vc_get_cache_state(int *mode, zbx_uint64_t *hits, zbx_uint64_t *misses)
if (NULL == vc_cache)
return FAIL;
- vc_try_lock();
-
*mode = vc_cache->mode;
*hits = vc_cache->hits;
*misses = vc_cache->misses;
- vc_try_unlock();
-
return SUCCEED;
}
diff --git a/tests/libs/zbxdbcache/zbx_vc_add_values.c b/tests/libs/zbxdbcache/zbx_vc_add_values.c
index 42d45860431..ac80bedbb50 100644
--- a/tests/libs/zbxdbcache/zbx_vc_add_values.c
+++ b/tests/libs/zbxdbcache/zbx_vc_add_values.c
@@ -53,6 +53,9 @@ void zbx_mock_test_entry(void **state)
/* set small cache size to force smaller cache free request size (5% of cache size) */
CONFIG_VALUE_CACHE_SIZE = ZBX_KIBIBYTE;
+ err = zbx_locks_create(&error);
+ zbx_mock_assert_result_eq("Lock initialization failed", SUCCEED, err);
+
err = zbx_vc_init(&error);
zbx_mock_assert_result_eq("Value cache initialization failed", SUCCEED, err);
diff --git a/tests/libs/zbxdbcache/zbx_vc_get_value.c b/tests/libs/zbxdbcache/zbx_vc_get_value.c
index f20fe48a077..aa7ea5bde3d 100644
--- a/tests/libs/zbxdbcache/zbx_vc_get_value.c
+++ b/tests/libs/zbxdbcache/zbx_vc_get_value.c
@@ -52,6 +52,9 @@ void zbx_mock_test_entry(void **state)
/* set small cache size to force smaller cache free request size (5% of cache size) */
CONFIG_VALUE_CACHE_SIZE = ZBX_KIBIBYTE;
+ err = zbx_locks_create(&error);
+ zbx_mock_assert_result_eq("Lock initialization failed", SUCCEED, err);
+
err = zbx_vc_init(&error);
zbx_mock_assert_result_eq("Value cache initialization failed", SUCCEED, err);
@@ -89,6 +92,7 @@ void zbx_mock_test_entry(void **state)
zbx_vector_history_record_reserve(&returned, 1);
err = zbx_vc_get_value(itemid, value_type, &ts, &returned.values[0]);
+ zbx_vc_flush_stats();
returned.values_num = 1;
zbx_mock_assert_result_eq("zbx_vc_get_values() return value", SUCCEED, err);
diff --git a/tests/libs/zbxdbcache/zbx_vc_get_values.c b/tests/libs/zbxdbcache/zbx_vc_get_values.c
index 76816f9cf33..cbff161a96e 100644
--- a/tests/libs/zbxdbcache/zbx_vc_get_values.c
+++ b/tests/libs/zbxdbcache/zbx_vc_get_values.c
@@ -52,6 +52,9 @@ void zbx_mock_test_entry(void **state)
/* set small cache size to force smaller cache free request size (5% of cache size) */
CONFIG_VALUE_CACHE_SIZE = ZBX_KIBIBYTE;
+ err = zbx_locks_create(&error);
+ zbx_mock_assert_result_eq("Lock initialization failed", SUCCEED, err);
+
err = zbx_vc_init(&error);
zbx_mock_assert_result_eq("Value cache initialization failed", SUCCEED, err);
@@ -83,6 +86,7 @@ void zbx_mock_test_entry(void **state)
zbx_vcmock_get_request_params(handle, &itemid, &value_type, &seconds, &count, &ts);
err = zbx_vc_get_values(itemid, value_type, &returned, seconds, count, &ts);
+ zbx_vc_flush_stats();
zbx_mock_assert_result_eq("zbx_vc_get_values() return value", SUCCEED, err);
/* validate results */