@@ -95,6 +95,7 @@ Status Redis::HDel(const Slice& key, const std::vector<std::string>& fields, int
9595 }
9696 if (s.ok ()) {
9797 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
98+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
9899 if (parsed_hashes_meta_value.IsStale () || parsed_hashes_meta_value.Count () == 0 ) {
99100 *ret = 0 ;
100101 return Status::OK ();
@@ -159,6 +160,7 @@ Status Redis::HGet(const Slice& key, const Slice& field, std::string* value) {
159160 }
160161 if (s.ok ()) {
161162 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
163+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
162164 if (parsed_hashes_meta_value.IsStale ()) {
163165 return Status::NotFound (" Stale" );
164166 } else if (parsed_hashes_meta_value.Count () == 0 ) {
@@ -199,6 +201,7 @@ Status Redis::HGetall(const Slice& key, std::vector<FieldValue>* fvs) {
199201 }
200202 if (s.ok ()) {
201203 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
204+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
202205 if (parsed_hashes_meta_value.IsStale ()) {
203206 return Status::NotFound (" Stale" );
204207 } else if (parsed_hashes_meta_value.Count () == 0 ) {
@@ -242,6 +245,7 @@ Status Redis::HGetallWithTTL(const Slice& key, std::vector<FieldValue>* fvs, int
242245 }
243246 if (s.ok ()) {
244247 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
248+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
245249 if (parsed_hashes_meta_value.Count () == 0 ) {
246250 return Status::NotFound ();
247251 } else if (parsed_hashes_meta_value.IsStale ()) {
@@ -299,6 +303,7 @@ Status Redis::HIncrby(const Slice& key, const Slice& field, int64_t value, int64
299303 }
300304 if (s.ok ()) {
301305 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
306+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
302307 if (parsed_hashes_meta_value.IsStale () || parsed_hashes_meta_value.Count () == 0 ) {
303308 version = parsed_hashes_meta_value.UpdateVersion ();
304309 parsed_hashes_meta_value.SetCount (1 );
@@ -392,6 +397,7 @@ Status Redis::HIncrbyfloat(const Slice& key, const Slice& field, const Slice& by
392397 }
393398 if (s.ok ()) {
394399 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
400+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
395401 if (parsed_hashes_meta_value.IsStale () || parsed_hashes_meta_value.Count () == 0 ) {
396402 version = parsed_hashes_meta_value.UpdateVersion ();
397403 parsed_hashes_meta_value.SetCount (1 );
@@ -476,6 +482,7 @@ Status Redis::HKeys(const Slice& key, std::vector<std::string>* fields) {
476482 }
477483 if (s.ok ()) {
478484 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
485+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
479486 if (parsed_hashes_meta_value.IsStale ()) {
480487 return Status::NotFound (" Stale" );
481488 } else if (parsed_hashes_meta_value.Count () == 0 ) {
@@ -519,6 +526,7 @@ Status Redis::HLen(const Slice& key, int32_t* ret, std::string&& prefetch_meta)
519526 }
520527 if (s.ok ()) {
521528 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
529+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
522530 if (parsed_hashes_meta_value.IsStale ()) {
523531 *ret = 0 ;
524532 return Status::NotFound (" Stale" );
@@ -558,6 +566,7 @@ Status Redis::HMGet(const Slice& key, const std::vector<std::string>& fields, st
558566 }
559567 if (s.ok ()) {
560568 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
569+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
561570 if ((is_stale = parsed_hashes_meta_value.IsStale ()) || parsed_hashes_meta_value.Count () == 0 ) {
562571 for (size_t idx = 0 ; idx < fields.size (); ++idx) {
563572 vss->push_back ({std::string (), Status::NotFound ()});
@@ -622,6 +631,7 @@ Status Redis::HMSet(const Slice& key, const std::vector<FieldValue>& fvs) {
622631 }
623632 if (s.ok ()) {
624633 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
634+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
625635 if (parsed_hashes_meta_value.IsStale () || parsed_hashes_meta_value.Count () == 0 ) {
626636 version = parsed_hashes_meta_value.InitialMetaValue ();
627637 if (!parsed_hashes_meta_value.check_set_count (static_cast <int32_t >(filtered_fvs.size ()))) {
@@ -697,6 +707,7 @@ Status Redis::HSet(const Slice& key, const Slice& field, const Slice& value, int
697707 }
698708 if (s.ok ()) {
699709 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
710+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
700711 if (parsed_hashes_meta_value.IsStale () || parsed_hashes_meta_value.Count () == 0 ) {
701712 version = parsed_hashes_meta_value.InitialMetaValue ();
702713 parsed_hashes_meta_value.SetCount (1 );
@@ -772,6 +783,7 @@ Status Redis::HSetnx(const Slice& key, const Slice& field, const Slice& value, i
772783 }
773784 if (s.ok ()) {
774785 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
786+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
775787 if (parsed_hashes_meta_value.IsStale () || parsed_hashes_meta_value.Count () == 0 ) {
776788 version = parsed_hashes_meta_value.InitialMetaValue ();
777789 parsed_hashes_meta_value.SetCount (1 );
@@ -835,6 +847,7 @@ Status Redis::HVals(const Slice& key, std::vector<std::string>* values) {
835847 }
836848 if (s.ok ()) {
837849 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
850+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
838851 if (parsed_hashes_meta_value.IsStale ()) {
839852 return Status::NotFound (" Stale" );
840853 } else if (parsed_hashes_meta_value.Count () == 0 ) {
@@ -898,6 +911,7 @@ Status Redis::HScan(const Slice& key, int64_t cursor, const std::string& pattern
898911 }
899912 if (s.ok ()) {
900913 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
914+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
901915 if (parsed_hashes_meta_value.IsStale () || parsed_hashes_meta_value.Count () == 0 ) {
902916 *next_cursor = 0 ;
903917 return Status::NotFound ();
@@ -975,6 +989,7 @@ Status Redis::HScanx(const Slice& key, const std::string& start_field, const std
975989 }
976990 if (s.ok ()) {
977991 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
992+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
978993 if (parsed_hashes_meta_value.IsStale () || parsed_hashes_meta_value.Count () == 0 ) {
979994 *next_field = " " ;
980995 return Status::NotFound ();
@@ -1045,6 +1060,7 @@ Status Redis::PKHScanRange(const Slice& key, const Slice& field_start, const std
10451060 }
10461061 if (s.ok ()) {
10471062 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
1063+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
10481064 if (parsed_hashes_meta_value.IsStale () || parsed_hashes_meta_value.Count () == 0 ) {
10491065 return Status::NotFound ();
10501066 } else {
@@ -1116,6 +1132,7 @@ Status Redis::PKHRScanRange(const Slice& key, const Slice& field_start, const st
11161132 }
11171133 if (s.ok ()) {
11181134 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
1135+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
11191136 if (parsed_hashes_meta_value.IsStale () || parsed_hashes_meta_value.Count () == 0 ) {
11201137 return Status::NotFound ();
11211138 } else {
@@ -1178,6 +1195,7 @@ Status Redis::HashesExpire(const Slice& key, int64_t ttl_millsec, std::string&&
11781195 }
11791196 if (s.ok ()) {
11801197 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
1198+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
11811199 if (parsed_hashes_meta_value.IsStale ()) {
11821200 return Status::NotFound (" Stale" );
11831201 } else if (parsed_hashes_meta_value.Count () == 0 ) {
@@ -1218,6 +1236,7 @@ Status Redis::HashesDel(const Slice& key, std::string&& prefetch_meta) {
12181236 }
12191237 if (s.ok ()) {
12201238 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
1239+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
12211240 if (parsed_hashes_meta_value.IsStale ()) {
12221241 return Status::NotFound (" Stale" );
12231242 } else if (parsed_hashes_meta_value.Count () == 0 ) {
@@ -1255,6 +1274,7 @@ Status Redis::HashesExpireat(const Slice& key, int64_t timestamp_millsec, std::s
12551274 }
12561275 if (s.ok ()) {
12571276 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
1277+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
12581278 if (parsed_hashes_meta_value.IsStale ()) {
12591279 return Status::NotFound (" Stale" );
12601280 } else if (parsed_hashes_meta_value.Count () == 0 ) {
@@ -1294,6 +1314,7 @@ Status Redis::HashesPersist(const Slice& key, std::string&& prefetch_meta) {
12941314 }
12951315 if (s.ok ()) {
12961316 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
1317+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
12971318 if (parsed_hashes_meta_value.IsStale ()) {
12981319 return Status::NotFound (" Stale" );
12991320 } else if (parsed_hashes_meta_value.Count () == 0 ) {
@@ -1333,6 +1354,7 @@ Status Redis::HashesTTL(const Slice& key, int64_t* ttl_millsec, std::string&& pr
13331354 }
13341355 if (s.ok ()) {
13351356 ParsedHashesMetaValue parsed_hashes_meta_value (&meta_value);
1357+ CheckBigKeyAndLog (key.ToString (), parsed_hashes_meta_value.Count ());
13361358 if (parsed_hashes_meta_value.IsStale ()) {
13371359 *ttl_millsec = -2 ;
13381360 return Status::NotFound (" Stale" );
0 commit comments