From c5d684f126c73010063947e9711ca297c8fb706c Mon Sep 17 00:00:00 2001 From: Ryan Gang Date: Mon, 17 Jun 2024 16:15:17 +0530 Subject: [PATCH] tests: update fixtures --- internal/test_helpers/fixtures/streams/pass | 435 +++++++++------- .../test_helpers/fixtures/transactions/pass | 478 +++++++++--------- 2 files changed, 507 insertions(+), 406 deletions(-) diff --git a/internal/test_helpers/fixtures/streams/pass b/internal/test_helpers/fixtures/streams/pass index 819ee99..a7a8aad 100644 --- a/internal/test_helpers/fixtures/streams/pass +++ b/internal/test_helpers/fixtures/streams/pass @@ -214,8 +214,11 @@ Debug = true [stage-36] Running tests for Stage #36: xu6 [stage-36] $ ./spawn_redis_server.sh -[stage-36] $ redis-cli xadd "mango" * foo bar -[stage-36] Received response: ""1718351938723-0"" +[stage-36] client: $ redis-cli XADD mango * foo bar +[stage-36] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$5\r\nmango\r\n$1\r\n*\r\n$3\r\nfoo\r\n$3\r\nbar\r\n" +[stage-36] client: Received bytes: "$15\r\n1718620976077-0\r\n" +[stage-36] client: Received RESP bulk string: "1718620976077-0" +[stage-36] Received "1718620976077-0" [stage-36] The first part of the ID is a valid unix milliseconds timestamp [stage-36] The second part of the ID is a valid sequence number [stage-36] Test passed. @@ -224,57 +227,96 @@ Debug = true [stage-35] Running tests for Stage #35: yh3 [stage-35] $ ./spawn_redis_server.sh -[stage-35] $ redis-cli xadd "apple" "0-*" "foo bar" -[stage-35] Received response: ""0-1"" -[stage-35] $ redis-cli xadd "apple" "1-*" "foo bar" -[stage-35] Received response: ""1-0"" -[stage-35] $ redis-cli xadd "apple" "1-*" "bar baz" -[stage-35] Received response: ""1-1"" +[stage-35] client: $ redis-cli XADD apple 0-* blueberry mango +[stage-35] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$5\r\napple\r\n$3\r\n0-*\r\n$9\r\nblueberry\r\n$5\r\nmango\r\n" +[stage-35] client: Received bytes: "$3\r\n0-1\r\n" +[stage-35] client: Received RESP bulk string: "0-1" +[stage-35] Received "0-1" +[stage-35] client: > XADD apple 1-* blueberry mango +[stage-35] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$5\r\napple\r\n$3\r\n1-*\r\n$9\r\nblueberry\r\n$5\r\nmango\r\n" +[stage-35] client: Received bytes: "$3\r\n1-0\r\n" +[stage-35] client: Received RESP bulk string: "1-0" +[stage-35] Received "1-0" +[stage-35] client: > XADD apple 1-* mango banana +[stage-35] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$5\r\napple\r\n$3\r\n1-*\r\n$5\r\nmango\r\n$6\r\nbanana\r\n" +[stage-35] client: Received bytes: "$3\r\n1-1\r\n" +[stage-35] client: Received RESP bulk string: "1-1" +[stage-35] Received "1-1" [stage-35] Test passed. [stage-35] Terminating program [stage-35] Program terminated successfully [stage-34] Running tests for Stage #34: hq8 [stage-34] $ ./spawn_redis_server.sh -[stage-34] $ redis-cli xadd "pear" "1-1" "foo bar" -[stage-34] Received response: ""1-1"" -[stage-34] $ redis-cli xadd "pear" "1-2" "bar baz" -[stage-34] Received response: ""1-2"" -[stage-34] $ redis-cli xadd "pear" "1-2" "baz foo" -[stage-34] Received error: ""ERR The ID specified in XADD is equal or smaller than the target stream top item"" -[stage-34] $ redis-cli xadd "pear" "0-3" "baz foo" -[stage-34] Received error: ""ERR The ID specified in XADD is equal or smaller than the target stream top item"" -[stage-34] $ redis-cli xadd "pear" "0-0" "baz foo" -[stage-34] Received error: ""ERR The ID specified in XADD must be greater than 0-0"" +[stage-34] client: $ redis-cli XADD blueberry 1-1 blueberry strawberry +[stage-34] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$9\r\nblueberry\r\n$3\r\n1-1\r\n$9\r\nblueberry\r\n$10\r\nstrawberry\r\n" +[stage-34] client: Received bytes: "$3\r\n1-1\r\n" +[stage-34] client: Received RESP bulk string: "1-1" +[stage-34] Received "1-1" +[stage-34] client: > XADD blueberry 1-2 apple grape +[stage-34] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$9\r\nblueberry\r\n$3\r\n1-2\r\n$5\r\napple\r\n$5\r\ngrape\r\n" +[stage-34] client: Received bytes: "$3\r\n1-2\r\n" +[stage-34] client: Received RESP bulk string: "1-2" +[stage-34] Received "1-2" +[stage-34] client: > XADD blueberry 1-2 mango pineapple +[stage-34] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$9\r\nblueberry\r\n$3\r\n1-2\r\n$5\r\nmango\r\n$9\r\npineapple\r\n" +[stage-34] client: Received bytes: "-ERR The ID specified in XADD is equal or smaller than the target stream top item\r\n" +[stage-34] client: Received RESP error: "ERR: ERR The ID specified in XADD is equal or smaller than the target stream top item" +[stage-34] Received "ERR: ERR The ID specified in XADD is equal or smaller than the target stream top item" +[stage-34] client: > XADD blueberry 0-3 pear banana +[stage-34] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$9\r\nblueberry\r\n$3\r\n0-3\r\n$4\r\npear\r\n$6\r\nbanana\r\n" +[stage-34] client: Received bytes: "-ERR The ID specified in XADD is equal or smaller than the target stream top item\r\n" +[stage-34] client: Received RESP error: "ERR: ERR The ID specified in XADD is equal or smaller than the target stream top item" +[stage-34] Received "ERR: ERR The ID specified in XADD is equal or smaller than the target stream top item" +[stage-34] client: > XADD blueberry 0-0 orange raspberry +[stage-34] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$9\r\nblueberry\r\n$3\r\n0-0\r\n$6\r\norange\r\n$9\r\nraspberry\r\n" +[stage-34] client: Received bytes: "-ERR The ID specified in XADD must be greater than 0-0\r\n" +[stage-34] client: Received RESP error: "ERR: ERR The ID specified in XADD must be greater than 0-0" +[stage-34] Received "ERR: ERR The ID specified in XADD must be greater than 0-0" [stage-34] Test passed. [stage-34] Terminating program [stage-34] Program terminated successfully [stage-33] Running tests for Stage #33: cf6 [stage-33] $ ./spawn_redis_server.sh -[stage-33] $ redis-cli xadd "banana" "0-1" "foo bar" -[stage-33] Received response: ""0-1"" -[stage-33] $ redis-cli type "banana" -[stage-33] Type of "banana" is "stream" +[stage-33] client: $ redis-cli XADD blueberry 0-1 foo bar +[stage-33] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$9\r\nblueberry\r\n$3\r\n0-1\r\n$3\r\nfoo\r\n$3\r\nbar\r\n" +[stage-33] client: Received bytes: "$3\r\n0-1\r\n" +[stage-33] client: Received RESP bulk string: "0-1" +[stage-33] Received "0-1" +[stage-33] client: > TYPE blueberry +[stage-33] client: Sent bytes: "*2\r\n$4\r\nTYPE\r\n$9\r\nblueberry\r\n" +[stage-33] client: Received bytes: "+stream\r\n" +[stage-33] client: Received RESP simple string: "stream" +[stage-33] Received "stream" [stage-33] Test passed. [stage-33] Terminating program [stage-33] Program terminated successfully [stage-32] Running tests for Stage #32: cc3 [stage-32] $ ./spawn_redis_server.sh -[stage-32] $ redis-cli set "pineapple" "raspberry" -[stage-32] Received response: ""OK"" -[stage-32] $ redis-cli type "pineapple" -[stage-32] Type of "pineapple" is "string" -[stage-32] $ redis-cli type "missing_key_raspberry" -[stage-32] Type of missing_key_"raspberry" is "none" +[stage-32] client: $ redis-cli SET banana apple +[stage-32] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$6\r\nbanana\r\n$5\r\napple\r\n" +[stage-32] client: Received bytes: "+OK\r\n" +[stage-32] client: Received RESP simple string: "OK" +[stage-32] Received "OK" +[stage-32] client: > TYPE banana +[stage-32] client: Sent bytes: "*2\r\n$4\r\nTYPE\r\n$6\r\nbanana\r\n" +[stage-32] client: Received bytes: "+string\r\n" +[stage-32] client: Received RESP simple string: "string" +[stage-32] Received "string" +[stage-32] client: > TYPE missing_key_apple +[stage-32] client: Sent bytes: "*2\r\n$4\r\nTYPE\r\n$17\r\nmissing_key_apple\r\n" +[stage-32] client: Received bytes: "+none\r\n" +[stage-32] client: Received RESP simple string: "none" +[stage-32] Received "none" [stage-32] Test passed. [stage-32] Terminating program [stage-32] Program terminated successfully [stage-31] Running tests for Stage #31: na2 [stage-31] $ ./spawn_redis_server.sh --port 6379 -[stage-31] Proceeding to create 3 replicas. +[stage-31] Proceeding to create 4 replicas. [stage-31] Creating replica: 1 [stage-31] replica-1: $ redis-cli PING [stage-31] replica-1: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -293,11 +335,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-1: > PSYNC ? -1 [stage-31] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-1: Received bytes: "+FULLRESYNC 8965bde70155f67b71a42d008e93f087ae062fcb 0\r\n" -[stage-31] replica-1: Received RESP simple string: "FULLRESYNC 8965bde70155f67b71a42d008e93f087ae062fcb 0" -[stage-31] Received "FULLRESYNC 8965bde70155f67b71a42d008e93f087ae062fcb 0" +[stage-31] replica-1: Received bytes: "+FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0\r\n" +[stage-31] replica-1: Received RESP simple string: "FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0" +[stage-31] Received "FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0" [stage-31] Reading RDB file... -[stage-31] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2C\xf8kf\xfa\bused-mem\xc2P\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8965bde70155f67b71a42d008e93f087ae062fcb\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\u0378V\x1f\xdd\x15\\\xff" +[stage-31] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc20\x13pf\xfa\bused-mem°\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(0ec17c1a04766b45256ee80cce2d495c5a9e1a11\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xa3\xdc\x10r\xbdu\xbd\x83" [stage-31] Received RDB file [stage-31] Creating replica: 2 [stage-31] replica-2: $ redis-cli PING @@ -317,11 +359,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-2: > PSYNC ? -1 [stage-31] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-2: Received bytes: "+FULLRESYNC 8965bde70155f67b71a42d008e93f087ae062fcb 0\r\n" -[stage-31] replica-2: Received RESP simple string: "FULLRESYNC 8965bde70155f67b71a42d008e93f087ae062fcb 0" -[stage-31] Received "FULLRESYNC 8965bde70155f67b71a42d008e93f087ae062fcb 0" +[stage-31] replica-2: Received bytes: "+FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0\r\n" +[stage-31] replica-2: Received RESP simple string: "FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0" +[stage-31] Received "FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0" [stage-31] Reading RDB file... -[stage-31] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2C\xf8kf\xfa\bused-mem\xc2\xe0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8965bde70155f67b71a42d008e93f087ae062fcb\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x86K\xf1O\xbbq(\xa6" +[stage-31] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc20\x13pf\xfa\bused-mem\xc2@\xf6\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(0ec17c1a04766b45256ee80cce2d495c5a9e1a11\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff>(\x9d\xf2\x83+*L" [stage-31] Received RDB file [stage-31] Creating replica: 3 [stage-31] replica-3: $ redis-cli PING @@ -341,11 +383,35 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-3: > PSYNC ? -1 [stage-31] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-3: Received bytes: "+FULLRESYNC 8965bde70155f67b71a42d008e93f087ae062fcb 0\r\n" -[stage-31] replica-3: Received RESP simple string: "FULLRESYNC 8965bde70155f67b71a42d008e93f087ae062fcb 0" -[stage-31] Received "FULLRESYNC 8965bde70155f67b71a42d008e93f087ae062fcb 0" +[stage-31] replica-3: Received bytes: "+FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0\r\n" +[stage-31] replica-3: Received RESP simple string: "FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0" +[stage-31] Received "FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0" [stage-31] Reading RDB file... -[stage-31] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2C\xf8kf\xfa\bused-mem\xc2\xe0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8965bde70155f67b71a42d008e93f087ae062fcb\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xbeli\aR\xbe\xbf\x88" +[stage-31] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc20\x13pf\xfa\bused-mem\xc2@A\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(0ec17c1a04766b45256ee80cce2d495c5a9e1a11\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\a\xc0d\x88 [\xe4\xd7" +[stage-31] Received RDB file +[stage-31] Creating replica: 4 +[stage-31] replica-4: $ redis-cli PING +[stage-31] replica-4: Sent bytes: "*1\r\n$4\r\nPING\r\n" +[stage-31] replica-4: Received bytes: "+PONG\r\n" +[stage-31] replica-4: Received RESP simple string: "PONG" +[stage-31] Received "PONG" +[stage-31] replica-4: > REPLCONF listening-port 6383 +[stage-31] replica-4: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6383\r\n" +[stage-31] replica-4: Received bytes: "+OK\r\n" +[stage-31] replica-4: Received RESP simple string: "OK" +[stage-31] Received "OK" +[stage-31] replica-4: > REPLCONF capa psync2 +[stage-31] replica-4: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" +[stage-31] replica-4: Received bytes: "+OK\r\n" +[stage-31] replica-4: Received RESP simple string: "OK" +[stage-31] Received "OK" +[stage-31] replica-4: > PSYNC ? -1 +[stage-31] replica-4: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" +[stage-31] replica-4: Received bytes: "+FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0\r\n" +[stage-31] replica-4: Received RESP simple string: "FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0" +[stage-31] Received "FULLRESYNC 0ec17c1a04766b45256ee80cce2d495c5a9e1a11 0" +[stage-31] Reading RDB file... +[stage-31] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc20\x13pf\xfa\bused-mem\xc2P\x8c\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(0ec17c1a04766b45256ee80cce2d495c5a9e1a11\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xab7\xd0\xf1\xbb\xc6B\x8b" [stage-31] Received RDB file [stage-31] client: $ redis-cli SET foo 123 [stage-31] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -392,6 +458,18 @@ Debug = true [stage-31] replica-3: Received RESP array: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] [stage-31] replica-3: Not sending ACK to Master +[stage-31] Testing Replica : 4 +[stage-31] replica-4: Expecting "SET foo 123" to be propagated +[stage-31] replica-4: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" +[stage-31] replica-4: Received RESP array: ["SELECT", "0"] +[stage-31] replica-4: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" +[stage-31] replica-4: Received RESP array: ["SET", "foo", "123"] +[stage-31] Received ["SET", "foo", "123"] +[stage-31] replica-4: Expecting "REPLCONF GETACK *" from Master +[stage-31] replica-4: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" +[stage-31] replica-4: Received RESP array: ["REPLCONF", "GETACK", "*"] +[stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-4: Not sending ACK to Master [stage-31] client: Received bytes: ":1\r\n" [stage-31] client: Received RESP integer: 1 [stage-31] Passed first WAIT test. @@ -400,8 +478,8 @@ Debug = true [stage-31] client: Received bytes: "+OK\r\n" [stage-31] client: Received RESP simple string: "OK" [stage-31] Received "OK" -[stage-31] client: > WAIT 3 2000 -[stage-31] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n3\r\n$4\r\n2000\r\n" +[stage-31] client: > WAIT 4 2000 +[stage-31] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n4\r\n$4\r\n2000\r\n" [stage-31] Testing Replica : 1 [stage-31] replica-1: Expecting "SET baz 789" to be propagated [stage-31] replica-1: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" @@ -435,10 +513,22 @@ Debug = true [stage-31] replica-3: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" [stage-31] replica-3: Received RESP array: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] -[stage-31] replica-3: Not sending ACK to Master -[stage-31] client: Received bytes: ":2\r\n" -[stage-31] client: Received RESP integer: 2 -[stage-31] WAIT command returned after 2009 ms +[stage-31] replica-3: Sending ACK to Master +[stage-31] replica-3: $ redis-cli REPLCONF ACK 122 +[stage-31] replica-3: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$3\r\n122\r\n" +[stage-31] Testing Replica : 4 +[stage-31] replica-4: Expecting "SET baz 789" to be propagated +[stage-31] replica-4: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" +[stage-31] replica-4: Received RESP array: ["SET", "baz", "789"] +[stage-31] Received ["SET", "baz", "789"] +[stage-31] replica-4: Expecting "REPLCONF GETACK *" from Master +[stage-31] replica-4: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" +[stage-31] replica-4: Received RESP array: ["REPLCONF", "GETACK", "*"] +[stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-4: Not sending ACK to Master +[stage-31] client: Received bytes: ":3\r\n" +[stage-31] client: Received RESP integer: 3 +[stage-31] WAIT command returned after 2102 ms [stage-31] Test passed. [stage-31] Terminating program [stage-31] Program terminated successfully @@ -464,11 +554,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-1: > PSYNC ? -1 [stage-30] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-1: Received bytes: "+FULLRESYNC 6a4bad58bfdbc1ed46748a175209b2ec761524ed 0\r\n" -[stage-30] replica-1: Received RESP simple string: "FULLRESYNC 6a4bad58bfdbc1ed46748a175209b2ec761524ed 0" -[stage-30] Received "FULLRESYNC 6a4bad58bfdbc1ed46748a175209b2ec761524ed 0" +[stage-30] replica-1: Received bytes: "+FULLRESYNC 9ec245f8528d0b063a49040204e2a7fa3bbcbed5 0\r\n" +[stage-30] replica-1: Received RESP simple string: "FULLRESYNC 9ec245f8528d0b063a49040204e2a7fa3bbcbed5 0" +[stage-30] Received "FULLRESYNC 9ec245f8528d0b063a49040204e2a7fa3bbcbed5 0" [stage-30] Reading RDB file... -[stage-30] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2E\xf8kf\xfa\bused-mem\xc2\xf0\r\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(6a4bad58bfdbc1ed46748a175209b2ec761524ed\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x19m^ \x0e\b-N" +[stage-30] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc23\x13pf\xfa\bused-mem\xc2P\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(9ec245f8528d0b063a49040204e2a7fa3bbcbed5\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffS\xfd\xbd\xf4\xae1\x1c\xbd" [stage-30] Received RDB file [stage-30] Creating replica: 2 [stage-30] replica-2: $ redis-cli PING @@ -488,11 +578,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-2: > PSYNC ? -1 [stage-30] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-2: Received bytes: "+FULLRESYNC 6a4bad58bfdbc1ed46748a175209b2ec761524ed 0\r\n" -[stage-30] replica-2: Received RESP simple string: "FULLRESYNC 6a4bad58bfdbc1ed46748a175209b2ec761524ed 0" -[stage-30] Received "FULLRESYNC 6a4bad58bfdbc1ed46748a175209b2ec761524ed 0" +[stage-30] replica-2: Received bytes: "+FULLRESYNC 9ec245f8528d0b063a49040204e2a7fa3bbcbed5 0\r\n" +[stage-30] replica-2: Received RESP simple string: "FULLRESYNC 9ec245f8528d0b063a49040204e2a7fa3bbcbed5 0" +[stage-30] Received "FULLRESYNC 9ec245f8528d0b063a49040204e2a7fa3bbcbed5 0" [stage-30] Reading RDB file... -[stage-30] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2E\xf8kf\xfa\bused-mem\u0080\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(6a4bad58bfdbc1ed46748a175209b2ec761524ed\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff+\xc7%V_\xe3\x96s" +[stage-30] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc23\x13pf\xfa\bused-mem\xc2\xe0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(9ec245f8528d0b063a49040204e2a7fa3bbcbed5\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x18\x0e\x1a\xa4\xc8Uh\xe4" [stage-30] Received RDB file [stage-30] Creating replica: 3 [stage-30] replica-3: $ redis-cli PING @@ -512,11 +602,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-3: > PSYNC ? -1 [stage-30] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-3: Received bytes: "+FULLRESYNC 6a4bad58bfdbc1ed46748a175209b2ec761524ed 0\r\n" -[stage-30] replica-3: Received RESP simple string: "FULLRESYNC 6a4bad58bfdbc1ed46748a175209b2ec761524ed 0" -[stage-30] Received "FULLRESYNC 6a4bad58bfdbc1ed46748a175209b2ec761524ed 0" +[stage-30] replica-3: Received bytes: "+FULLRESYNC 9ec245f8528d0b063a49040204e2a7fa3bbcbed5 0\r\n" +[stage-30] replica-3: Received RESP simple string: "FULLRESYNC 9ec245f8528d0b063a49040204e2a7fa3bbcbed5 0" +[stage-30] Received "FULLRESYNC 9ec245f8528d0b063a49040204e2a7fa3bbcbed5 0" [stage-30] Reading RDB file... -[stage-30] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2E\xf8kf\xfa\bused-mem\u0080@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(6a4bad58bfdbc1ed46748a175209b2ec761524ed\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x13\xe0\xbd\x1e\xb6,\x01]" +[stage-30] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc23\x13pf\xfa\bused-mem\xc2\xe0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(9ec245f8528d0b063a49040204e2a7fa3bbcbed5\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff )\x82\xec!\x9a\xff\xca" [stage-30] Received RDB file [stage-30] client: $ redis-cli WAIT 3 500 [stage-30] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n3\r\n$3\r\n500\r\n" @@ -590,15 +680,15 @@ Debug = true [stage-28] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$2\r\n51\r\n" [stage-28] master: Received RESP array: ["REPLCONF", "ACK", "51"] [stage-28] Received ["REPLCONF", "ACK", "51"] -[stage-28] master: > SET banana pear -[stage-28] master: Sent bytes: "*3\r\n$3\r\nSET\r\n$6\r\nbanana\r\n$4\r\npear\r\n" -[stage-28] master: > SET apple blueberry -[stage-28] master: Sent bytes: "*3\r\n$3\r\nSET\r\n$5\r\napple\r\n$9\r\nblueberry\r\n" +[stage-28] master: > SET raspberry banana +[stage-28] master: Sent bytes: "*3\r\n$3\r\nSET\r\n$9\r\nraspberry\r\n$6\r\nbanana\r\n" +[stage-28] master: > SET blueberry apple +[stage-28] master: Sent bytes: "*3\r\n$3\r\nSET\r\n$9\r\nblueberry\r\n$5\r\napple\r\n" [stage-28] master: > REPLCONF GETACK * [stage-28] master: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" -[stage-28] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$3\r\n162\r\n" -[stage-28] master: Received RESP array: ["REPLCONF", "ACK", "162"] -[stage-28] Received ["REPLCONF", "ACK", "162"] +[stage-28] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$3\r\n167\r\n" +[stage-28] master: Received RESP array: ["REPLCONF", "ACK", "167"] +[stage-28] Received ["REPLCONF", "ACK", "167"] [stage-28] Test passed. [stage-28] Terminating program [stage-28] Program terminated successfully @@ -720,11 +810,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-1: > PSYNC ? -1 [stage-25] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-1: Received bytes: "+FULLRESYNC 076f601d81e979b1530c70e56a413fe84ef9cc43 0\r\n" -[stage-25] replica-1: Received RESP simple string: "FULLRESYNC 076f601d81e979b1530c70e56a413fe84ef9cc43 0" -[stage-25] Received "FULLRESYNC 076f601d81e979b1530c70e56a413fe84ef9cc43 0" +[stage-25] replica-1: Received bytes: "+FULLRESYNC db4f4ba46b71964b22d6e330d8f01173cebb20aa 0\r\n" +[stage-25] replica-1: Received RESP simple string: "FULLRESYNC db4f4ba46b71964b22d6e330d8f01173cebb20aa 0" +[stage-25] Received "FULLRESYNC db4f4ba46b71964b22d6e330d8f01173cebb20aa 0" [stage-25] Reading RDB file... -[stage-25] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2G\xf8kf\xfa\bused-mem\xc2\xc0S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(076f601d81e979b1530c70e56a413fe84ef9cc43\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffq\x14\xd3\xcco\xd7\x1d\x00" +[stage-25] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc25\x13pf\xfa\bused-mem\xc2\xe0S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(db4f4ba46b71964b22d6e330d8f01173cebb20aa\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf1No\xfa\xb0P\xd3\xcf" [stage-25] Received RDB file [stage-25] Creating replica: 2 [stage-25] replica-2: $ redis-cli PING @@ -744,11 +834,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-2: > PSYNC ? -1 [stage-25] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-2: Received bytes: "+FULLRESYNC 076f601d81e979b1530c70e56a413fe84ef9cc43 0\r\n" -[stage-25] replica-2: Received RESP simple string: "FULLRESYNC 076f601d81e979b1530c70e56a413fe84ef9cc43 0" -[stage-25] Received "FULLRESYNC 076f601d81e979b1530c70e56a413fe84ef9cc43 0" +[stage-25] replica-2: Received bytes: "+FULLRESYNC db4f4ba46b71964b22d6e330d8f01173cebb20aa 0\r\n" +[stage-25] replica-2: Received RESP simple string: "FULLRESYNC db4f4ba46b71964b22d6e330d8f01173cebb20aa 0" +[stage-25] Received "FULLRESYNC db4f4ba46b71964b22d6e330d8f01173cebb20aa 0" [stage-25] Reading RDB file... -[stage-25] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2H\xf8kf\xfa\bused-mem\xc20;\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(076f601d81e979b1530c70e56a413fe84ef9cc43\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffقu\xa3\x1a\xdbgr" +[stage-25] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc25\x13pf\xfa\bused-mem\xc2P;\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(db4f4ba46b71964b22d6e330d8f01173cebb20aa\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xfft\x15\xea\xbf-\x96c\x15" [stage-25] Received RDB file [stage-25] Creating replica: 3 [stage-25] replica-3: $ redis-cli PING @@ -768,11 +858,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-3: > PSYNC ? -1 [stage-25] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-3: Received bytes: "+FULLRESYNC 076f601d81e979b1530c70e56a413fe84ef9cc43 0\r\n" -[stage-25] replica-3: Received RESP simple string: "FULLRESYNC 076f601d81e979b1530c70e56a413fe84ef9cc43 0" -[stage-25] Received "FULLRESYNC 076f601d81e979b1530c70e56a413fe84ef9cc43 0" +[stage-25] replica-3: Received bytes: "+FULLRESYNC db4f4ba46b71964b22d6e330d8f01173cebb20aa 0\r\n" +[stage-25] replica-3: Received RESP simple string: "FULLRESYNC db4f4ba46b71964b22d6e330d8f01173cebb20aa 0" +[stage-25] Received "FULLRESYNC db4f4ba46b71964b22d6e330d8f01173cebb20aa 0" [stage-25] Reading RDB file... -[stage-25] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2H\xf8kf\xfa\bused-mem\xc2@J\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(076f601d81e979b1530c70e56a413fe84ef9cc43\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x1f\xb9w\x0eg\xc1\xd3O" +[stage-25] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc25\x13pf\xfa\bused-mem\xc2`J\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(db4f4ba46b71964b22d6e330d8f01173cebb20aa\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffP\xc8\xd8E\xceEm\xc4" [stage-25] Received RDB file [stage-25] client: $ redis-cli SET foo 123 [stage-25] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -857,11 +947,11 @@ Debug = true [stage-24] Received "OK" [stage-24] replica: > PSYNC ? -1 [stage-24] replica: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-24] replica: Received bytes: "+FULLRESYNC 341d75e90ca30f190449cdbe9a77e95ac3baf3cc 0\r\n" -[stage-24] replica: Received RESP simple string: "FULLRESYNC 341d75e90ca30f190449cdbe9a77e95ac3baf3cc 0" -[stage-24] Received "FULLRESYNC 341d75e90ca30f190449cdbe9a77e95ac3baf3cc 0" +[stage-24] replica: Received bytes: "+FULLRESYNC 2ad0d9066bdc573db539798471bbaf799d854b7b 0\r\n" +[stage-24] replica: Received RESP simple string: "FULLRESYNC 2ad0d9066bdc573db539798471bbaf799d854b7b 0" +[stage-24] Received "FULLRESYNC 2ad0d9066bdc573db539798471bbaf799d854b7b 0" [stage-24] Reading RDB file... -[stage-24] replica: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2H\xf8kf\xfa\bused-mem\xc2`S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(341d75e90ca30f190449cdbe9a77e95ac3baf3cc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x15)Jxƅg$" +[stage-24] replica: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc25\x13pf\xfa\bused-mem\xc2 S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(2ad0d9066bdc573db539798471bbaf799d854b7b\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffF\x1f\xfdt\xe8\xad\xc0\xf7" [stage-24] Received RDB file [stage-24] client: $ redis-cli SET foo 123 [stage-24] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -916,11 +1006,11 @@ Debug = true [stage-23] Received "OK" [stage-23] client: > PSYNC ? -1 [stage-23] client: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-23] client: Received bytes: "+FULLRESYNC bec7657fc36ac8fb2f6aeaa2ede91eea6a245b86 0\r\n" -[stage-23] client: Received RESP simple string: "FULLRESYNC bec7657fc36ac8fb2f6aeaa2ede91eea6a245b86 0" -[stage-23] Received "FULLRESYNC bec7657fc36ac8fb2f6aeaa2ede91eea6a245b86 0" +[stage-23] client: Received bytes: "+FULLRESYNC 1c12aae172b67174f07664fccd618d9a3974a6cd 0\r\n" +[stage-23] client: Received RESP simple string: "FULLRESYNC 1c12aae172b67174f07664fccd618d9a3974a6cd 0" +[stage-23] Received "FULLRESYNC 1c12aae172b67174f07664fccd618d9a3974a6cd 0" [stage-23] Reading RDB file... -[stage-23] client: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2H\xf8kf\xfa\bused-mem\xc2\xd0\r\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(bec7657fc36ac8fb2f6aeaa2ede91eea6a245b86\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x9a\x88\xa4\xf4èL^" +[stage-23] client: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc26\x13pf\xfa\bused-mem\xc2\xf0\r\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1c12aae172b67174f07664fccd618d9a3974a6cd\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xae\x82\x0f\x9fА\xb2\xbc" [stage-23] Received RDB file [stage-23] Test passed. [stage-23] Terminating program @@ -945,9 +1035,9 @@ Debug = true [stage-22] Received "OK" [stage-22] client: > PSYNC ? -1 [stage-22] client: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-22] client: Received bytes: "+FULLRESYNC 7a8142c02c705f559b35195392a38e09b9d7ccd9 0\r\n" -[stage-22] client: Received RESP simple string: "FULLRESYNC 7a8142c02c705f559b35195392a38e09b9d7ccd9 0" -[stage-22] Received "FULLRESYNC 7a8142c02c705f559b35195392a38e09b9d7ccd9 0" +[stage-22] client: Received bytes: "+FULLRESYNC 5842812d421f037bc2636802a3c889db0fef1d0f 0\r\n" +[stage-22] client: Received RESP simple string: "FULLRESYNC 5842812d421f037bc2636802a3c889db0fef1d0f 0" +[stage-22] Received "FULLRESYNC 5842812d421f037bc2636802a3c889db0fef1d0f 0" [stage-22] Test passed. [stage-22] Terminating program [stage-22] Program terminated successfully @@ -1046,9 +1136,9 @@ Debug = true [stage-17] $ ./spawn_redis_server.sh [stage-17] client: $ redis-cli INFO replication [stage-17] client: Sent bytes: "*2\r\n$4\r\nINFO\r\n$11\r\nreplication\r\n" -[stage-17] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:440193ba3ac20e968150152fb60781eb3631e128\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" -[stage-17] client: Received RESP bulk string: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:440193ba3ac20e968150152fb60781eb3631e128\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" -[stage-17] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:440193ba3ac20e968150152fb60781eb3631e128\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-17] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:63783026043491aae66afb1142a92a13e7120d74\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" +[stage-17] client: Received RESP bulk string: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:63783026043491aae66afb1142a92a13e7120d74\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-17] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:63783026043491aae66afb1142a92a13e7120d74\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" [stage-17] Found master_replid:xxx in response. [stage-17] Found master_reploffset:0 in response. [stage-17] Test passed. @@ -1089,97 +1179,102 @@ Debug = true [stage-15] $ ./spawn_redis_server.sh [stage-15] client: $ redis-cli INFO replication [stage-15] client: Sent bytes: "*2\r\n$4\r\nINFO\r\n$11\r\nreplication\r\n" -[stage-15] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:54df69f029f58da533312ef20853623a74aa0919\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" -[stage-15] client: Received RESP bulk string: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:54df69f029f58da533312ef20853623a74aa0919\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" -[stage-15] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:54df69f029f58da533312ef20853623a74aa0919\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-15] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:875c5beb6c092da01a5e014c3d404003518dc8f2\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" +[stage-15] client: Received RESP bulk string: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:875c5beb6c092da01a5e014c3d404003518dc8f2\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-15] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:875c5beb6c092da01a5e014c3d404003518dc8f2\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" [stage-15] Found role:master in response. [stage-15] Test passed. [stage-15] Terminating program [stage-15] Program terminated successfully [stage-14] Running tests for Stage #14: bw1 -[stage-14] $ ./spawn_redis_server.sh --port 6386 -[stage-14] Connecting to port 6386... +[stage-14] $ ./spawn_redis_server.sh --port 6382 +[stage-14] Connecting to port 6382... [stage-14] Connection successful [stage-14] Test passed. [stage-14] Terminating program [stage-14] Program terminated successfully [stage-13] Running tests for Stage #13: sm4 -[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3464846617 --dbfilename banana.rdb -[stage-13] client: $ redis-cli GET blueberry -[stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nblueberry\r\n" -[stage-13] client: Received bytes: "$4\r\npear\r\n" -[stage-13] client: Received RESP bulk string: "pear" -[stage-13] Received "pear" +[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3246685996 --dbfilename grape.rdb +[stage-13] client: $ redis-cli GET raspberry +[stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nraspberry\r\n" +[stage-13] client: Received bytes: "$9\r\npineapple\r\n" +[stage-13] client: Received RESP bulk string: "pineapple" +[stage-13] Received "pineapple" [stage-13] client: > GET orange [stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\norange\r\n" [stage-13] client: Received bytes: "$-1\r\n" [stage-13] client: Received RESP null bulk string: "$-1\r\n" [stage-13] Received "$-1\r\n" -[stage-13] client: > GET pear -[stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$4\r\npear\r\n" -[stage-13] client: Received bytes: "$10\r\nstrawberry\r\n" -[stage-13] client: Received RESP bulk string: "strawberry" -[stage-13] Received "strawberry" -[stage-13] client: > GET strawberry -[stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$10\r\nstrawberry\r\n" -[stage-13] client: Received bytes: "$5\r\nmango\r\n" -[stage-13] client: Received RESP bulk string: "mango" -[stage-13] Received "mango" +[stage-13] client: > GET apple +[stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\napple\r\n" +[stage-13] client: Received bytes: "$9\r\nraspberry\r\n" +[stage-13] client: Received RESP bulk string: "raspberry" +[stage-13] Received "raspberry" [stage-13] Test passed. [stage-13] Terminating program [stage-13] Program terminated successfully [stage-12] Running tests for Stage #12: dq3 -[stage-12] Created RDB file with key-value pairs: "pineapple"="pear", "raspberry"="strawberry", "pear"="pineapple" -[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1186933777 --dbfilename strawberry.rdb -[stage-12] client: $ redis-cli GET pineapple -[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\npineapple\r\n" +[stage-12] Created RDB file with key-value pairs: "banana"="grape", "blueberry"="pear", "apple"="raspberry", "orange"="banana", "mango"="blueberry" +[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles522923839 --dbfilename strawberry.rdb +[stage-12] client: $ redis-cli GET banana +[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\nbanana\r\n" +[stage-12] client: Received bytes: "$5\r\ngrape\r\n" +[stage-12] client: Received RESP bulk string: "grape" +[stage-12] Received "grape" +[stage-12] client: > GET blueberry +[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nblueberry\r\n" [stage-12] client: Received bytes: "$4\r\npear\r\n" [stage-12] client: Received RESP bulk string: "pear" [stage-12] Received "pear" -[stage-12] client: > GET raspberry -[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nraspberry\r\n" -[stage-12] client: Received bytes: "$10\r\nstrawberry\r\n" -[stage-12] client: Received RESP bulk string: "strawberry" -[stage-12] Received "strawberry" -[stage-12] client: > GET pear -[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$4\r\npear\r\n" -[stage-12] client: Received bytes: "$9\r\npineapple\r\n" -[stage-12] client: Received RESP bulk string: "pineapple" -[stage-12] Received "pineapple" +[stage-12] client: > GET apple +[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\napple\r\n" +[stage-12] client: Received bytes: "$9\r\nraspberry\r\n" +[stage-12] client: Received RESP bulk string: "raspberry" +[stage-12] Received "raspberry" +[stage-12] client: > GET orange +[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\norange\r\n" +[stage-12] client: Received bytes: "$6\r\nbanana\r\n" +[stage-12] client: Received RESP bulk string: "banana" +[stage-12] Received "banana" +[stage-12] client: > GET mango +[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\nmango\r\n" +[stage-12] client: Received bytes: "$9\r\nblueberry\r\n" +[stage-12] client: Received RESP bulk string: "blueberry" +[stage-12] Received "blueberry" [stage-12] Test passed. [stage-12] Terminating program [stage-12] Program terminated successfully [stage-11] Running tests for Stage #11: jw4 -[stage-11] Created RDB file with 4 keys: ["mango" "pineapple" "blueberry" "apple"] -[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1436298453 --dbfilename strawberry.rdb +[stage-11] Created RDB file with 5 keys: ["orange" "strawberry" "apple" "banana" "grape"] +[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3039702397 --dbfilename raspberry.rdb [stage-11] client: $ redis-cli KEYS * [stage-11] client: Sent bytes: "*2\r\n$4\r\nKEYS\r\n$1\r\n*\r\n" -[stage-11] client: Received bytes: "*4\r\n$5\r\napple\r\n$9\r\nblueberry\r\n$9\r\npineapple\r\n$5\r\nmango\r\n" -[stage-11] client: Received RESP array: ["apple", "blueberry", "pineapple", "mango"] -[stage-11] Received ["apple", "blueberry", "pineapple", "mango"] +[stage-11] client: Received bytes: "*5\r\n$10\r\nstrawberry\r\n$5\r\ngrape\r\n$5\r\napple\r\n$6\r\nbanana\r\n$6\r\norange\r\n" +[stage-11] client: Received RESP array: ["strawberry", "grape", "apple", "banana", "orange"] +[stage-11] Received ["strawberry", "grape", "apple", "banana", "orange"] [stage-11] Test passed. [stage-11] Terminating program [stage-11] Program terminated successfully [stage-10] Running tests for Stage #10: gc6 -[stage-10] Created RDB file with single key-value pair: grape="raspberry" -[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3560698957 --dbfilename blueberry.rdb -[stage-10] client: $ redis-cli GET grape -[stage-10] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\ngrape\r\n" -[stage-10] client: Received bytes: "$9\r\nraspberry\r\n" -[stage-10] client: Received RESP bulk string: "raspberry" -[stage-10] Received "raspberry" +[stage-10] Created RDB file with single key-value pair: raspberry="pear" +[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2354418207 --dbfilename pear.rdb +[stage-10] client: $ redis-cli GET raspberry +[stage-10] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nraspberry\r\n" +[stage-10] client: Received bytes: "$4\r\npear\r\n" +[stage-10] client: Received RESP bulk string: "pear" +[stage-10] Received "pear" [stage-10] Test passed. [stage-10] Terminating program [stage-10] Program terminated successfully [stage-9] Running tests for Stage #9: jz6 [stage-9] Created RDB file with single key: "orange" -[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3889048063 --dbfilename mango.rdb +[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2737675598 --dbfilename grape.rdb [stage-9] client: $ redis-cli KEYS * [stage-9] client: Sent bytes: "*2\r\n$4\r\nKEYS\r\n$1\r\n*\r\n" [stage-9] client: Received bytes: "*1\r\n$6\r\norange\r\n" @@ -1190,34 +1285,34 @@ Debug = true [stage-9] Program terminated successfully [stage-8] Running tests for Stage #8: zg5 -[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2176374416 --dbfilename raspberry.rdb +[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3124807128 --dbfilename pear.rdb [stage-8] client: $ redis-cli CONFIG GET dir [stage-8] client: Sent bytes: "*3\r\n$6\r\nCONFIG\r\n$3\r\nGET\r\n$3\r\ndir\r\n" -[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$75\r\n/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2176374416\r\n" -[stage-8] client: Received RESP array: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2176374416"] -[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2176374416"] +[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$75\r\n/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3124807128\r\n" +[stage-8] client: Received RESP array: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3124807128"] +[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3124807128"] [stage-8] Test passed. [stage-8] Terminating program [stage-8] Program terminated successfully [stage-7] Running tests for Stage #7: yz1 [stage-7] $ ./spawn_redis_server.sh -[stage-7] $ redis-cli SET banana orange px 100 -[stage-7] Sent bytes: "*5\r\n$3\r\nSET\r\n$6\r\nbanana\r\n$6\r\norange\r\n$2\r\npx\r\n$3\r\n100\r\n" +[stage-7] $ redis-cli SET pear mango px 100 +[stage-7] Sent bytes: "*5\r\n$3\r\nSET\r\n$4\r\npear\r\n$5\r\nmango\r\n$2\r\npx\r\n$3\r\n100\r\n" [stage-7] Received bytes: "+OK\r\n" [stage-7] Received RESP simple string: "OK" [stage-7] Received "OK" -[stage-7] Received OK at 13:29:07.724 -[stage-7] Fetching key "banana" at 13:29:07.724 (should not be expired) -[stage-7] > GET banana -[stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\nbanana\r\n" -[stage-7] Received bytes: "$6\r\norange\r\n" -[stage-7] Received RESP bulk string: "orange" -[stage-7] Received "orange" +[stage-7] Received OK at 16:13:05.278 +[stage-7] Fetching key "pear" at 16:13:05.278 (should not be expired) +[stage-7] > GET pear +[stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$4\r\npear\r\n" +[stage-7] Received bytes: "$5\r\nmango\r\n" +[stage-7] Received RESP bulk string: "mango" +[stage-7] Received "mango" [stage-7] Sleeping for 101ms -[stage-7] Fetching key "banana" at 13:29:07.827 (should be expired) -[stage-7] > GET banana -[stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\nbanana\r\n" +[stage-7] Fetching key "pear" at 16:13:05.381 (should be expired) +[stage-7] > GET pear +[stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$4\r\npear\r\n" [stage-7] Received bytes: "$-1\r\n" [stage-7] Received RESP null bulk string: "$-1\r\n" [stage-7] Received "$-1\r\n" @@ -1227,29 +1322,29 @@ Debug = true [stage-6] Running tests for Stage #6: la7 [stage-6] $ ./spawn_redis_server.sh -[stage-6] Setting key mango to apple -[stage-6] $ redis-cli SET mango apple -[stage-6] Sent bytes: "*3\r\n$3\r\nSET\r\n$5\r\nmango\r\n$5\r\napple\r\n" +[stage-6] Setting key blueberry to pineapple +[stage-6] $ redis-cli SET blueberry pineapple +[stage-6] Sent bytes: "*3\r\n$3\r\nSET\r\n$9\r\nblueberry\r\n$9\r\npineapple\r\n" [stage-6] Received bytes: "+OK\r\n" [stage-6] Received RESP simple string: "OK" [stage-6] Received "OK" -[stage-6] Getting key mango -[stage-6] > GET mango -[stage-6] Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\nmango\r\n" -[stage-6] Received bytes: "$5\r\napple\r\n" -[stage-6] Received RESP bulk string: "apple" -[stage-6] Received "apple" +[stage-6] Getting key blueberry +[stage-6] > GET blueberry +[stage-6] Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nblueberry\r\n" +[stage-6] Received bytes: "$9\r\npineapple\r\n" +[stage-6] Received RESP bulk string: "pineapple" +[stage-6] Received "pineapple" [stage-6] Test passed. [stage-6] Terminating program [stage-6] Program terminated successfully [stage-5] Running tests for Stage #5: qq0 [stage-5] $ ./spawn_redis_server.sh -[stage-5] $ redis-cli ECHO banana -[stage-5] Sent bytes: "*2\r\n$4\r\nECHO\r\n$6\r\nbanana\r\n" -[stage-5] Received bytes: "$6\r\nbanana\r\n" -[stage-5] Received RESP bulk string: "banana" -[stage-5] Received "banana" +[stage-5] $ redis-cli ECHO raspberry +[stage-5] Sent bytes: "*2\r\n$4\r\nECHO\r\n$9\r\nraspberry\r\n" +[stage-5] Received bytes: "$9\r\nraspberry\r\n" +[stage-5] Received RESP bulk string: "raspberry" +[stage-5] Received "raspberry" [stage-5] Test passed. [stage-5] Terminating program [stage-5] Program terminated successfully diff --git a/internal/test_helpers/fixtures/transactions/pass b/internal/test_helpers/fixtures/transactions/pass index aadea53..1351769 100644 --- a/internal/test_helpers/fixtures/transactions/pass +++ b/internal/test_helpers/fixtures/transactions/pass @@ -605,8 +605,11 @@ Debug = true [stage-36] Running tests for Stage #36: xu6 [stage-36] $ ./spawn_redis_server.sh -[stage-36] $ redis-cli xadd "pear" * foo bar -[stage-36] Received response: ""1718383812190-0"" +[stage-36] client: $ redis-cli XADD pear * foo bar +[stage-36] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$4\r\npear\r\n$1\r\n*\r\n$3\r\nfoo\r\n$3\r\nbar\r\n" +[stage-36] client: Received bytes: "$15\r\n1718621004091-0\r\n" +[stage-36] client: Received RESP bulk string: "1718621004091-0" +[stage-36] Received "1718621004091-0" [stage-36] The first part of the ID is a valid unix milliseconds timestamp [stage-36] The second part of the ID is a valid sequence number [stage-36] Test passed. @@ -615,50 +618,89 @@ Debug = true [stage-35] Running tests for Stage #35: yh3 [stage-35] $ ./spawn_redis_server.sh -[stage-35] $ redis-cli xadd "raspberry" "0-*" "foo bar" -[stage-35] Received response: ""0-1"" -[stage-35] $ redis-cli xadd "raspberry" "1-*" "foo bar" -[stage-35] Received response: ""1-0"" -[stage-35] $ redis-cli xadd "raspberry" "1-*" "bar baz" -[stage-35] Received response: ""1-1"" +[stage-35] client: $ redis-cli XADD raspberry 0-* apple banana +[stage-35] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$9\r\nraspberry\r\n$3\r\n0-*\r\n$5\r\napple\r\n$6\r\nbanana\r\n" +[stage-35] client: Received bytes: "$3\r\n0-1\r\n" +[stage-35] client: Received RESP bulk string: "0-1" +[stage-35] Received "0-1" +[stage-35] client: > XADD raspberry 1-* apple banana +[stage-35] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$9\r\nraspberry\r\n$3\r\n1-*\r\n$5\r\napple\r\n$6\r\nbanana\r\n" +[stage-35] client: Received bytes: "$3\r\n1-0\r\n" +[stage-35] client: Received RESP bulk string: "1-0" +[stage-35] Received "1-0" +[stage-35] client: > XADD raspberry 1-* banana pineapple +[stage-35] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$9\r\nraspberry\r\n$3\r\n1-*\r\n$6\r\nbanana\r\n$9\r\npineapple\r\n" +[stage-35] client: Received bytes: "$3\r\n1-1\r\n" +[stage-35] client: Received RESP bulk string: "1-1" +[stage-35] Received "1-1" [stage-35] Test passed. [stage-35] Terminating program [stage-35] Program terminated successfully [stage-34] Running tests for Stage #34: hq8 [stage-34] $ ./spawn_redis_server.sh -[stage-34] $ redis-cli xadd "blueberry" "1-1" "foo bar" -[stage-34] Received response: ""1-1"" -[stage-34] $ redis-cli xadd "blueberry" "1-2" "bar baz" -[stage-34] Received response: ""1-2"" -[stage-34] $ redis-cli xadd "blueberry" "1-2" "baz foo" -[stage-34] Received error: ""ERR The ID specified in XADD is equal or smaller than the target stream top item"" -[stage-34] $ redis-cli xadd "blueberry" "0-3" "baz foo" -[stage-34] Received error: ""ERR The ID specified in XADD is equal or smaller than the target stream top item"" -[stage-34] $ redis-cli xadd "blueberry" "0-0" "baz foo" -[stage-34] Received error: ""ERR The ID specified in XADD must be greater than 0-0"" +[stage-34] client: $ redis-cli XADD orange 1-1 pineapple apple +[stage-34] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$6\r\norange\r\n$3\r\n1-1\r\n$9\r\npineapple\r\n$5\r\napple\r\n" +[stage-34] client: Received bytes: "$3\r\n1-1\r\n" +[stage-34] client: Received RESP bulk string: "1-1" +[stage-34] Received "1-1" +[stage-34] client: > XADD orange 1-2 pear raspberry +[stage-34] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$6\r\norange\r\n$3\r\n1-2\r\n$4\r\npear\r\n$9\r\nraspberry\r\n" +[stage-34] client: Received bytes: "$3\r\n1-2\r\n" +[stage-34] client: Received RESP bulk string: "1-2" +[stage-34] Received "1-2" +[stage-34] client: > XADD orange 1-2 blueberry banana +[stage-34] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$6\r\norange\r\n$3\r\n1-2\r\n$9\r\nblueberry\r\n$6\r\nbanana\r\n" +[stage-34] client: Received bytes: "-ERR The ID specified in XADD is equal or smaller than the target stream top item\r\n" +[stage-34] client: Received RESP error: "ERR: ERR The ID specified in XADD is equal or smaller than the target stream top item" +[stage-34] Received "ERR: ERR The ID specified in XADD is equal or smaller than the target stream top item" +[stage-34] client: > XADD orange 0-3 mango strawberry +[stage-34] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$6\r\norange\r\n$3\r\n0-3\r\n$5\r\nmango\r\n$10\r\nstrawberry\r\n" +[stage-34] client: Received bytes: "-ERR The ID specified in XADD is equal or smaller than the target stream top item\r\n" +[stage-34] client: Received RESP error: "ERR: ERR The ID specified in XADD is equal or smaller than the target stream top item" +[stage-34] Received "ERR: ERR The ID specified in XADD is equal or smaller than the target stream top item" +[stage-34] client: > XADD orange 0-0 orange grape +[stage-34] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$6\r\norange\r\n$3\r\n0-0\r\n$6\r\norange\r\n$5\r\ngrape\r\n" +[stage-34] client: Received bytes: "-ERR The ID specified in XADD must be greater than 0-0\r\n" +[stage-34] client: Received RESP error: "ERR: ERR The ID specified in XADD must be greater than 0-0" +[stage-34] Received "ERR: ERR The ID specified in XADD must be greater than 0-0" [stage-34] Test passed. [stage-34] Terminating program [stage-34] Program terminated successfully [stage-33] Running tests for Stage #33: cf6 [stage-33] $ ./spawn_redis_server.sh -[stage-33] $ redis-cli xadd "blueberry" "0-1" "foo bar" -[stage-33] Received response: ""0-1"" -[stage-33] $ redis-cli type "blueberry" -[stage-33] Type of "blueberry" is "stream" +[stage-33] client: $ redis-cli XADD grape 0-1 foo bar +[stage-33] client: Sent bytes: "*5\r\n$4\r\nXADD\r\n$5\r\ngrape\r\n$3\r\n0-1\r\n$3\r\nfoo\r\n$3\r\nbar\r\n" +[stage-33] client: Received bytes: "$3\r\n0-1\r\n" +[stage-33] client: Received RESP bulk string: "0-1" +[stage-33] Received "0-1" +[stage-33] client: > TYPE grape +[stage-33] client: Sent bytes: "*2\r\n$4\r\nTYPE\r\n$5\r\ngrape\r\n" +[stage-33] client: Received bytes: "+stream\r\n" +[stage-33] client: Received RESP simple string: "stream" +[stage-33] Received "stream" [stage-33] Test passed. [stage-33] Terminating program [stage-33] Program terminated successfully [stage-32] Running tests for Stage #32: cc3 [stage-32] $ ./spawn_redis_server.sh -[stage-32] $ redis-cli set "mango" "banana" -[stage-32] Received response: ""OK"" -[stage-32] $ redis-cli type "mango" -[stage-32] Type of "mango" is "string" -[stage-32] $ redis-cli type "missing_key_banana" -[stage-32] Type of missing_key_"banana" is "none" +[stage-32] client: $ redis-cli SET pineapple blueberry +[stage-32] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$9\r\npineapple\r\n$9\r\nblueberry\r\n" +[stage-32] client: Received bytes: "+OK\r\n" +[stage-32] client: Received RESP simple string: "OK" +[stage-32] Received "OK" +[stage-32] client: > TYPE pineapple +[stage-32] client: Sent bytes: "*2\r\n$4\r\nTYPE\r\n$9\r\npineapple\r\n" +[stage-32] client: Received bytes: "+string\r\n" +[stage-32] client: Received RESP simple string: "string" +[stage-32] Received "string" +[stage-32] client: > TYPE missing_key_blueberry +[stage-32] client: Sent bytes: "*2\r\n$4\r\nTYPE\r\n$21\r\nmissing_key_blueberry\r\n" +[stage-32] client: Received bytes: "+none\r\n" +[stage-32] client: Received RESP simple string: "none" +[stage-32] Received "none" [stage-32] Test passed. [stage-32] Terminating program [stage-32] Program terminated successfully @@ -684,11 +726,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-1: > PSYNC ? -1 [stage-31] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-1: Received bytes: "+FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0\r\n" -[stage-31] replica-1: Received RESP simple string: "FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0" -[stage-31] Received "FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0" +[stage-31] replica-1: Received bytes: "+FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0\r\n" +[stage-31] replica-1: Received RESP simple string: "FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0" +[stage-31] Received "FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0" [stage-31] Reading RDB file... -[stage-31] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc4tlf\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe4\x986i\xa6\x02\xe0\xc3" +[stage-31] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2L\x13pf\xfa\bused-mem\xc2\x10\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(2531e08230f11faca6de5ea2ba9c6f62b1ae91eb\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff*oN\xf3\x99f-;" [stage-31] Received RDB file [stage-31] Creating replica: 2 [stage-31] replica-2: $ redis-cli PING @@ -708,11 +750,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-2: > PSYNC ? -1 [stage-31] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-2: Received bytes: "+FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0\r\n" -[stage-31] replica-2: Received RESP simple string: "FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0" -[stage-31] Received "FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0" +[stage-31] replica-2: Received bytes: "+FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0\r\n" +[stage-31] replica-2: Received RESP simple string: "FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0" +[stage-31] Received "FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0" [stage-31] Reading RDB file... -[stage-31] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc4tlf\xfa\bused-mem\xc2\xc0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffM\x8d\xa1n^\xaf.v" +[stage-31] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2L\x13pf\xfa\bused-mem\u00a0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(2531e08230f11faca6de5ea2ba9c6f62b1ae91eb\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffa\x9c\xe9\xa3\xff\x02Yb" [stage-31] Received RDB file [stage-31] Creating replica: 3 [stage-31] replica-3: $ redis-cli PING @@ -732,11 +774,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-3: > PSYNC ? -1 [stage-31] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-3: Received bytes: "+FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0\r\n" -[stage-31] replica-3: Received RESP simple string: "FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0" -[stage-31] Received "FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0" +[stage-31] replica-3: Received bytes: "+FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0\r\n" +[stage-31] replica-3: Received RESP simple string: "FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0" +[stage-31] Received "FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0" [stage-31] Reading RDB file... -[stage-31] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc4tlf\xfa\bused-mem\xc2\xc0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffu\xaa9&\xb7`\xb9X" +[stage-31] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2L\x13pf\xfa\bused-mem\u00a0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(2531e08230f11faca6de5ea2ba9c6f62b1ae91eb\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffY\xbbq\xeb\x16\xcd\xceL" [stage-31] Received RDB file [stage-31] Creating replica: 4 [stage-31] replica-4: $ redis-cli PING @@ -756,11 +798,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-4: > PSYNC ? -1 [stage-31] replica-4: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-4: Received bytes: "+FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0\r\n" -[stage-31] replica-4: Received RESP simple string: "FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0" -[stage-31] Received "FULLRESYNC 1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7 0" +[stage-31] replica-4: Received bytes: "+FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0\r\n" +[stage-31] replica-4: Received RESP simple string: "FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0" +[stage-31] Received "FULLRESYNC 2531e08230f11faca6de5ea2ba9c6f62b1ae91eb 0" [stage-31] Reading RDB file... -[stage-31] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc5tlf\xfa\bused-mem\xc2Ћ\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1c06ed29c4a083a5302082fabaa3a0b91c9a3bf7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffDj\xe05Z\xab\xfa." +[stage-31] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2L\x13pf\xfa\bused-mem°\x8b\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(2531e08230f11faca6de5ea2ba9c6f62b1ae91eb\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x9d\x8e\xf0\x9c\x00\xb7\xdb\xe4" [stage-31] Received RDB file [stage-31] client: $ redis-cli SET foo 123 [stage-31] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -827,8 +869,8 @@ Debug = true [stage-31] client: Received bytes: "+OK\r\n" [stage-31] client: Received RESP simple string: "OK" [stage-31] Received "OK" -[stage-31] client: > WAIT 3 2000 -[stage-31] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n3\r\n$4\r\n2000\r\n" +[stage-31] client: > WAIT 4 2000 +[stage-31] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n4\r\n$4\r\n2000\r\n" [stage-31] Testing Replica : 1 [stage-31] replica-1: Expecting "SET baz 789" to be propagated [stage-31] replica-1: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" @@ -862,7 +904,9 @@ Debug = true [stage-31] replica-3: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" [stage-31] replica-3: Received RESP array: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] -[stage-31] replica-3: Not sending ACK to Master +[stage-31] replica-3: Sending ACK to Master +[stage-31] replica-3: $ redis-cli REPLCONF ACK 122 +[stage-31] replica-3: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$3\r\n122\r\n" [stage-31] Testing Replica : 4 [stage-31] replica-4: Expecting "SET baz 789" to be propagated [stage-31] replica-4: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" @@ -873,8 +917,8 @@ Debug = true [stage-31] replica-4: Received RESP array: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] [stage-31] replica-4: Not sending ACK to Master -[stage-31] client: Received bytes: ":2\r\n" -[stage-31] client: Received RESP integer: 2 +[stage-31] client: Received bytes: ":3\r\n" +[stage-31] client: Received RESP integer: 3 [stage-31] WAIT command returned after 2097 ms [stage-31] Test passed. [stage-31] Terminating program @@ -882,7 +926,7 @@ Debug = true [stage-30] Running tests for Stage #30: tu8 [stage-30] $ ./spawn_redis_server.sh --port 6379 -[stage-30] Proceeding to create 6 replicas. +[stage-30] Proceeding to create 4 replicas. [stage-30] Creating replica: 1 [stage-30] replica-1: $ redis-cli PING [stage-30] replica-1: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -901,11 +945,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-1: > PSYNC ? -1 [stage-30] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-1: Received bytes: "+FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0\r\n" -[stage-30] replica-1: Received RESP simple string: "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" -[stage-30] Received "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" +[stage-30] replica-1: Received bytes: "+FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0\r\n" +[stage-30] replica-1: Received RESP simple string: "FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0" +[stage-30] Received "FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0" [stage-30] Reading RDB file... -[stage-30] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc7tlf\xfa\bused-mem\xc2\x10\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(5375b7c06be89997dbda6de1083a664bddf749a7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x00\xa4\x1fh\xdd\xc0\x9e\x9e" +[stage-30] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2O\x13pf\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x90\xe2\x1d\x1d\xb5\xe5^\f" [stage-30] Received RDB file [stage-30] Creating replica: 2 [stage-30] replica-2: $ redis-cli PING @@ -925,11 +969,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-2: > PSYNC ? -1 [stage-30] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-2: Received bytes: "+FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0\r\n" -[stage-30] replica-2: Received RESP simple string: "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" -[stage-30] Received "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" +[stage-30] replica-2: Received bytes: "+FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0\r\n" +[stage-30] replica-2: Received RESP simple string: "FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0" +[stage-30] Received "FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0" [stage-30] Reading RDB file... -[stage-30] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc7tlf\xfa\bused-mem\u00a0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(5375b7c06be89997dbda6de1083a664bddf749a7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffKW\xb88\xbb\xa4\xea\xc7" +[stage-30] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2O\x13pf\xfa\bused-mem\xc2\xc0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff9\xf7\x8a\x1aMH\x90\xb9" [stage-30] Received RDB file [stage-30] Creating replica: 3 [stage-30] replica-3: $ redis-cli PING @@ -949,11 +993,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-3: > PSYNC ? -1 [stage-30] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-3: Received bytes: "+FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0\r\n" -[stage-30] replica-3: Received RESP simple string: "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" -[stage-30] Received "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" +[stage-30] replica-3: Received bytes: "+FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0\r\n" +[stage-30] replica-3: Received RESP simple string: "FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0" +[stage-30] Received "FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0" [stage-30] Reading RDB file... -[stage-30] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc7tlf\xfa\bused-mem\u00a0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(5375b7c06be89997dbda6de1083a664bddf749a7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffsp pRk}\xe9" +[stage-30] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2O\x13pf\xfa\bused-mem\xc2\xc0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x01\xd0\x12R\xa4\x87\a\x97" [stage-30] Received RDB file [stage-30] Creating replica: 4 [stage-30] replica-4: $ redis-cli PING @@ -973,75 +1017,32 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-4: > PSYNC ? -1 [stage-30] replica-4: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-4: Received bytes: "+FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0\r\n" -[stage-30] replica-4: Received RESP simple string: "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" -[stage-30] Received "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" -[stage-30] Reading RDB file... -[stage-30] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc7tlf\xfa\bused-mem°\x8b\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(5375b7c06be89997dbda6de1083a664bddf749a7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xb7E\xa1\aD\x11hA" -[stage-30] Received RDB file -[stage-30] Creating replica: 5 -[stage-30] replica-5: $ redis-cli PING -[stage-30] replica-5: Sent bytes: "*1\r\n$4\r\nPING\r\n" -[stage-30] replica-5: Received bytes: "+PONG\r\n" -[stage-30] replica-5: Received RESP simple string: "PONG" -[stage-30] Received "PONG" -[stage-30] replica-5: > REPLCONF listening-port 6384 -[stage-30] replica-5: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6384\r\n" -[stage-30] replica-5: Received bytes: "+OK\r\n" -[stage-30] replica-5: Received RESP simple string: "OK" -[stage-30] Received "OK" -[stage-30] replica-5: > REPLCONF capa psync2 -[stage-30] replica-5: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" -[stage-30] replica-5: Received bytes: "+OK\r\n" -[stage-30] replica-5: Received RESP simple string: "OK" -[stage-30] Received "OK" -[stage-30] replica-5: > PSYNC ? -1 -[stage-30] replica-5: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-5: Received bytes: "+FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0\r\n" -[stage-30] replica-5: Received RESP simple string: "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" -[stage-30] Received "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" +[stage-30] replica-4: Received bytes: "+FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0\r\n" +[stage-30] replica-4: Received RESP simple string: "FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0" +[stage-30] Received "FULLRESYNC c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5 0" [stage-30] Reading RDB file... -[stage-30] replica-5: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc7tlf\xfa\bused-mem\xc2\xc0\xd6\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(5375b7c06be89997dbda6de1083a664bddf749a7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffT$н\xefh\x02\xe7" -[stage-30] Received RDB file -[stage-30] Creating replica: 6 -[stage-30] replica-6: $ redis-cli PING -[stage-30] replica-6: Sent bytes: "*1\r\n$4\r\nPING\r\n" -[stage-30] replica-6: Received bytes: "+PONG\r\n" -[stage-30] replica-6: Received RESP simple string: "PONG" -[stage-30] Received "PONG" -[stage-30] replica-6: > REPLCONF listening-port 6385 -[stage-30] replica-6: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6385\r\n" -[stage-30] replica-6: Received bytes: "+OK\r\n" -[stage-30] replica-6: Received RESP simple string: "OK" -[stage-30] Received "OK" -[stage-30] replica-6: > REPLCONF capa psync2 -[stage-30] replica-6: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" -[stage-30] replica-6: Received bytes: "+OK\r\n" -[stage-30] replica-6: Received RESP simple string: "OK" -[stage-30] Received "OK" -[stage-30] replica-6: > PSYNC ? -1 -[stage-30] replica-6: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-6: Received bytes: "+FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0\r\n" -[stage-30] replica-6: Received RESP simple string: "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" -[stage-30] Received "FULLRESYNC 5375b7c06be89997dbda6de1083a664bddf749a7 0" -[stage-30] Reading RDB file... -[stage-30] replica-6: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc7tlf\xfa\bused-mem\xc2\xc0!\x14\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(5375b7c06be89997dbda6de1083a664bddf749a7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff8^pfO6R\xe7" +[stage-30] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2O\x13pf\xfa\bused-mem\xc2Ћ\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c621c3ab4aa06b9bef45b0f29025fc6ba7777ed5\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xc5\xe5\x93%\xb2\xfd\x12?" [stage-30] Received RDB file [stage-30] client: $ redis-cli WAIT 3 500 [stage-30] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n3\r\n$3\r\n500\r\n" -[stage-30] client: Received bytes: ":6\r\n" -[stage-30] client: Received RESP integer: 6 -[stage-30] Received 6 +[stage-30] client: Received bytes: ":4\r\n" +[stage-30] client: Received RESP integer: 4 +[stage-30] Received 4 +[stage-30] client: > WAIT 4 500 +[stage-30] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n4\r\n$3\r\n500\r\n" +[stage-30] client: Received bytes: ":4\r\n" +[stage-30] client: Received RESP integer: 4 +[stage-30] Received 4 [stage-30] client: > WAIT 5 500 [stage-30] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n5\r\n$3\r\n500\r\n" -[stage-30] client: Received bytes: ":6\r\n" -[stage-30] client: Received RESP integer: 6 -[stage-30] Received 6 -[stage-30] client: > WAIT 7 500 -[stage-30] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n7\r\n$3\r\n500\r\n" -[stage-30] client: Received bytes: ":6\r\n" -[stage-30] client: Received RESP integer: 6 -[stage-30] Received 6 +[stage-30] client: Received bytes: ":4\r\n" +[stage-30] client: Received RESP integer: 4 +[stage-30] Received 4 +[stage-30] client: > WAIT 6 500 +[stage-30] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n6\r\n$3\r\n500\r\n" +[stage-30] client: Received bytes: ":4\r\n" +[stage-30] client: Received RESP integer: 4 +[stage-30] Received 4 [stage-30] Test passed. [stage-30] Terminating program [stage-30] Program terminated successfully @@ -1099,15 +1100,15 @@ Debug = true [stage-28] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$2\r\n51\r\n" [stage-28] master: Received RESP array: ["REPLCONF", "ACK", "51"] [stage-28] Received ["REPLCONF", "ACK", "51"] -[stage-28] master: > SET banana banana -[stage-28] master: Sent bytes: "*3\r\n$3\r\nSET\r\n$6\r\nbanana\r\n$6\r\nbanana\r\n" -[stage-28] master: > SET blueberry orange -[stage-28] master: Sent bytes: "*3\r\n$3\r\nSET\r\n$9\r\nblueberry\r\n$6\r\norange\r\n" +[stage-28] master: > SET strawberry blueberry +[stage-28] master: Sent bytes: "*3\r\n$3\r\nSET\r\n$10\r\nstrawberry\r\n$9\r\nblueberry\r\n" +[stage-28] master: > SET strawberry mango +[stage-28] master: Sent bytes: "*3\r\n$3\r\nSET\r\n$10\r\nstrawberry\r\n$5\r\nmango\r\n" [stage-28] master: > REPLCONF GETACK * [stage-28] master: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" -[stage-28] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$3\r\n165\r\n" -[stage-28] master: Received RESP array: ["REPLCONF", "ACK", "165"] -[stage-28] Received ["REPLCONF", "ACK", "165"] +[stage-28] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$3\r\n174\r\n" +[stage-28] master: Received RESP array: ["REPLCONF", "ACK", "174"] +[stage-28] Received ["REPLCONF", "ACK", "174"] [stage-28] Test passed. [stage-28] Terminating program [stage-28] Program terminated successfully @@ -1229,11 +1230,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-1: > PSYNC ? -1 [stage-25] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-1: Received bytes: "+FULLRESYNC 2e58128f42dc607c41d060c0144f89740dd79c29 0\r\n" -[stage-25] replica-1: Received RESP simple string: "FULLRESYNC 2e58128f42dc607c41d060c0144f89740dd79c29 0" -[stage-25] Received "FULLRESYNC 2e58128f42dc607c41d060c0144f89740dd79c29 0" +[stage-25] replica-1: Received bytes: "+FULLRESYNC e8ae41487ed1704d96af056e417f32d984d9df6a 0\r\n" +[stage-25] replica-1: Received RESP simple string: "FULLRESYNC e8ae41487ed1704d96af056e417f32d984d9df6a 0" +[stage-25] Received "FULLRESYNC e8ae41487ed1704d96af056e417f32d984d9df6a 0" [stage-25] Reading RDB file... -[stage-25] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc9tlf\xfa\bused-mem\u00a0S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(2e58128f42dc607c41d060c0144f89740dd79c29\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xde0\xf4_xg\x18\xd1" +[stage-25] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2Q\x13pf\xfa\bused-mem\xc2\x00S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(e8ae41487ed1704d96af056e417f32d984d9df6a\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffԸ\xf9\x92ns\xc43" [stage-25] Received RDB file [stage-25] Creating replica: 2 [stage-25] replica-2: $ redis-cli PING @@ -1253,11 +1254,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-2: > PSYNC ? -1 [stage-25] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-2: Received bytes: "+FULLRESYNC 2e58128f42dc607c41d060c0144f89740dd79c29 0\r\n" -[stage-25] replica-2: Received RESP simple string: "FULLRESYNC 2e58128f42dc607c41d060c0144f89740dd79c29 0" -[stage-25] Received "FULLRESYNC 2e58128f42dc607c41d060c0144f89740dd79c29 0" +[stage-25] replica-2: Received bytes: "+FULLRESYNC e8ae41487ed1704d96af056e417f32d984d9df6a 0\r\n" +[stage-25] replica-2: Received RESP simple string: "FULLRESYNC e8ae41487ed1704d96af056e417f32d984d9df6a 0" +[stage-25] Received "FULLRESYNC e8ae41487ed1704d96af056e417f32d984d9df6a 0" [stage-25] Reading RDB file... -[stage-25] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc9tlf\xfa\bused-mem\xc2\x10;\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(2e58128f42dc607c41d060c0144f89740dd79c29\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff[kq\x1a塨\v" +[stage-25] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2Q\x13pf\xfa\bused-mem\xc2p:\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(e8ae41487ed1704d96af056e417f32d984d9df6a\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff)u\xc1Î\x85\xe28" [stage-25] Received RDB file [stage-25] Creating replica: 3 [stage-25] replica-3: $ redis-cli PING @@ -1277,11 +1278,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-3: > PSYNC ? -1 [stage-25] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-3: Received bytes: "+FULLRESYNC 2e58128f42dc607c41d060c0144f89740dd79c29 0\r\n" -[stage-25] replica-3: Received RESP simple string: "FULLRESYNC 2e58128f42dc607c41d060c0144f89740dd79c29 0" -[stage-25] Received "FULLRESYNC 2e58128f42dc607c41d060c0144f89740dd79c29 0" +[stage-25] replica-3: Received bytes: "+FULLRESYNC e8ae41487ed1704d96af056e417f32d984d9df6a 0\r\n" +[stage-25] replica-3: Received RESP simple string: "FULLRESYNC e8ae41487ed1704d96af056e417f32d984d9df6a 0" +[stage-25] Received "FULLRESYNC e8ae41487ed1704d96af056e417f32d984d9df6a 0" [stage-25] Reading RDB file... -[stage-25] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc9tlf\xfa\bused-mem\xc2 J\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(2e58128f42dc607c41d060c0144f89740dd79c29\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x7f\xb6C\xe0\x06r\xa6\xda" +[stage-25] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2Q\x13pf\xfa\bused-mem\u0080I\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(e8ae41487ed1704d96af056e417f32d984d9df6a\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffA\xdfT\xaa֕#B" [stage-25] Received RDB file [stage-25] client: $ redis-cli SET foo 123 [stage-25] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -1366,11 +1367,11 @@ Debug = true [stage-24] Received "OK" [stage-24] replica: > PSYNC ? -1 [stage-24] replica: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-24] replica: Received bytes: "+FULLRESYNC fb217523f2c9c301e3804564b643014400411d9b 0\r\n" -[stage-24] replica: Received RESP simple string: "FULLRESYNC fb217523f2c9c301e3804564b643014400411d9b 0" -[stage-24] Received "FULLRESYNC fb217523f2c9c301e3804564b643014400411d9b 0" +[stage-24] replica: Received bytes: "+FULLRESYNC 2d95fca2a615365974b5b3920812ca807cdb5a40 0\r\n" +[stage-24] replica: Received RESP simple string: "FULLRESYNC 2d95fca2a615365974b5b3920812ca807cdb5a40 0" +[stage-24] Received "FULLRESYNC 2d95fca2a615365974b5b3920812ca807cdb5a40 0" [stage-24] Reading RDB file... -[stage-24] replica: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xc9tlf\xfa\bused-mem\xc2\xc0S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(fb217523f2c9c301e3804564b643014400411d9b\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffn\xff\b\xcdI\xcb\xc0a" +[stage-24] replica: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2R\x13pf\xfa\bused-mem\xc2 S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(2d95fca2a615365974b5b3920812ca807cdb5a40\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff-]\x9c\xec\xf0\xc8Z\a" [stage-24] Received RDB file [stage-24] client: $ redis-cli SET foo 123 [stage-24] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -1425,11 +1426,11 @@ Debug = true [stage-23] Received "OK" [stage-23] client: > PSYNC ? -1 [stage-23] client: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-23] client: Received bytes: "+FULLRESYNC 4a683405a76db69b468112e12b5244236490dbac 0\r\n" -[stage-23] client: Received RESP simple string: "FULLRESYNC 4a683405a76db69b468112e12b5244236490dbac 0" -[stage-23] Received "FULLRESYNC 4a683405a76db69b468112e12b5244236490dbac 0" +[stage-23] client: Received bytes: "+FULLRESYNC 3b3fedca14ef72470732a2834e25db0e1c4fac00 0\r\n" +[stage-23] client: Received RESP simple string: "FULLRESYNC 3b3fedca14ef72470732a2834e25db0e1c4fac00 0" +[stage-23] Received "FULLRESYNC 3b3fedca14ef72470732a2834e25db0e1c4fac00 0" [stage-23] Reading RDB file... -[stage-23] client: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xcatlf\xfa\bused-mem\xc2\xf0\r\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(4a683405a76db69b468112e12b5244236490dbac\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffm\xdc\xf5\xc2b\xd08\xfb" +[stage-23] client: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2R\x13pf\xfa\bused-mem\xc2\xd0\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(3b3fedca14ef72470732a2834e25db0e1c4fac00\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x8c\x1d\xa7\xeb\xb8I8\xa5" [stage-23] Received RDB file [stage-23] Test passed. [stage-23] Terminating program @@ -1454,9 +1455,9 @@ Debug = true [stage-22] Received "OK" [stage-22] client: > PSYNC ? -1 [stage-22] client: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-22] client: Received bytes: "+FULLRESYNC 378cc0e01a8107822ffb083ff497644efb3d0d21 0\r\n" -[stage-22] client: Received RESP simple string: "FULLRESYNC 378cc0e01a8107822ffb083ff497644efb3d0d21 0" -[stage-22] Received "FULLRESYNC 378cc0e01a8107822ffb083ff497644efb3d0d21 0" +[stage-22] client: Received bytes: "+FULLRESYNC 1cd392a548a5b2686a097d626aae32a7c9f51b24 0\r\n" +[stage-22] client: Received RESP simple string: "FULLRESYNC 1cd392a548a5b2686a097d626aae32a7c9f51b24 0" +[stage-22] Received "FULLRESYNC 1cd392a548a5b2686a097d626aae32a7c9f51b24 0" [stage-22] Test passed. [stage-22] Terminating program [stage-22] Program terminated successfully @@ -1555,9 +1556,9 @@ Debug = true [stage-17] $ ./spawn_redis_server.sh [stage-17] client: $ redis-cli INFO replication [stage-17] client: Sent bytes: "*2\r\n$4\r\nINFO\r\n$11\r\nreplication\r\n" -[stage-17] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:9c5dddb64daca5c0a600308f4e3d66d424043344\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" -[stage-17] client: Received RESP bulk string: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:9c5dddb64daca5c0a600308f4e3d66d424043344\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" -[stage-17] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:9c5dddb64daca5c0a600308f4e3d66d424043344\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-17] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:75931943b31aaa33c7c96f47b167d6091bc4b3aa\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" +[stage-17] client: Received RESP bulk string: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:75931943b31aaa33c7c96f47b167d6091bc4b3aa\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-17] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:75931943b31aaa33c7c96f47b167d6091bc4b3aa\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" [stage-17] Found master_replid:xxx in response. [stage-17] Found master_reploffset:0 in response. [stage-17] Test passed. @@ -1598,133 +1599,138 @@ Debug = true [stage-15] $ ./spawn_redis_server.sh [stage-15] client: $ redis-cli INFO replication [stage-15] client: Sent bytes: "*2\r\n$4\r\nINFO\r\n$11\r\nreplication\r\n" -[stage-15] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:e6651c8a5c2e8dd0a7ad1b4ac62ffcc84fb639fb\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" -[stage-15] client: Received RESP bulk string: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:e6651c8a5c2e8dd0a7ad1b4ac62ffcc84fb639fb\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" -[stage-15] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:e6651c8a5c2e8dd0a7ad1b4ac62ffcc84fb639fb\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-15] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:71538be97a7329d984df10aac195733a56e1b5c0\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" +[stage-15] client: Received RESP bulk string: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:71538be97a7329d984df10aac195733a56e1b5c0\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-15] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:71538be97a7329d984df10aac195733a56e1b5c0\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" [stage-15] Found role:master in response. [stage-15] Test passed. [stage-15] Terminating program [stage-15] Program terminated successfully [stage-14] Running tests for Stage #14: bw1 -[stage-14] $ ./spawn_redis_server.sh --port 6380 -[stage-14] Connecting to port 6380... +[stage-14] $ ./spawn_redis_server.sh --port 6389 +[stage-14] Connecting to port 6389... [stage-14] Connection successful [stage-14] Test passed. [stage-14] Terminating program [stage-14] Program terminated successfully [stage-13] Running tests for Stage #13: sm4 -[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles202461335 --dbfilename apple.rdb -[stage-13] client: $ redis-cli GET strawberry -[stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$10\r\nstrawberry\r\n" +[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3227190898 --dbfilename banana.rdb +[stage-13] client: $ redis-cli GET orange +[stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\norange\r\n" [stage-13] client: Received bytes: "$-1\r\n" [stage-13] client: Received RESP null bulk string: "$-1\r\n" [stage-13] Received "$-1\r\n" -[stage-13] client: > GET orange -[stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\norange\r\n" -[stage-13] client: Received bytes: "$9\r\nblueberry\r\n" -[stage-13] client: Received RESP bulk string: "blueberry" -[stage-13] Received "blueberry" +[stage-13] client: > GET pineapple +[stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\npineapple\r\n" +[stage-13] client: Received bytes: "$9\r\npineapple\r\n" +[stage-13] client: Received RESP bulk string: "pineapple" +[stage-13] Received "pineapple" [stage-13] client: > GET apple [stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\napple\r\n" -[stage-13] client: Received bytes: "$6\r\norange\r\n" -[stage-13] client: Received RESP bulk string: "orange" -[stage-13] Received "orange" +[stage-13] client: Received bytes: "$10\r\nstrawberry\r\n" +[stage-13] client: Received RESP bulk string: "strawberry" +[stage-13] Received "strawberry" +[stage-13] client: > GET blueberry +[stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nblueberry\r\n" +[stage-13] client: Received bytes: "$9\r\nraspberry\r\n" +[stage-13] client: Received RESP bulk string: "raspberry" +[stage-13] Received "raspberry" [stage-13] Test passed. [stage-13] Terminating program [stage-13] Program terminated successfully [stage-12] Running tests for Stage #12: dq3 -[stage-12] Created RDB file with key-value pairs: "apple"="pineapple", "raspberry"="strawberry", "mango"="apple", "strawberry"="grape" -[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2321023724 --dbfilename grape.rdb -[stage-12] client: $ redis-cli GET apple -[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\napple\r\n" -[stage-12] client: Received bytes: "$9\r\npineapple\r\n" -[stage-12] client: Received RESP bulk string: "pineapple" -[stage-12] Received "pineapple" -[stage-12] client: > GET raspberry -[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nraspberry\r\n" -[stage-12] client: Received bytes: "$10\r\nstrawberry\r\n" -[stage-12] client: Received RESP bulk string: "strawberry" -[stage-12] Received "strawberry" -[stage-12] client: > GET mango -[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\nmango\r\n" +[stage-12] Created RDB file with key-value pairs: "pineapple"="raspberry", "banana"="apple", "pear"="banana", "mango"="pineapple" +[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3676675137 --dbfilename raspberry.rdb +[stage-12] client: $ redis-cli GET pineapple +[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\npineapple\r\n" +[stage-12] client: Received bytes: "$9\r\nraspberry\r\n" +[stage-12] client: Received RESP bulk string: "raspberry" +[stage-12] Received "raspberry" +[stage-12] client: > GET banana +[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\nbanana\r\n" [stage-12] client: Received bytes: "$5\r\napple\r\n" [stage-12] client: Received RESP bulk string: "apple" [stage-12] Received "apple" -[stage-12] client: > GET strawberry -[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$10\r\nstrawberry\r\n" -[stage-12] client: Received bytes: "$5\r\ngrape\r\n" -[stage-12] client: Received RESP bulk string: "grape" -[stage-12] Received "grape" +[stage-12] client: > GET pear +[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$4\r\npear\r\n" +[stage-12] client: Received bytes: "$6\r\nbanana\r\n" +[stage-12] client: Received RESP bulk string: "banana" +[stage-12] Received "banana" +[stage-12] client: > GET mango +[stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\nmango\r\n" +[stage-12] client: Received bytes: "$9\r\npineapple\r\n" +[stage-12] client: Received RESP bulk string: "pineapple" +[stage-12] Received "pineapple" [stage-12] Test passed. [stage-12] Terminating program [stage-12] Program terminated successfully [stage-11] Running tests for Stage #11: jw4 -[stage-11] Created RDB file with 3 keys: ["orange" "banana" "pear"] -[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2091869705 --dbfilename grape.rdb +[stage-11] Created RDB file with 3 keys: ["apple" "grape" "mango"] +[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3738343592 --dbfilename pineapple.rdb [stage-11] client: $ redis-cli KEYS * [stage-11] client: Sent bytes: "*2\r\n$4\r\nKEYS\r\n$1\r\n*\r\n" -[stage-11] client: Received bytes: "*3\r\n$4\r\npear\r\n$6\r\nbanana\r\n$6\r\norange\r\n" -[stage-11] client: Received RESP array: ["pear", "banana", "orange"] -[stage-11] Received ["pear", "banana", "orange"] +[stage-11] client: Received bytes: "*3\r\n$5\r\nmango\r\n$5\r\ngrape\r\n$5\r\napple\r\n" +[stage-11] client: Received RESP array: ["mango", "grape", "apple"] +[stage-11] Received ["mango", "grape", "apple"] [stage-11] Test passed. [stage-11] Terminating program [stage-11] Program terminated successfully [stage-10] Running tests for Stage #10: gc6 -[stage-10] Created RDB file with single key-value pair: pineapple="blueberry" -[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1208672642 --dbfilename mango.rdb -[stage-10] client: $ redis-cli GET pineapple -[stage-10] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\npineapple\r\n" -[stage-10] client: Received bytes: "$9\r\nblueberry\r\n" -[stage-10] client: Received RESP bulk string: "blueberry" -[stage-10] Received "blueberry" +[stage-10] Created RDB file with single key-value pair: raspberry="banana" +[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1280259726 --dbfilename grape.rdb +[stage-10] client: $ redis-cli GET raspberry +[stage-10] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nraspberry\r\n" +[stage-10] client: Received bytes: "$6\r\nbanana\r\n" +[stage-10] client: Received RESP bulk string: "banana" +[stage-10] Received "banana" [stage-10] Test passed. [stage-10] Terminating program [stage-10] Program terminated successfully [stage-9] Running tests for Stage #9: jz6 -[stage-9] Created RDB file with single key: "apple" -[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles73015925 --dbfilename mango.rdb +[stage-9] Created RDB file with single key: "raspberry" +[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3138754530 --dbfilename strawberry.rdb [stage-9] client: $ redis-cli KEYS * [stage-9] client: Sent bytes: "*2\r\n$4\r\nKEYS\r\n$1\r\n*\r\n" -[stage-9] client: Received bytes: "*1\r\n$5\r\napple\r\n" -[stage-9] client: Received RESP array: ["apple"] -[stage-9] Received ["apple"] +[stage-9] client: Received bytes: "*1\r\n$9\r\nraspberry\r\n" +[stage-9] client: Received RESP array: ["raspberry"] +[stage-9] Received ["raspberry"] [stage-9] Test passed. [stage-9] Terminating program [stage-9] Program terminated successfully [stage-8] Running tests for Stage #8: zg5 -[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3503538548 --dbfilename blueberry.rdb +[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1604276763 --dbfilename banana.rdb [stage-8] client: $ redis-cli CONFIG GET dir [stage-8] client: Sent bytes: "*3\r\n$6\r\nCONFIG\r\n$3\r\nGET\r\n$3\r\ndir\r\n" -[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$75\r\n/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3503538548\r\n" -[stage-8] client: Received RESP array: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3503538548"] -[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3503538548"] +[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$75\r\n/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1604276763\r\n" +[stage-8] client: Received RESP array: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1604276763"] +[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1604276763"] [stage-8] Test passed. [stage-8] Terminating program [stage-8] Program terminated successfully [stage-7] Running tests for Stage #7: yz1 [stage-7] $ ./spawn_redis_server.sh -[stage-7] $ redis-cli SET apple banana px 100 -[stage-7] Sent bytes: "*5\r\n$3\r\nSET\r\n$5\r\napple\r\n$6\r\nbanana\r\n$2\r\npx\r\n$3\r\n100\r\n" +[stage-7] $ redis-cli SET apple strawberry px 100 +[stage-7] Sent bytes: "*5\r\n$3\r\nSET\r\n$5\r\napple\r\n$10\r\nstrawberry\r\n$2\r\npx\r\n$3\r\n100\r\n" [stage-7] Received bytes: "+OK\r\n" [stage-7] Received RESP simple string: "OK" [stage-7] Received "OK" -[stage-7] Received OK at 22:20:21.189 -[stage-7] Fetching key "apple" at 22:20:21.189 (should not be expired) +[stage-7] Received OK at 16:13:33.415 +[stage-7] Fetching key "apple" at 16:13:33.415 (should not be expired) [stage-7] > GET apple [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\napple\r\n" -[stage-7] Received bytes: "$6\r\nbanana\r\n" -[stage-7] Received RESP bulk string: "banana" -[stage-7] Received "banana" +[stage-7] Received bytes: "$10\r\nstrawberry\r\n" +[stage-7] Received RESP bulk string: "strawberry" +[stage-7] Received "strawberry" [stage-7] Sleeping for 101ms -[stage-7] Fetching key "apple" at 22:20:21.295 (should be expired) +[stage-7] Fetching key "apple" at 16:13:33.517 (should be expired) [stage-7] > GET apple [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\napple\r\n" [stage-7] Received bytes: "$-1\r\n" @@ -1736,29 +1742,29 @@ Debug = true [stage-6] Running tests for Stage #6: la7 [stage-6] $ ./spawn_redis_server.sh -[stage-6] Setting key banana to pear -[stage-6] $ redis-cli SET banana pear -[stage-6] Sent bytes: "*3\r\n$3\r\nSET\r\n$6\r\nbanana\r\n$4\r\npear\r\n" +[stage-6] Setting key grape to orange +[stage-6] $ redis-cli SET grape orange +[stage-6] Sent bytes: "*3\r\n$3\r\nSET\r\n$5\r\ngrape\r\n$6\r\norange\r\n" [stage-6] Received bytes: "+OK\r\n" [stage-6] Received RESP simple string: "OK" [stage-6] Received "OK" -[stage-6] Getting key banana -[stage-6] > GET banana -[stage-6] Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\nbanana\r\n" -[stage-6] Received bytes: "$4\r\npear\r\n" -[stage-6] Received RESP bulk string: "pear" -[stage-6] Received "pear" +[stage-6] Getting key grape +[stage-6] > GET grape +[stage-6] Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\ngrape\r\n" +[stage-6] Received bytes: "$6\r\norange\r\n" +[stage-6] Received RESP bulk string: "orange" +[stage-6] Received "orange" [stage-6] Test passed. [stage-6] Terminating program [stage-6] Program terminated successfully [stage-5] Running tests for Stage #5: qq0 [stage-5] $ ./spawn_redis_server.sh -[stage-5] $ redis-cli ECHO pear -[stage-5] Sent bytes: "*2\r\n$4\r\nECHO\r\n$4\r\npear\r\n" -[stage-5] Received bytes: "$4\r\npear\r\n" -[stage-5] Received RESP bulk string: "pear" -[stage-5] Received "pear" +[stage-5] $ redis-cli ECHO grape +[stage-5] Sent bytes: "*2\r\n$4\r\nECHO\r\n$5\r\ngrape\r\n" +[stage-5] Received bytes: "$5\r\ngrape\r\n" +[stage-5] Received RESP bulk string: "grape" +[stage-5] Received "grape" [stage-5] Test passed. [stage-5] Terminating program [stage-5] Program terminated successfully