From 566a745c7a38b5b462201a31e4dba99581f276a2 Mon Sep 17 00:00:00 2001 From: obdev Date: Tue, 17 Dec 2024 07:45:02 +0000 Subject: [PATCH] Fix ObKVGlobalCache::put --- src/share/cache/ob_kv_storecache.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/share/cache/ob_kv_storecache.cpp b/src/share/cache/ob_kv_storecache.cpp index f14f8a40e..578b17183 100644 --- a/src/share/cache/ob_kv_storecache.cpp +++ b/src/share/cache/ob_kv_storecache.cpp @@ -358,8 +358,18 @@ int ObKVGlobalCache::put( } else if (NULL == inst_handle.get_inst()) { ret = OB_ERR_UNEXPECTED; COMMON_LOG(WARN, "The inst is NULL, ", K(ret)); - } else if (!overwrite && (OB_SUCC(map_.get(cache_id, key, pvalue, mb_handle)))) { - ret = OB_ENTRY_EXIST; + } else if (!overwrite) { + if (OB_FAIL(map_.get(cache_id, key, pvalue, mb_handle))) { + if (OB_ENTRY_NOT_EXIST != ret) { + COMMON_LOG(WARN, "KVCacheMap::get failed", K(ret)); + } else { + ret = OB_SUCCESS; + } + } else { + ret = OB_ENTRY_EXIST; + } + } + if (OB_FAIL(ret)) { } else if (OB_FAIL(store.store(*inst_handle.get_inst(), key, value, kvpair, mb_wrapper))) { COMMON_LOG(WARN, "Fail to store kvpair to store, ", K(ret)); } else {