Skip to content

Commit 0f13625

Browse files
committed
Fixed default value
Signed-off-by: otheng03 <[email protected]>
1 parent 2ad103c commit 0f13625

File tree

6 files changed

+8
-19
lines changed

6 files changed

+8
-19
lines changed

src/config.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3338,7 +3338,7 @@ standardConfig static_configs[] = {
33383338
createLongLongConfig("commandlog-execution-slower-than", "slowlog-log-slower-than", MODIFIABLE_CONFIG, -1, LLONG_MAX, server.commandlog[COMMANDLOG_TYPE_SLOW].threshold, 10000, INTEGER_CONFIG, NULL, NULL),
33393339
createLongLongConfig("commandlog-request-larger-than", NULL, MODIFIABLE_CONFIG, -1, LLONG_MAX, server.commandlog[COMMANDLOG_TYPE_LARGE_REQUEST].threshold, 1024 * 1024, INTEGER_CONFIG, NULL, NULL),
33403340
createLongLongConfig("commandlog-reply-larger-than", NULL, MODIFIABLE_CONFIG, -1, LLONG_MAX, server.commandlog[COMMANDLOG_TYPE_LARGE_REPLY].threshold, 1024 * 1024, INTEGER_CONFIG, NULL, NULL),
3341-
createLongLongConfig("keyinfo-num-elements-larger-than", NULL, MODIFIABLE_CONFIG, -1, LLONG_MAX, server.keyinfo[KEYINFO_TYPE_MANY_ELEMENTS].threshold, 1, INTEGER_CONFIG, NULL, NULL),
3341+
createLongLongConfig("keyinfo-num-elements-larger-than", NULL, MODIFIABLE_CONFIG, -1, LLONG_MAX, server.keyinfo[KEYINFO_TYPE_MANY_ELEMENTS].threshold, 1024, INTEGER_CONFIG, NULL, NULL),
33423342
createLongLongConfig("keyinfo-large-num-elements-max-len", NULL, MODIFIABLE_CONFIG, 0, LLONG_MAX, server.keyinfo[KEYINFO_TYPE_MANY_ELEMENTS].max_len, 128, INTEGER_CONFIG, NULL, updateKeyinfoLargeNumElementsMaxLen),
33433343
createLongLongConfig("latency-monitor-threshold", NULL, MODIFIABLE_CONFIG, 0, LLONG_MAX, server.latency_monitor_threshold, 0, INTEGER_CONFIG, NULL, NULL),
33443344
createLongLongConfig("proto-max-bulk-len", NULL, DEBUG_CONFIG | MODIFIABLE_CONFIG, 1024 * 1024, LONG_MAX, server.proto_max_bulk_len, 512ll * 1024 * 1024, MEMORY_CONFIG, NULL, NULL), /* Bulk request max size */

src/keyinfo.c

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ void keyinfoInit(void) {
1010
for (int i = 0; i < KEYINFO_TYPE_NUM; i++) {
1111
server.keyinfo[i].entries_max_len = server.keyinfo[i].max_len;
1212
server.keyinfo[i].entries = zcalloc(sizeof(keyinfoEntry) * server.keyinfo[i].entries_max_len);
13-
/* TODO : Since the bucket size is fixed, the entry_id can be retrieved from the bucket index. */
14-
server.keyinfo[i].entry_id = 0;
1513
}
1614
}
1715

@@ -28,7 +26,6 @@ void keyinfoResize(int type) {
2826
keyinfoEntry *entry = &server.keyinfo[type].entries[i];
2927
if (entry->key != NULL) {
3028
unsigned int idx = getIndex(entry->key, new_len);
31-
entriesResized[idx].id = entry->id;
3229
entriesResized[idx].key = entry->key;
3330
entriesResized[idx].value = entry->value;
3431
entriesResized[idx].time = entry->time;
@@ -39,6 +36,7 @@ void keyinfoResize(int type) {
3936
server.keyinfo[type].entries = entriesResized;
4037
server.keyinfo[type].entries_max_len = new_len;
4138
}
39+
4240
void keyinfoUpdateEntryIfNeeded(robj *keyobj, long long value, int type) {
4341
if (server.keyinfo[type].threshold < 0 || server.keyinfo[type].max_len == 0) return; /* keyinfo disabled */
4442

@@ -52,19 +50,12 @@ void keyinfoUpdateEntryIfNeeded(robj *keyobj, long long value, int type) {
5250
return;
5351
}
5452

55-
if (entry->key != NULL && equalStringObjects(entry->key, keyobj)) {
56-
entry->value = value;
57-
entry->time = time(NULL);
58-
return;
59-
}
60-
6153
incrRefCount(keyobj);
6254
/* If the entry is already set, free the entry */
6355
if (entry->key != NULL) {
6456
keyinfoFreeEntry(entry);
6557
}
6658

67-
entry->id = server.keyinfo[type].entry_id++;
6859
entry->key = keyobj;
6960
entry->value = value;
7061
entry->time = time(NULL);
@@ -147,7 +138,7 @@ void keyinfoCommand(client *c) {
147138
keyinfoEntry *entry = &server.keyinfo[type].entries[i];
148139
if (entry->key != NULL) {
149140
addReplyArrayLen(c, 4);
150-
addReplyLongLong(c, entry->id);
141+
addReplyLongLong(c, i);
151142
addReplyBulkCBuffer(c, entry->key->ptr, sdslen(entry->key->ptr));
152143
addReplyLongLong(c, entry->value);
153144
addReplyLongLong(c, entry->time);

src/keyinfo.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
/* This structure defines an entry inside the bigkey log bucket */
77
typedef struct keyinfoEntry {
8-
long long id;
98
robj *key;
109
long long value;
1110
time_t time;

src/server.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,6 @@ typedef enum {
409409
typedef struct keyinfo {
410410
long long entries_max_len;
411411
keyinfoEntry *entries;
412-
long long entry_id;
413412
long long threshold;
414413
long long max_len;
415414
} keyinfo;

tests/unit/keyinfo.tcl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ start_server {tags {"keyinfo"} overrides {keyinfo-num-elements-larger-than 2 key
99

1010
r hset key-id0 f1 v1 f2 v2 f3 v3
1111
set e [lindex [r keyinfo get -1 many-elements] 0]
12-
assert_equal [expr {[lindex $e 0] == 0}] 1
12+
assert_equal [expr {[lindex $e 0] == 89}] 1
1313
r hset key-id0 f4 v4
1414
set e [lindex [r keyinfo get -1 many-elements] 0]
15-
assert_equal [expr {[lindex $e 0] == 0}] 1
15+
assert_equal [expr {[lindex $e 0] == 89}] 1
1616

1717
r set key-id1 12345
1818
set e [lindex [r keyinfo get -1 many-elements] 1]
19-
assert_equal [expr {[lindex $e 0] == 1}] 1
19+
assert_equal [expr {[lindex $e 0] == 120}] 1
2020
r set key-id1 123456
2121
set e [lindex [r keyinfo get -1 many-elements] 1]z
22-
assert_equal [expr {[lindex $e 0] == 1}] 1
22+
assert_equal [expr {[lindex $e 0] == 120}] 1
2323
}
2424

2525
test {KEYINFO - If the string length exceeds keyinfo-num-elements-larger-than, it must be recorded in keyinfo} {

valkey.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2087,7 +2087,7 @@ commandlog-large-reply-max-len 128
20872087
# a significantly large number of elements (e.g., lists, hashes, sets, etc.).
20882088
# This option is useful when you want to find only those keys that
20892089
# have a very large number of elements.
2090-
keyinfo-num-elements-larger-than 1
2090+
keyinfo-num-elements-larger-than 1024
20912091

20922092
# Defines the size of the bucket for storing keyinfo entries.
20932093
# The buckets are managed as a hash bucket, meaning that each key is mapped to a

0 commit comments

Comments
 (0)