Skip to content

Commit f8cf12b

Browse files
committed
Fix bugs after the third review
1 parent f32c280 commit f8cf12b

File tree

3 files changed

+10
-31
lines changed

3 files changed

+10
-31
lines changed

src/pika_server.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ void PikaServer::DBSetSmallCompactionDurationThreshold(uint32_t small_compaction
507507
}
508508

509509
void PikaServer::UpdateDBBigKeysConfig() {
510-
std::shared_lock l(dbs_rw_);
510+
std::lock_guard l(dbs_rw_);
511511
for (const auto& db_item : dbs_) {
512512
db_item.second->DBLock();
513513
db_item.second->UpdateStorageBigKeysConfig(

tools/pika_exporter/exporter/client.go

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -84,18 +84,6 @@ func (c *client) GetInfo() (string, error) {
8484
return info, nil
8585
}
8686

87-
info, err := c.Info()
88-
if err != nil {
89-
return "", err
90-
}
91-
if InfoConf.BigKeys {
92-
bigkeysInfo, err := c.InfoBigKeys()
93-
if err != nil {
94-
return "", err
95-
}
96-
info += "\n" + bigkeysInfo
97-
}
98-
9987
if InfoConf.Info {
10088
var rst []string
10189

@@ -132,10 +120,6 @@ func (c *client) InfoCommand(command string) (string, error) {
132120
return redis.String(c.conn.Do("INFO", command))
133121
}
134122

135-
func (c *client) InfoBigKeys() (string, error) {
136-
return redis.String(c.conn.Do("INFO", "BIGKEYS"))
137-
}
138-
139123
func (c *client) InfoNoneCommandList() (string, error) {
140124
var rst []string
141125

tools/pika_exporter/exporter/parser.go

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,18 @@ func parseInfo(info string) (*semver.Version, map[string]string, error) {
2828
return version, extracts, nil
2929
}
3030

31-
func parseInfoBigkey(s string) string {
32-
if strings.Contains(s, "# BigKeys statistics") {
33-
startIdx := strings.Index(s, "# BigKeys statistics")
34-
if startIdx != -1 {
35-
return s[startIdx:]
36-
}
37-
}
38-
return ""
39-
}
40-
4131
func extractInfo(s string) (map[string]string, error) {
4232
m := make(map[string]string)
43-
bigkeysOutput := parseInfoBigkey(s)
44-
if len(bigkeysOutput) > 0 {
45-
m["bigkeys_output"] = bigkeysOutput
33+
34+
kvPart := s
35+
if startIdx := strings.Index(s, "# BigKeys statistics"); startIdx != -1 {
36+
// Ensure we split at a line boundary
37+
lineStartIdx := strings.LastIndex(s[:startIdx], "\n") + 1
38+
m["bigkeys_output"] = s[lineStartIdx:]
39+
kvPart = s[:lineStartIdx]
4640
}
47-
scanner := bufio.NewScanner(strings.NewReader(s))
41+
42+
scanner := bufio.NewScanner(strings.NewReader(kvPart))
4843
for scanner.Scan() {
4944
line := scanner.Text()
5045

0 commit comments

Comments
 (0)