Commit b34fc03e authored by Oran Agra's avatar Oran Agra
Browse files

Merge unstable into 6.2

parents b8c67ce4 4f8458d8
...@@ -580,15 +580,18 @@ size_t zmalloc_get_smap_bytes_by_field(char *field, long pid) { ...@@ -580,15 +580,18 @@ size_t zmalloc_get_smap_bytes_by_field(char *field, long pid) {
size_t zmalloc_get_smap_bytes_by_field(char *field, long pid) { size_t zmalloc_get_smap_bytes_by_field(char *field, long pid) {
#if defined(__APPLE__) #if defined(__APPLE__)
struct proc_regioninfo pri; struct proc_regioninfo pri;
if (proc_pidinfo(pid, PROC_PIDREGIONINFO, 0, &pri, PROC_PIDREGIONINFO_SIZE) == if (pid == -1) pid = getpid();
PROC_PIDREGIONINFO_SIZE) { if (proc_pidinfo(pid, PROC_PIDREGIONINFO, 0, &pri,
if (!strcmp(field, "Private_Dirty:")) { PROC_PIDREGIONINFO_SIZE) == PROC_PIDREGIONINFO_SIZE)
return (size_t)pri.pri_pages_dirtied * 4096; {
} else if (!strcmp(field, "Rss:")) { int pagesize = getpagesize();
return (size_t)pri.pri_pages_resident * 4096; if (!strcmp(field, "Private_Dirty:")) {
} else if (!strcmp(field, "AnonHugePages:")) { return (size_t)pri.pri_pages_dirtied * pagesize;
} else if (!strcmp(field, "Rss:")) {
return (size_t)pri.pri_pages_resident * pagesize;
} else if (!strcmp(field, "AnonHugePages:")) {
return 0; return 0;
} }
} }
return 0; return 0;
#endif #endif
......
...@@ -57,6 +57,11 @@ proc CI {n field} { ...@@ -57,6 +57,11 @@ proc CI {n field} {
get_info_field [R $n cluster info] $field get_info_field [R $n cluster info] $field
} }
# Return the value of the specified INFO field.
proc s {n field} {
get_info_field [R $n info] $field
}
# Assuming nodes are reest, this function performs slots allocation. # Assuming nodes are reest, this function performs slots allocation.
# Only the first 'n' nodes are used. # Only the first 'n' nodes are used.
proc cluster_allocate_slots {n} { proc cluster_allocate_slots {n} {
......
...@@ -15,6 +15,7 @@ set replica [Rn 1] ...@@ -15,6 +15,7 @@ set replica [Rn 1]
test "Cant read from replica without READONLY" { test "Cant read from replica without READONLY" {
$primary SET a 1 $primary SET a 1
wait_for_ofs_sync $primary $replica
catch {$replica GET a} err catch {$replica GET a} err
assert {[string range $err 0 4] eq {MOVED}} assert {[string range $err 0 4] eq {MOVED}}
} }
...@@ -28,6 +29,7 @@ test "Can preform HSET primary and HGET from replica" { ...@@ -28,6 +29,7 @@ test "Can preform HSET primary and HGET from replica" {
$primary HSET h a 1 $primary HSET h a 1
$primary HSET h b 2 $primary HSET h b 2
$primary HSET h c 3 $primary HSET h c 3
wait_for_ofs_sync $primary $replica
assert {[$replica HGET h a] eq {1}} assert {[$replica HGET h a] eq {1}}
assert {[$replica HGET h b] eq {2}} assert {[$replica HGET h b] eq {2}}
assert {[$replica HGET h c] eq {3}} assert {[$replica HGET h c] eq {3}}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -214,20 +214,19 @@ proc ::redis::redis_multi_bulk_read {id fd} { ...@@ -214,20 +214,19 @@ proc ::redis::redis_multi_bulk_read {id fd} {
proc ::redis::redis_read_map {id fd} { proc ::redis::redis_read_map {id fd} {
set count [redis_read_line $fd] set count [redis_read_line $fd]
if {$count == -1} return {} if {$count == -1} return {}
set l {} set d {}
set err {} set err {}
for {set i 0} {$i < $count} {incr i} { for {set i 0} {$i < $count} {incr i} {
if {[catch { if {[catch {
set t {} set k [redis_read_reply $id $fd] ; # key
lappend t [redis_read_reply $id $fd] ; # key set v [redis_read_reply $id $fd] ; # value
lappend t [redis_read_reply $id $fd] ; # value dict set d $k $v
lappend l $t
} e] && $err eq {}} { } e] && $err eq {}} {
set err $e set err $e
} }
} }
if {$err ne {}} {return -code error $err} if {$err ne {}} {return -code error $err}
return $l return $d
} }
proc ::redis::redis_read_line fd { proc ::redis::redis_read_line fd {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment