Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions src/storage/src/redis_zsets.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1078,9 +1078,8 @@ Status Redis::ZGetAll(const Slice& key, double weight, std::map<std::string, dou
int32_t cur_index = 0;
ParsedZSetsMetaValue parsed_zsets_meta_value(&meta_value);
int32_t stop_index = parsed_zsets_meta_value.Count() - 1;
double score = 0.0;
uint64_t version = parsed_zsets_meta_value.Version();
ZSetsScoreKey zsets_score_key(key.ToString(), version, std::numeric_limits<double>::lowest(), Slice());
ZSetsScoreKey zsets_score_key(key, version, std::numeric_limits<double>::lowest(), Slice());
Slice seek_key = zsets_score_key.Encode();
rocksdb::Iterator* iter = db_->NewIterator(read_options, handles_[kZsetsScoreCF]);
for (iter->Seek(seek_key); iter->Valid() && cur_index <= stop_index; iter->Next(), ++cur_index) {
Expand Down
27 changes: 18 additions & 9 deletions src/storage/tests/hashes_filter_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ TEST(HashesFilterTest, FilterTest) {
storage::EncodeFixed32(str, 0);

// hash_count = 0 && etime < curtime && version < curtime
HashesMetaValue tmf_meta_value1(DataType::kHashes, std::string(str, sizeof(int32_t)));
auto key = std::string(str, sizeof(int32_t));
HashesMetaValue tmf_meta_value1(DataType::kHashes, key);

tmf_meta_value1.UpdateVersion();

Expand All @@ -76,7 +77,8 @@ TEST(HashesFilterTest, FilterTest) {
// Timeout timestamp is not set, it's not an empty hash table.
// hash_count = 1 && etime == 0 && version < curtime
storage::EncodeFixed32(str, 1);
HashesMetaValue tmf_meta_value2(DataType::kHashes, std::string(str, sizeof(int32_t)));
key = std::string(str, sizeof(int32_t));
HashesMetaValue tmf_meta_value2(DataType::kHashes, key);
tmf_meta_value2.UpdateVersion();
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
filter_result =
Expand All @@ -85,7 +87,8 @@ TEST(HashesFilterTest, FilterTest) {

// Timeout timestamp is set, but not expired.
storage::EncodeFixed32(str, 1);
HashesMetaValue tmf_meta_value3(DataType::kHashes, std::string(str, sizeof(int32_t)));
key = std::string(str, sizeof(int32_t));
HashesMetaValue tmf_meta_value3(DataType::kHashes, key);
tmf_meta_value3.UpdateVersion();
tmf_meta_value3.SetRelativeTimestamp(3);
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
Expand All @@ -95,7 +98,8 @@ TEST(HashesFilterTest, FilterTest) {

// Timeout timestamp is set, already expired.
storage::EncodeFixed32(str, 1);
HashesMetaValue tmf_meta_value4(DataType::kHashes, std::string(str, sizeof(int32_t)));
key = std::string(str, sizeof(int32_t));
HashesMetaValue tmf_meta_value4(DataType::kHashes, key);
tmf_meta_value4.UpdateVersion();
tmf_meta_value4.SetRelativeTimestamp(1);
std::this_thread::sleep_for(std::chrono::milliseconds(2000));
Expand All @@ -110,7 +114,8 @@ TEST(HashesFilterTest, FilterTest) {
HashesDataFilter* hashes_data_filter1 = new HashesDataFilter(meta_db, &handles, DataType::kHashes);
ASSERT_TRUE(hashes_data_filter1 != nullptr);
storage::EncodeFixed32(str, 1);
HashesMetaValue tdf_meta_value1(DataType::kHashes, std::string(str, sizeof(int32_t)));
key = std::string(str, sizeof(int32_t));
HashesMetaValue tdf_meta_value1(DataType::kHashes, key);
version = tdf_meta_value1.UpdateVersion();
s = meta_db->Put(rocksdb::WriteOptions(), handles[0], filter_test_key.Encode(), tdf_meta_value1.Encode());
ASSERT_TRUE(s.ok());
Expand All @@ -126,7 +131,8 @@ TEST(HashesFilterTest, FilterTest) {
HashesDataFilter* hashes_data_filter2 = new HashesDataFilter(meta_db, &handles, DataType::kHashes);
ASSERT_TRUE(hashes_data_filter2 != nullptr);
storage::EncodeFixed32(str, 1);
HashesMetaValue tdf_meta_value2(DataType::kHashes, std::string(str, sizeof(int32_t)));
key = std::string(str, sizeof(int32_t));
HashesMetaValue tdf_meta_value2(DataType::kHashes, key);
version = tdf_meta_value2.UpdateVersion();
tdf_meta_value2.SetRelativeTimestamp(1);
s = meta_db->Put(rocksdb::WriteOptions(), handles[0], filter_test_key.Encode(), tdf_meta_value2.Encode());
Expand All @@ -143,7 +149,8 @@ TEST(HashesFilterTest, FilterTest) {
HashesDataFilter* hashes_data_filter3 = new HashesDataFilter(meta_db, &handles, DataType::kHashes);
ASSERT_TRUE(hashes_data_filter3 != nullptr);
storage::EncodeFixed32(str, 1);
HashesMetaValue tdf_meta_value3(DataType::kHashes, std::string(str, sizeof(int32_t)));
key = std::string(str, sizeof(int32_t));
HashesMetaValue tdf_meta_value3(DataType::kHashes, key);
version = tdf_meta_value3.UpdateVersion();
tdf_meta_value3.SetRelativeTimestamp(1);
s = meta_db->Put(rocksdb::WriteOptions(), handles[0], filter_test_key.Encode(), tdf_meta_value3.Encode());
Expand All @@ -161,7 +168,8 @@ TEST(HashesFilterTest, FilterTest) {
HashesDataFilter* hashes_data_filter4 = new HashesDataFilter(meta_db, &handles, DataType::kHashes);
ASSERT_TRUE(hashes_data_filter4 != nullptr);
storage::EncodeFixed32(str, 1);
HashesMetaValue tdf_meta_value4(DataType::kHashes, std::string(str, sizeof(int32_t)));
key = std::string(str, sizeof(int32_t));
HashesMetaValue tdf_meta_value4(DataType::kHashes, key);
version = tdf_meta_value4.UpdateVersion();
s = meta_db->Put(rocksdb::WriteOptions(), handles[0], filter_test_key.Encode(), tdf_meta_value4.Encode());
ASSERT_TRUE(s.ok());
Expand All @@ -180,7 +188,8 @@ TEST(HashesFilterTest, FilterTest) {
HashesDataFilter* hashes_data_filter5 = new HashesDataFilter(meta_db, &handles, DataType::kHashes);
ASSERT_TRUE(hashes_data_filter5 != nullptr);
storage::EncodeFixed32(str, 1);
HashesMetaValue tdf_meta_value5(DataType::kHashes, std::string(str, sizeof(int32_t)));
key = std::string(str, sizeof(int32_t));
HashesMetaValue tdf_meta_value5(DataType::kHashes, key);
version = tdf_meta_value5.UpdateVersion();
s = meta_db->Put(rocksdb::WriteOptions(), handles[0], filter_test_key.Encode(), tdf_meta_value5.Encode());
ASSERT_TRUE(s.ok());
Expand Down
Loading
Loading