diff --git a/internal/test_helpers/fixtures/repl-wait/pass b/internal/test_helpers/fixtures/repl-wait/pass index 7b39714..a152992 100644 --- a/internal/test_helpers/fixtures/repl-wait/pass +++ b/internal/test_helpers/fixtures/repl-wait/pass @@ -21,11 +21,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-1: $ redis-cli 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 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0\r\n" -[stage-31] replica-1: Received RESP value: "FULLRESYNC 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0" -[stage-31] Received "FULLRESYNC 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0" +[stage-31] replica-1: Received bytes: "+FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0\r\n" +[stage-31] replica-1: Received RESP value: "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" +[stage-31] Received "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 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\x16F>f\xfa\bused-mem\xc2\x10\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1119d68c536b1ab7df0befaa506b4c4c55b2091c\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff`\xbf=\t\xe8\x12\xe4@" +[stage-31] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8G>f\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe6Xv,\xf5\xe2\x05\x14" [stage-31] Received RDB file [stage-31] Creating replica: 2 [stage-31] replica-2: $ redis-cli PING @@ -45,11 +45,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-2: $ redis-cli 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 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0\r\n" -[stage-31] replica-2: Received RESP value: "FULLRESYNC 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0" -[stage-31] Received "FULLRESYNC 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0" +[stage-31] replica-2: Received bytes: "+FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0\r\n" +[stage-31] replica-2: Received RESP value: "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" +[stage-31] Received "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 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\x16F>f\xfa\bused-mem\u00a0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1119d68c536b1ab7df0befaa506b4c4c55b2091c\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff+L\x9aY\x8ev\x90\x19" +[stage-31] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8G>f\xfa\bused-mem\xc2\xc0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffOM\xe1+\rOˡ" [stage-31] Received RDB file [stage-31] Creating replica: 3 [stage-31] replica-3: $ redis-cli PING @@ -69,11 +69,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-3: $ redis-cli 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 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0\r\n" -[stage-31] replica-3: Received RESP value: "FULLRESYNC 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0" -[stage-31] Received "FULLRESYNC 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0" +[stage-31] replica-3: Received bytes: "+FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0\r\n" +[stage-31] replica-3: Received RESP value: "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" +[stage-31] Received "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 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\x16F>f\xfa\bused-mem\u00a0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1119d68c536b1ab7df0befaa506b4c4c55b2091c\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x13k\x02\x11g\xb9\a7" +[stage-31] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8G>f\xfa\bused-mem\xc2\xc0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffwjyc\xe4\x80\\\x8f" [stage-31] Received RDB file [stage-31] Creating replica: 4 [stage-31] replica-4: $ redis-cli PING @@ -93,11 +93,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-4: $ redis-cli 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 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0\r\n" -[stage-31] replica-4: Received RESP value: "FULLRESYNC 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0" -[stage-31] Received "FULLRESYNC 1119d68c536b1ab7df0befaa506b4c4c55b2091c 0" +[stage-31] replica-4: Received bytes: "+FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0\r\n" +[stage-31] replica-4: Received RESP value: "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" +[stage-31] Received "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 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\x16F>f\xfa\bused-mem°\x8b\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1119d68c536b1ab7df0befaa506b4c4c55b2091c\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xd7^\x83fq\xc3\x12\x9f" +[stage-31] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8G>f\xfa\bused-mem\xc2Ћ\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xb3_\xf8\x14\xf2\xfaI'" [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" @@ -107,43 +107,55 @@ Debug = true [stage-31] client: $ redis-cli WAIT 1 500 [stage-31] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n1\r\n$3\r\n500\r\n" [stage-31] Testing Replica : 1 +[stage-31] replica-1: Expecting "SET foo 123" to be propagated [stage-31] replica-1: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-31] replica-1: Received RESP value: ["SELECT", "0"] [stage-31] replica-1: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-31] replica-1: Received RESP value: ["SET", "foo", "123"] [stage-31] Received ["SET", "foo", "123"] +[stage-31] replica-1: Expecting "REPLCONF GETACK *" from Master [stage-31] replica-1: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" [stage-31] replica-1: Received RESP value: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-1: Sending ACK to Master [stage-31] replica-1: $ redis-cli REPLCONF ACK 54 [stage-31] replica-1: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$2\r\n54\r\n" [stage-31] Testing Replica : 2 +[stage-31] replica-2: Expecting "SET foo 123" to be propagated [stage-31] replica-2: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-31] replica-2: Received RESP value: ["SELECT", "0"] [stage-31] replica-2: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-31] replica-2: Received RESP value: ["SET", "foo", "123"] [stage-31] Received ["SET", "foo", "123"] +[stage-31] replica-2: Expecting "REPLCONF GETACK *" from Master [stage-31] replica-2: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" [stage-31] replica-2: Received RESP value: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-2: Not sending ACK to Master [stage-31] Testing Replica : 3 +[stage-31] replica-3: Expecting "SET foo 123" to be propagated [stage-31] replica-3: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-31] replica-3: Received RESP value: ["SELECT", "0"] [stage-31] replica-3: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-31] replica-3: Received RESP value: ["SET", "foo", "123"] [stage-31] Received ["SET", "foo", "123"] +[stage-31] replica-3: Expecting "REPLCONF GETACK *" from Master [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 value: ["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 value: ["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 value: ["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 value: ["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 value: 1 [stage-31] Passed first WAIT test. @@ -155,42 +167,54 @@ Debug = true [stage-31] client: $ redis-cli 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" [stage-31] replica-1: Received RESP value: ["SET", "baz", "789"] [stage-31] Received ["SET", "baz", "789"] +[stage-31] replica-1: Expecting "REPLCONF GETACK *" from Master [stage-31] replica-1: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" [stage-31] replica-1: Received RESP value: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-1: Sending ACK to Master [stage-31] replica-1: $ redis-cli REPLCONF ACK 122 [stage-31] replica-1: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$3\r\n122\r\n" [stage-31] Testing Replica : 2 +[stage-31] replica-2: Expecting "SET baz 789" to be propagated [stage-31] replica-2: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-31] replica-2: Received RESP value: ["SET", "baz", "789"] [stage-31] Received ["SET", "baz", "789"] +[stage-31] replica-2: Expecting "REPLCONF GETACK *" from Master [stage-31] replica-2: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" [stage-31] replica-2: Received RESP value: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-2: Sending ACK to Master [stage-31] replica-2: $ redis-cli REPLCONF ACK 122 [stage-31] replica-2: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$3\r\n122\r\n" [stage-31] Testing Replica : 3 +[stage-31] replica-3: Expecting "SET baz 789" to be propagated [stage-31] replica-3: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-31] replica-3: Received RESP value: ["SET", "baz", "789"] [stage-31] Received ["SET", "baz", "789"] +[stage-31] replica-3: Expecting "REPLCONF GETACK *" from Master [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 value: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] +[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 value: ["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 value: ["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 value: 3 -[stage-31] WAIT command returned after 2005 ms +[stage-31] WAIT command returned after 2104 ms [stage-31] Test passed. [stage-31] Terminating program [stage-31] Program terminated successfully @@ -216,11 +240,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-1: $ redis-cli 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 c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0\r\n" -[stage-30] replica-1: Received RESP value: "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" -[stage-30] Received "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" +[stage-30] replica-1: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" +[stage-30] replica-1: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 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\x19F>f\xfa\bused-mem\u0090\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c04f95b7d0622e1343568b69e6ccb0e30399bdc1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xbf\xb4\xd4uZ\x90\xf8\x8f" +[stage-30] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xeaG>f\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffI#\xae\xa1|\x85\xbch" [stage-30] Received RDB file [stage-30] Creating replica: 2 [stage-30] replica-2: $ redis-cli PING @@ -240,11 +264,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-2: $ redis-cli 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 c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0\r\n" -[stage-30] replica-2: Received RESP value: "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" -[stage-30] Received "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" +[stage-30] replica-2: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" +[stage-30] replica-2: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 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\x19F>f\xfa\bused-mem\xc2 \xf6\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c04f95b7d0622e1343568b69e6ccb0e30399bdc1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xc0\xa6i\xa2\xfa\aլ" +[stage-30] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xeaG>f\xfa\bused-mem\xc2\xc0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe069\xa6\x84(r\xdd" [stage-30] Received RDB file [stage-30] Creating replica: 3 [stage-30] replica-3: $ redis-cli PING @@ -264,11 +288,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-3: $ redis-cli 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 c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0\r\n" -[stage-30] replica-3: Received RESP value: "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" -[stage-30] Received "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" +[stage-30] replica-3: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" +[stage-30] replica-3: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 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\x19F>f\xfa\bused-mem\xc2 A\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c04f95b7d0622e1343568b69e6ccb0e30399bdc1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf9N\x90\xd8Yw\x1b7" +[stage-30] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xeaG>f\xfa\bused-mem\xc2\xc0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xd8\x11\xa1\xeem\xe7\xe5\xf3" [stage-30] Received RDB file [stage-30] Creating replica: 4 [stage-30] replica-4: $ redis-cli PING @@ -288,11 +312,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-4: $ redis-cli 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 c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0\r\n" -[stage-30] replica-4: Received RESP value: "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" -[stage-30] Received "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" +[stage-30] replica-4: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" +[stage-30] replica-4: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 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\x19F>f\xfa\bused-mem\xc20\x8c\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c04f95b7d0622e1343568b69e6ccb0e30399bdc1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffU\xb9$\xa1\xc2\xea\xbdk" +[stage-30] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xebG>f\xfa\bused-mem\xc2Ћ\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe9\xd1x\xfd\x80,\xa6\x85" [stage-30] Received RDB file [stage-30] Creating replica: 5 [stage-30] replica-5: $ redis-cli PING @@ -312,11 +336,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-5: $ redis-cli 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 c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0\r\n" -[stage-30] replica-5: Received RESP value: "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" -[stage-30] Received "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" +[stage-30] replica-5: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" +[stage-30] replica-5: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 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\x19F>f\xfa\bused-mem\xc2@\xd7\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c04f95b7d0622e1343568b69e6ccb0e30399bdc1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xde\x1a`\x15\xe4td9" +[stage-30] replica-5: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xebG>f\xfa\bused-mem\xc2\xe0\xd6\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe8V9\x10\xb5\x9cv\xcf" [stage-30] Received RDB file [stage-30] Creating replica: 6 [stage-30] replica-6: $ redis-cli PING @@ -336,11 +360,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-6: $ redis-cli 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 c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0\r\n" -[stage-30] replica-6: Received RESP value: "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" -[stage-30] Received "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" +[stage-30] replica-6: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" +[stage-30] replica-6: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 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\x19F>f\xfa\bused-mem\xc2@\"\x14\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c04f95b7d0622e1343568b69e6ccb0e30399bdc1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xb3\xaf\xa1\xfc\x0e\x95m\x8c" +[stage-30] replica-6: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xebG>f\xfa\bused-mem\xc2\x10#\x14\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xb4\xd8!J/D6\xbc" [stage-30] Received RDB file [stage-30] Creating replica: 7 [stage-30] replica-7: $ redis-cli PING @@ -360,11 +384,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-7: $ redis-cli PSYNC ? -1 [stage-30] replica-7: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-7: Received bytes: "+FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0\r\n" -[stage-30] replica-7: Received RESP value: "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" -[stage-30] Received "FULLRESYNC c04f95b7d0622e1343568b69e6ccb0e30399bdc1 0" +[stage-30] replica-7: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" +[stage-30] replica-7: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" [stage-30] Reading RDB file... -[stage-30] replica-7: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x19F>f\xfa\bused-mem\xc2Pm\x14\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c04f95b7d0622e1343568b69e6ccb0e30399bdc1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\r2ޡ\xf1\xbbI)" +[stage-30] replica-7: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xebG>f\xfa\bused-mem\xc2 n\x14\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffz\xf9\xa7\x0eU\xb1\x16\xda" [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" @@ -404,21 +428,25 @@ Debug = true [stage-28] Running tests for Stage #28: repl-replica-getack-nonzero [stage-28] Master is running on port 6379 [stage-28] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-28] master: Waiting for replica to initiate handshake with "PING" command [stage-28] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-28] master: Received RESP value: ["PING"] [stage-28] Received ["PING"] [stage-28] master: Sent "PONG" [stage-28] master: Sent bytes: "+PONG\r\n" +[stage-28] master: Waiting for replica to send "REPLCONF listening-port 6380" command [stage-28] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6380\r\n" [stage-28] master: Received RESP value: ["REPLCONF", "listening-port", "6380"] [stage-28] Received ["REPLCONF", "listening-port", "6380"] [stage-28] master: Sent "OK" [stage-28] master: Sent bytes: "+OK\r\n" +[stage-28] master: Waiting for replica to send "REPLCONF capa" command [stage-28] master: Received bytes: "*5\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$3\r\neof\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" [stage-28] master: Received RESP value: ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-28] Received ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-28] master: Sent "OK" [stage-28] master: Sent bytes: "+OK\r\n" +[stage-28] master: Waiting for replica to send "PSYNC" command [stage-28] master: Received bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" [stage-28] master: Received RESP value: ["PSYNC", "?", "-1"] [stage-28] Received ["PSYNC", "?", "-1"] @@ -455,21 +483,25 @@ Debug = true [stage-27] Running tests for Stage #27: repl-replica-getack [stage-27] Master is running on port 6379 [stage-27] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-27] master: Waiting for replica to initiate handshake with "PING" command [stage-27] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-27] master: Received RESP value: ["PING"] [stage-27] Received ["PING"] [stage-27] master: Sent "PONG" [stage-27] master: Sent bytes: "+PONG\r\n" +[stage-27] master: Waiting for replica to send "REPLCONF listening-port 6380" command [stage-27] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6380\r\n" [stage-27] master: Received RESP value: ["REPLCONF", "listening-port", "6380"] [stage-27] Received ["REPLCONF", "listening-port", "6380"] [stage-27] master: Sent "OK" [stage-27] master: Sent bytes: "+OK\r\n" +[stage-27] master: Waiting for replica to send "REPLCONF capa" command [stage-27] master: Received bytes: "*5\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$3\r\neof\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" [stage-27] master: Received RESP value: ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-27] Received ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-27] master: Sent "OK" [stage-27] master: Sent bytes: "+OK\r\n" +[stage-27] master: Waiting for replica to send "PSYNC" command [stage-27] master: Received bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" [stage-27] master: Received RESP value: ["PSYNC", "?", "-1"] [stage-27] Received ["PSYNC", "?", "-1"] @@ -490,21 +522,25 @@ Debug = true [stage-26] Running tests for Stage #26: repl-cmd-processing [stage-26] Master is running on port 6379 [stage-26] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-26] master: Waiting for replica to initiate handshake with "PING" command [stage-26] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-26] master: Received RESP value: ["PING"] [stage-26] Received ["PING"] [stage-26] master: Sent "PONG" [stage-26] master: Sent bytes: "+PONG\r\n" +[stage-26] master: Waiting for replica to send "REPLCONF listening-port 6380" command [stage-26] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6380\r\n" [stage-26] master: Received RESP value: ["REPLCONF", "listening-port", "6380"] [stage-26] Received ["REPLCONF", "listening-port", "6380"] [stage-26] master: Sent "OK" [stage-26] master: Sent bytes: "+OK\r\n" +[stage-26] master: Waiting for replica to send "REPLCONF capa" command [stage-26] master: Received bytes: "*5\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$3\r\neof\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" [stage-26] master: Received RESP value: ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-26] Received ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-26] master: Sent "OK" [stage-26] master: Sent bytes: "+OK\r\n" +[stage-26] master: Waiting for replica to send "PSYNC" command [stage-26] master: Received bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" [stage-26] master: Received RESP value: ["PSYNC", "?", "-1"] [stage-26] Received ["PSYNC", "?", "-1"] @@ -561,11 +597,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-1: $ redis-cli 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 ce26a1103f7bc9abaf88e889a562284662736f5b 0\r\n" -[stage-25] replica-1: Received RESP value: "FULLRESYNC ce26a1103f7bc9abaf88e889a562284662736f5b 0" -[stage-25] Received "FULLRESYNC ce26a1103f7bc9abaf88e889a562284662736f5b 0" +[stage-25] replica-1: Received bytes: "+FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0\r\n" +[stage-25] replica-1: Received RESP value: "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0" +[stage-25] Received "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 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\x1aF>f\xfa\bused-mem\xc2`S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(ce26a1103f7bc9abaf88e889a562284662736f5b\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xa8\x19۸!\xefb." +[stage-25] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xecG>f\xfa\bused-mem\xc2 S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(b8512b711c89467776abd880b8206d999b5bc5cc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf5\xa8\x15\x1d\x8dعA" [stage-25] Received RDB file [stage-25] Creating replica: 2 [stage-25] replica-2: $ redis-cli PING @@ -585,11 +621,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-2: $ redis-cli 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 ce26a1103f7bc9abaf88e889a562284662736f5b 0\r\n" -[stage-25] replica-2: Received RESP value: "FULLRESYNC ce26a1103f7bc9abaf88e889a562284662736f5b 0" -[stage-25] Received "FULLRESYNC ce26a1103f7bc9abaf88e889a562284662736f5b 0" +[stage-25] replica-2: Received bytes: "+FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0\r\n" +[stage-25] replica-2: Received RESP value: "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0" +[stage-25] Received "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 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\x1aF>f\xfa\bused-mem\xc2\xd0:\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(ce26a1103f7bc9abaf88e889a562284662736f5b\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x18l%H0e\xd2;" +[stage-25] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xecG>f\xfa\bused-mem\u0090:\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(b8512b711c89467776abd880b8206d999b5bc5cc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffE\xdd\xeb\xed\x9cR\tT" [stage-25] Received RDB file [stage-25] Creating replica: 3 [stage-25] replica-3: $ redis-cli PING @@ -609,11 +645,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-3: $ redis-cli 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 ce26a1103f7bc9abaf88e889a562284662736f5b 0\r\n" -[stage-25] replica-3: Received RESP value: "FULLRESYNC ce26a1103f7bc9abaf88e889a562284662736f5b 0" -[stage-25] Received "FULLRESYNC ce26a1103f7bc9abaf88e889a562284662736f5b 0" +[stage-25] replica-3: Received bytes: "+FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0\r\n" +[stage-25] replica-3: Received RESP value: "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0" +[stage-25] Received "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 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\x1bF>f\xfa\bused-mem\xc2\xe0I\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(ce26a1103f7bc9abaf88e889a562284662736f5b\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffȋ.\xe4b\xb8Ӂ" +[stage-25] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xecG>f\xfa\bused-mem\u00a0I\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(b8512b711c89467776abd880b8206d999b5bc5cc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff`ϸ%5>^0" [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" @@ -631,38 +667,47 @@ Debug = true [stage-25] client: Received RESP value: "OK" [stage-25] Received "OK" [stage-25] Testing Replica: 1/3 +[stage-25] replica-1: Expecting "SET foo 123" to be propagated [stage-25] replica-1: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-25] replica-1: Received RESP value: ["SELECT", "0"] [stage-25] replica-1: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-25] replica-1: Received RESP value: ["SET", "foo", "123"] [stage-25] Received ["SET", "foo", "123"] +[stage-25] replica-1: Expecting "SET bar 456" to be propagated [stage-25] replica-1: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbar\r\n$3\r\n456\r\n" [stage-25] replica-1: Received RESP value: ["SET", "bar", "456"] [stage-25] Received ["SET", "bar", "456"] +[stage-25] replica-1: Expecting "SET baz 789" to be propagated [stage-25] replica-1: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-25] replica-1: Received RESP value: ["SET", "baz", "789"] [stage-25] Received ["SET", "baz", "789"] [stage-25] Testing Replica: 2/3 +[stage-25] replica-2: Expecting "SET foo 123" to be propagated [stage-25] replica-2: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-25] replica-2: Received RESP value: ["SELECT", "0"] [stage-25] replica-2: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-25] replica-2: Received RESP value: ["SET", "foo", "123"] [stage-25] Received ["SET", "foo", "123"] +[stage-25] replica-2: Expecting "SET bar 456" to be propagated [stage-25] replica-2: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbar\r\n$3\r\n456\r\n" [stage-25] replica-2: Received RESP value: ["SET", "bar", "456"] [stage-25] Received ["SET", "bar", "456"] +[stage-25] replica-2: Expecting "SET baz 789" to be propagated [stage-25] replica-2: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-25] replica-2: Received RESP value: ["SET", "baz", "789"] [stage-25] Received ["SET", "baz", "789"] [stage-25] Testing Replica: 3/3 +[stage-25] replica-3: Expecting "SET foo 123" to be propagated [stage-25] replica-3: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-25] replica-3: Received RESP value: ["SELECT", "0"] [stage-25] replica-3: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-25] replica-3: Received RESP value: ["SET", "foo", "123"] [stage-25] Received ["SET", "foo", "123"] +[stage-25] replica-3: Expecting "SET bar 456" to be propagated [stage-25] replica-3: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbar\r\n$3\r\n456\r\n" [stage-25] replica-3: Received RESP value: ["SET", "bar", "456"] [stage-25] Received ["SET", "bar", "456"] +[stage-25] replica-3: Expecting "SET baz 789" to be propagated [stage-25] replica-3: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-25] replica-3: Received RESP value: ["SET", "baz", "789"] [stage-25] Received ["SET", "baz", "789"] @@ -689,11 +734,11 @@ Debug = true [stage-24] Received "OK" [stage-24] replica: $ redis-cli 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 e33d41930968bdec93f7884c164cbdb2f6c26796 0\r\n" -[stage-24] replica: Received RESP value: "FULLRESYNC e33d41930968bdec93f7884c164cbdb2f6c26796 0" -[stage-24] Received "FULLRESYNC e33d41930968bdec93f7884c164cbdb2f6c26796 0" +[stage-24] replica: Received bytes: "+FULLRESYNC 1227420da59b3d0469c84bea9f1ea996ba2002b3 0\r\n" +[stage-24] replica: Received RESP value: "FULLRESYNC 1227420da59b3d0469c84bea9f1ea996ba2002b3 0" +[stage-24] Received "FULLRESYNC 1227420da59b3d0469c84bea9f1ea996ba2002b3 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\x1bF>f\xfa\bused-mem\u0080S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(e33d41930968bdec93f7884c164cbdb2f6c26796\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffE\xe4b\xb92@\xf5\xcf" +[stage-24] replica: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xedG>f\xfa\bused-mem\xc2@S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1227420da59b3d0469c84bea9f1ea996ba2002b3\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe9\x04\xdf{\x1e\x1dg)" [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" @@ -711,17 +756,17 @@ Debug = true [stage-24] client: Received RESP value: "OK" [stage-24] Received "OK" [stage-24] Sent 3 SET commands to master successfully. -[stage-24] replica: Expecting SET foo 123 to be propagated +[stage-24] replica: Expecting "SET foo 123" to be propagated [stage-24] replica: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-24] replica: Received RESP value: ["SELECT", "0"] [stage-24] replica: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-24] replica: Received RESP value: ["SET", "foo", "123"] [stage-24] Received ["SET", "foo", "123"] -[stage-24] replica: Expecting SET bar 456 to be propagated +[stage-24] replica: Expecting "SET bar 456" to be propagated [stage-24] replica: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbar\r\n$3\r\n456\r\n" [stage-24] replica: Received RESP value: ["SET", "bar", "456"] [stage-24] Received ["SET", "bar", "456"] -[stage-24] replica: Expecting SET baz 789 to be propagated +[stage-24] replica: Expecting "SET baz 789" to be propagated [stage-24] replica: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-24] replica: Received RESP value: ["SET", "baz", "789"] [stage-24] Received ["SET", "baz", "789"] @@ -748,11 +793,11 @@ Debug = true [stage-23] Received "OK" [stage-23] client: $ redis-cli 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 e011b4694c86c90109e9e6c01cfb674ed9ad021d 0\r\n" -[stage-23] client: Received RESP value: "FULLRESYNC e011b4694c86c90109e9e6c01cfb674ed9ad021d 0" -[stage-23] Received "FULLRESYNC e011b4694c86c90109e9e6c01cfb674ed9ad021d 0" +[stage-23] client: Received bytes: "+FULLRESYNC 0e2ea0806b83e800d32b9cf47c0e319d3e2d69f1 0\r\n" +[stage-23] client: Received RESP value: "FULLRESYNC 0e2ea0806b83e800d32b9cf47c0e319d3e2d69f1 0" +[stage-23] Received "FULLRESYNC 0e2ea0806b83e800d32b9cf47c0e319d3e2d69f1 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\x1bF>f\xfa\bused-mem\xc2\x10\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(e011b4694c86c90109e9e6c01cfb674ed9ad021d\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff~l\xc51&§m" +[stage-23] client: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xedG>f\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(0e2ea0806b83e800d32b9cf47c0e319d3e2d69f1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x12\xfbh)5ޛ\x1b" [stage-23] Received RDB file [stage-23] Test passed. [stage-23] Terminating program @@ -777,9 +822,9 @@ Debug = true [stage-22] Received "OK" [stage-22] client: $ redis-cli 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 3d977c05e55a2ddb696179ba5b8c76c2b63c46b4 0\r\n" -[stage-22] client: Received RESP value: "FULLRESYNC 3d977c05e55a2ddb696179ba5b8c76c2b63c46b4 0" -[stage-22] Received "FULLRESYNC 3d977c05e55a2ddb696179ba5b8c76c2b63c46b4 0" +[stage-22] client: Received bytes: "+FULLRESYNC deea264341bb6a3087235bad95d4488f97723f3a 0\r\n" +[stage-22] client: Received RESP value: "FULLRESYNC deea264341bb6a3087235bad95d4488f97723f3a 0" +[stage-22] Received "FULLRESYNC deea264341bb6a3087235bad95d4488f97723f3a 0" [stage-22] Test passed. [stage-22] Terminating program [stage-22] Program terminated successfully @@ -808,21 +853,25 @@ Debug = true [stage-20] Running tests for Stage #20: repl-replica-psync [stage-20] Master is running on port 6379 [stage-20] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-20] master: Waiting for replica to initiate handshake with "PING" command [stage-20] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-20] master: Received RESP value: ["PING"] [stage-20] Received ["PING"] [stage-20] master: Sent "PONG" [stage-20] master: Sent bytes: "+PONG\r\n" +[stage-20] master: Waiting for replica to send "REPLCONF listening-port 6380" command [stage-20] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6380\r\n" [stage-20] master: Received RESP value: ["REPLCONF", "listening-port", "6380"] [stage-20] Received ["REPLCONF", "listening-port", "6380"] [stage-20] master: Sent "OK" [stage-20] master: Sent bytes: "+OK\r\n" +[stage-20] master: Waiting for replica to send "REPLCONF capa" command [stage-20] master: Received bytes: "*5\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$3\r\neof\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" [stage-20] master: Received RESP value: ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-20] Received ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-20] master: Sent "OK" [stage-20] master: Sent bytes: "+OK\r\n" +[stage-20] master: Waiting for replica to send "PSYNC" command [stage-20] master: Received bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" [stage-20] master: Received RESP value: ["PSYNC", "?", "-1"] [stage-20] Received ["PSYNC", "?", "-1"] @@ -835,16 +884,19 @@ Debug = true [stage-19] Running tests for Stage #19: repl-replica-replconf [stage-19] Master is running on port 6379 [stage-19] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-19] master: Waiting for replica to initiate handshake with "PING" command [stage-19] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-19] master: Received RESP value: ["PING"] [stage-19] Received ["PING"] [stage-19] master: Sent "PONG" [stage-19] master: Sent bytes: "+PONG\r\n" +[stage-19] master: Waiting for replica to send "REPLCONF listening-port 6380" command [stage-19] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6380\r\n" [stage-19] master: Received RESP value: ["REPLCONF", "listening-port", "6380"] [stage-19] Received ["REPLCONF", "listening-port", "6380"] [stage-19] master: Sent "OK" [stage-19] master: Sent bytes: "+OK\r\n" +[stage-19] master: Waiting for replica to send "REPLCONF capa" command [stage-19] master: Received bytes: "*5\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$3\r\neof\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" [stage-19] master: Received RESP value: ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-19] Received ["REPLCONF", "capa", "eof", "capa", "psync2"] @@ -857,6 +909,7 @@ Debug = true [stage-18] Running tests for Stage #18: repl-replica-ping [stage-18] Master is running on port 6379. [stage-18] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-18] master: Waiting for replica to initiate handshake with "PING" command [stage-18] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-18] master: Received RESP value: ["PING"] [stage-18] Received ["PING"] @@ -870,9 +923,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:1ff36231f8f9fb786bfff065884d9ffab4823641\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 value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:1ff36231f8f9fb786bfff065884d9ffab4823641\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:1ff36231f8f9fb786bfff065884d9ffab4823641\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:1816f0bdd8e48a596542a34856f7974a6e075139\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 value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:1816f0bdd8e48a596542a34856f7974a6e075139\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:1816f0bdd8e48a596542a34856f7974a6e075139\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. @@ -913,9 +966,9 @@ 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:65812462942d580fe850fbda42b7ba13baf1fd28\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 value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:65812462942d580fe850fbda42b7ba13baf1fd28\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:65812462942d580fe850fbda42b7ba13baf1fd28\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:9109cc3b41587024f9bdc7461eb8c90746e97421\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 value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:9109cc3b41587024f9bdc7461eb8c90746e97421\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:9109cc3b41587024f9bdc7461eb8c90746e97421\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 @@ -930,7 +983,7 @@ Debug = true [stage-14] Program terminated successfully [stage-13] Running tests for Stage #13: rdb-read-value-with-expiry -[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles813773152 --dbfilename pear.rdb +[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2414152642 --dbfilename pear.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: "$9\r\nblueberry\r\n" @@ -952,7 +1005,7 @@ Debug = true [stage-12] Running tests for Stage #12: rdb-read-multiple-string-values [stage-12] Created RDB file with key-value pairs: "grape"="mango", "orange"="banana", "blueberry"="orange", "pear"="grape", "banana"="blueberry" -[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles4035139454 --dbfilename mango.rdb +[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles902309970 --dbfilename mango.rdb [stage-12] client: $ redis-cli GET grape [stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\ngrape\r\n" [stage-12] client: Received bytes: "$5\r\nmango\r\n" @@ -984,19 +1037,19 @@ Debug = true [stage-11] Running tests for Stage #11: rdb-read-multiple-keys [stage-11] Created RDB file with 4 keys: ["raspberry" "blueberry" "apple" "orange"] -[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1467790294 --dbfilename grape.rdb +[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles4069510286 --dbfilename grape.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$9\r\nblueberry\r\n$9\r\nraspberry\r\n$6\r\norange\r\n$5\r\napple\r\n" -[stage-11] client: Received RESP value: ["blueberry", "raspberry", "orange", "apple"] -[stage-11] Received ["blueberry", "raspberry", "orange", "apple"] +[stage-11] client: Received bytes: "*4\r\n$6\r\norange\r\n$9\r\nraspberry\r\n$5\r\napple\r\n$9\r\nblueberry\r\n" +[stage-11] client: Received RESP value: ["orange", "raspberry", "apple", "blueberry"] +[stage-11] Received ["orange", "raspberry", "apple", "blueberry"] [stage-11] Test passed. [stage-11] Terminating program [stage-11] Program terminated successfully [stage-10] Running tests for Stage #10: rdb-read-string-value [stage-10] Created RDB file with single key-value pair: blueberry="raspberry" -[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles4011303626 --dbfilename strawberry.rdb +[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles4230954736 --dbfilename strawberry.rdb [stage-10] client: $ redis-cli GET blueberry [stage-10] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nblueberry\r\n" [stage-10] client: Received bytes: "$9\r\nraspberry\r\n" @@ -1008,7 +1061,7 @@ Debug = true [stage-9] Running tests for Stage #9: rdb-read-key [stage-9] Created RDB file with single key: "grape" -[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1365223469 --dbfilename orange.rdb +[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2939135434 --dbfilename orange.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\ngrape\r\n" @@ -1019,12 +1072,12 @@ Debug = true [stage-9] Program terminated successfully [stage-8] Running tests for Stage #8: rdb-config -[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles594630809 --dbfilename raspberry.rdb +[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles807335325 --dbfilename raspberry.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$74\r\n/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles594630809\r\n" -[stage-8] client: Received RESP value: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles594630809"] -[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles594630809"] +[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$74\r\n/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles807335325\r\n" +[stage-8] client: Received RESP value: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles807335325"] +[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles807335325"] [stage-8] Test passed. [stage-8] Terminating program [stage-8] Program terminated successfully @@ -1036,15 +1089,15 @@ Debug = true [stage-7] Received bytes: "+OK\r\n" [stage-7] Received RESP value: "OK" [stage-7] Received "OK" -[stage-7] Received OK at 21:36:54.825 -[stage-7] Fetching key "mango" at 21:36:54.825 (should not be expired) +[stage-7] Received OK at 21:44:40.684 +[stage-7] Fetching key "mango" at 21:44:40.684 (should not be expired) [stage-7] $ redis-cli GET mango [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\nmango\r\n" [stage-7] Received bytes: "$6\r\norange\r\n" [stage-7] Received RESP value: "orange" [stage-7] Received "orange" [stage-7] Sleeping for 101ms -[stage-7] Fetching key "mango" at 21:36:54.928 (should be expired) +[stage-7] Fetching key "mango" at 21:44:40.787 (should be expired) [stage-7] $ redis-cli GET mango [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\nmango\r\n" [stage-7] Received bytes: "$-1\r\n" diff --git a/internal/test_helpers/fixtures/streams/pass b/internal/test_helpers/fixtures/streams/pass index 61fc249..1da8456 100644 --- a/internal/test_helpers/fixtures/streams/pass +++ b/internal/test_helpers/fixtures/streams/pass @@ -215,7 +215,7 @@ Debug = true [stage-36] Running tests for Stage #36: streams-xadd-full-autoid [stage-36] $ ./spawn_redis_server.sh [stage-36] $ redis-cli xadd "mango" * foo bar -[stage-36] Received response: ""1715357221478-0"" +[stage-36] Received response: ""1715357709920-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. @@ -293,11 +293,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-1: $ redis-cli 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 4d25521a1755be9c21456e01ec28557a5bd19035 0\r\n" -[stage-31] replica-1: Received RESP value: "FULLRESYNC 4d25521a1755be9c21456e01ec28557a5bd19035 0" -[stage-31] Received "FULLRESYNC 4d25521a1755be9c21456e01ec28557a5bd19035 0" +[stage-31] replica-1: Received bytes: "+FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0\r\n" +[stage-31] replica-1: Received RESP value: "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0" +[stage-31] Received "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 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&F>f\xfa\bused-mem\xc2\x10\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(4d25521a1755be9c21456e01ec28557a5bd19035\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf3v\x94M\xbb\x03u\x18" +[stage-31] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x0eH>f\xfa\bused-mem\xc2\xf0\r\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(11056bcfc27364d9b3d58eab15f912f041cb6ed6\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x12\xb2\xd8z\xc1\xbe\xe5?" [stage-31] Received RDB file [stage-31] Creating replica: 2 [stage-31] replica-2: $ redis-cli PING @@ -317,11 +317,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-2: $ redis-cli 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 4d25521a1755be9c21456e01ec28557a5bd19035 0\r\n" -[stage-31] replica-2: Received RESP value: "FULLRESYNC 4d25521a1755be9c21456e01ec28557a5bd19035 0" -[stage-31] Received "FULLRESYNC 4d25521a1755be9c21456e01ec28557a5bd19035 0" +[stage-31] replica-2: Received bytes: "+FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0\r\n" +[stage-31] replica-2: Received RESP value: "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0" +[stage-31] Received "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 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&F>f\xfa\bused-mem\u00a0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(4d25521a1755be9c21456e01ec28557a5bd19035\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xb8\x853\x1d\xddg\x01A" +[stage-31] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x0eH>f\xfa\bused-mem\u0080\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(11056bcfc27364d9b3d58eab15f912f041cb6ed6\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff \x18\xa3\f\x90U^\x02" [stage-31] Received RDB file [stage-31] Creating replica: 3 [stage-31] replica-3: $ redis-cli PING @@ -341,11 +341,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-3: $ redis-cli 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 4d25521a1755be9c21456e01ec28557a5bd19035 0\r\n" -[stage-31] replica-3: Received RESP value: "FULLRESYNC 4d25521a1755be9c21456e01ec28557a5bd19035 0" -[stage-31] Received "FULLRESYNC 4d25521a1755be9c21456e01ec28557a5bd19035 0" +[stage-31] replica-3: Received bytes: "+FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0\r\n" +[stage-31] replica-3: Received RESP value: "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0" +[stage-31] Received "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 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&F>f\xfa\bused-mem\u00a0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(4d25521a1755be9c21456e01ec28557a5bd19035\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x80\xa2\xabU4\xa8\x96o" +[stage-31] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x0eH>f\xfa\bused-mem\u0080@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(11056bcfc27364d9b3d58eab15f912f041cb6ed6\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x18?;Dy\x9a\xc9," [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" @@ -355,34 +355,43 @@ Debug = true [stage-31] client: $ redis-cli WAIT 1 500 [stage-31] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n1\r\n$3\r\n500\r\n" [stage-31] Testing Replica : 1 +[stage-31] replica-1: Expecting "SET foo 123" to be propagated [stage-31] replica-1: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-31] replica-1: Received RESP value: ["SELECT", "0"] [stage-31] replica-1: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-31] replica-1: Received RESP value: ["SET", "foo", "123"] [stage-31] Received ["SET", "foo", "123"] +[stage-31] replica-1: Expecting "REPLCONF GETACK *" from Master [stage-31] replica-1: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" [stage-31] replica-1: Received RESP value: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-1: Sending ACK to Master [stage-31] replica-1: $ redis-cli REPLCONF ACK 54 [stage-31] replica-1: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$2\r\n54\r\n" [stage-31] Testing Replica : 2 +[stage-31] replica-2: Expecting "SET foo 123" to be propagated [stage-31] replica-2: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-31] replica-2: Received RESP value: ["SELECT", "0"] [stage-31] replica-2: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-31] replica-2: Received RESP value: ["SET", "foo", "123"] [stage-31] Received ["SET", "foo", "123"] +[stage-31] replica-2: Expecting "REPLCONF GETACK *" from Master [stage-31] replica-2: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" [stage-31] replica-2: Received RESP value: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-2: Not sending ACK to Master [stage-31] Testing Replica : 3 +[stage-31] replica-3: Expecting "SET foo 123" to be propagated [stage-31] replica-3: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-31] replica-3: Received RESP value: ["SELECT", "0"] [stage-31] replica-3: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-31] replica-3: Received RESP value: ["SET", "foo", "123"] [stage-31] Received ["SET", "foo", "123"] +[stage-31] replica-3: Expecting "REPLCONF GETACK *" from Master [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 value: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-3: Not sending ACK to Master [stage-31] client: Received bytes: ":1\r\n" [stage-31] client: Received RESP value: 1 [stage-31] Passed first WAIT test. @@ -394,33 +403,42 @@ Debug = true [stage-31] client: $ redis-cli 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] 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" [stage-31] replica-1: Received RESP value: ["SET", "baz", "789"] [stage-31] Received ["SET", "baz", "789"] +[stage-31] replica-1: Expecting "REPLCONF GETACK *" from Master [stage-31] replica-1: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" [stage-31] replica-1: Received RESP value: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-1: Sending ACK to Master [stage-31] replica-1: $ redis-cli REPLCONF ACK 122 [stage-31] replica-1: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$3\r\n122\r\n" [stage-31] Testing Replica : 2 +[stage-31] replica-2: Expecting "SET baz 789" to be propagated [stage-31] replica-2: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-31] replica-2: Received RESP value: ["SET", "baz", "789"] [stage-31] Received ["SET", "baz", "789"] +[stage-31] replica-2: Expecting "REPLCONF GETACK *" from Master [stage-31] replica-2: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$6\r\nGETACK\r\n$1\r\n*\r\n" [stage-31] replica-2: Received RESP value: ["REPLCONF", "GETACK", "*"] [stage-31] Received ["REPLCONF", "GETACK", "*"] +[stage-31] replica-2: Sending ACK to Master [stage-31] replica-2: $ redis-cli REPLCONF ACK 122 [stage-31] replica-2: Sent bytes: "*3\r\n$8\r\nREPLCONF\r\n$3\r\nACK\r\n$3\r\n122\r\n" [stage-31] Testing Replica : 3 +[stage-31] replica-3: Expecting "SET baz 789" to be propagated [stage-31] replica-3: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-31] replica-3: Received RESP value: ["SET", "baz", "789"] [stage-31] Received ["SET", "baz", "789"] +[stage-31] replica-3: Expecting "REPLCONF GETACK *" from Master [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 value: ["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 value: 2 -[stage-31] WAIT command returned after 2002 ms +[stage-31] WAIT command returned after 2109 ms [stage-31] Test passed. [stage-31] Terminating program [stage-31] Program terminated successfully @@ -446,11 +464,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-1: $ redis-cli 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 afc51bbd051d7ee844c19b2eb61196763d79e9e7 0\r\n" -[stage-30] replica-1: Received RESP value: "FULLRESYNC afc51bbd051d7ee844c19b2eb61196763d79e9e7 0" -[stage-30] Received "FULLRESYNC afc51bbd051d7ee844c19b2eb61196763d79e9e7 0" +[stage-30] replica-1: Received bytes: "+FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0\r\n" +[stage-30] replica-1: Received RESP value: "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0" +[stage-30] Received "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 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(F>f\xfa\bused-mem\xc2P\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(afc51bbd051d7ee844c19b2eb61196763d79e9e7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffe\x95\x89b\x1c\x86\xf9$" +[stage-30] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x11H>f\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(950a7b1619b365c1b82aa2a0667ef230024d04d4\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffe+\xb5\xf2#\xad\xf6@" [stage-30] Received RDB file [stage-30] Creating replica: 2 [stage-30] replica-2: $ redis-cli PING @@ -470,11 +488,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-2: $ redis-cli 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 afc51bbd051d7ee844c19b2eb61196763d79e9e7 0\r\n" -[stage-30] replica-2: Received RESP value: "FULLRESYNC afc51bbd051d7ee844c19b2eb61196763d79e9e7 0" -[stage-30] Received "FULLRESYNC afc51bbd051d7ee844c19b2eb61196763d79e9e7 0" +[stage-30] replica-2: Received bytes: "+FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0\r\n" +[stage-30] replica-2: Received RESP value: "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0" +[stage-30] Received "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 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(F>f\xfa\bused-mem\xc2\xe0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(afc51bbd051d7ee844c19b2eb61196763d79e9e7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff.f.2z\xe2\x8d}" +[stage-30] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x11H>f\xfa\bused-mem\xc2\xc0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(950a7b1619b365c1b82aa2a0667ef230024d04d4\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xcc>\"\xf5\xdb\x008\xf5" [stage-30] Received RDB file [stage-30] Creating replica: 3 [stage-30] replica-3: $ redis-cli PING @@ -494,11 +512,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-3: $ redis-cli 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 afc51bbd051d7ee844c19b2eb61196763d79e9e7 0\r\n" -[stage-30] replica-3: Received RESP value: "FULLRESYNC afc51bbd051d7ee844c19b2eb61196763d79e9e7 0" -[stage-30] Received "FULLRESYNC afc51bbd051d7ee844c19b2eb61196763d79e9e7 0" +[stage-30] replica-3: Received bytes: "+FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0\r\n" +[stage-30] replica-3: Received RESP value: "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0" +[stage-30] Received "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 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(F>f\xfa\bused-mem\xc2\xe0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(afc51bbd051d7ee844c19b2eb61196763d79e9e7\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x16A\xb6z\x93-\x1aS" +[stage-30] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x11H>f\xfa\bused-mem\xc2\xc0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(950a7b1619b365c1b82aa2a0667ef230024d04d4\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf4\x19\xba\xbd2ϯ\xdb" [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" @@ -533,21 +551,25 @@ Debug = true [stage-28] Running tests for Stage #28: repl-replica-getack-nonzero [stage-28] Master is running on port 6379 [stage-28] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-28] master: Waiting for replica to initiate handshake with "PING" command [stage-28] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-28] master: Received RESP value: ["PING"] [stage-28] Received ["PING"] [stage-28] master: Sent "PONG" [stage-28] master: Sent bytes: "+PONG\r\n" +[stage-28] master: Waiting for replica to send "REPLCONF listening-port 6380" command [stage-28] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6380\r\n" [stage-28] master: Received RESP value: ["REPLCONF", "listening-port", "6380"] [stage-28] Received ["REPLCONF", "listening-port", "6380"] [stage-28] master: Sent "OK" [stage-28] master: Sent bytes: "+OK\r\n" +[stage-28] master: Waiting for replica to send "REPLCONF capa" command [stage-28] master: Received bytes: "*5\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$3\r\neof\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" [stage-28] master: Received RESP value: ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-28] Received ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-28] master: Sent "OK" [stage-28] master: Sent bytes: "+OK\r\n" +[stage-28] master: Waiting for replica to send "PSYNC" command [stage-28] master: Received bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" [stage-28] master: Received RESP value: ["PSYNC", "?", "-1"] [stage-28] Received ["PSYNC", "?", "-1"] @@ -584,21 +606,25 @@ Debug = true [stage-27] Running tests for Stage #27: repl-replica-getack [stage-27] Master is running on port 6379 [stage-27] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-27] master: Waiting for replica to initiate handshake with "PING" command [stage-27] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-27] master: Received RESP value: ["PING"] [stage-27] Received ["PING"] [stage-27] master: Sent "PONG" [stage-27] master: Sent bytes: "+PONG\r\n" +[stage-27] master: Waiting for replica to send "REPLCONF listening-port 6380" command [stage-27] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6380\r\n" [stage-27] master: Received RESP value: ["REPLCONF", "listening-port", "6380"] [stage-27] Received ["REPLCONF", "listening-port", "6380"] [stage-27] master: Sent "OK" [stage-27] master: Sent bytes: "+OK\r\n" +[stage-27] master: Waiting for replica to send "REPLCONF capa" command [stage-27] master: Received bytes: "*5\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$3\r\neof\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" [stage-27] master: Received RESP value: ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-27] Received ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-27] master: Sent "OK" [stage-27] master: Sent bytes: "+OK\r\n" +[stage-27] master: Waiting for replica to send "PSYNC" command [stage-27] master: Received bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" [stage-27] master: Received RESP value: ["PSYNC", "?", "-1"] [stage-27] Received ["PSYNC", "?", "-1"] @@ -619,21 +645,25 @@ Debug = true [stage-26] Running tests for Stage #26: repl-cmd-processing [stage-26] Master is running on port 6379 [stage-26] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-26] master: Waiting for replica to initiate handshake with "PING" command [stage-26] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-26] master: Received RESP value: ["PING"] [stage-26] Received ["PING"] [stage-26] master: Sent "PONG" [stage-26] master: Sent bytes: "+PONG\r\n" +[stage-26] master: Waiting for replica to send "REPLCONF listening-port 6380" command [stage-26] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6380\r\n" [stage-26] master: Received RESP value: ["REPLCONF", "listening-port", "6380"] [stage-26] Received ["REPLCONF", "listening-port", "6380"] [stage-26] master: Sent "OK" [stage-26] master: Sent bytes: "+OK\r\n" +[stage-26] master: Waiting for replica to send "REPLCONF capa" command [stage-26] master: Received bytes: "*5\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$3\r\neof\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" [stage-26] master: Received RESP value: ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-26] Received ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-26] master: Sent "OK" [stage-26] master: Sent bytes: "+OK\r\n" +[stage-26] master: Waiting for replica to send "PSYNC" command [stage-26] master: Received bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" [stage-26] master: Received RESP value: ["PSYNC", "?", "-1"] [stage-26] Received ["PSYNC", "?", "-1"] @@ -690,11 +720,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-1: $ redis-cli 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 b49b9f527cbc57e5b166f887afc9f7e548fffd49 0\r\n" -[stage-25] replica-1: Received RESP value: "FULLRESYNC b49b9f527cbc57e5b166f887afc9f7e548fffd49 0" -[stage-25] Received "FULLRESYNC b49b9f527cbc57e5b166f887afc9f7e548fffd49 0" +[stage-25] replica-1: Received bytes: "+FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0\r\n" +[stage-25] replica-1: Received RESP value: "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0" +[stage-25] Received "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 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*F>f\xfa\bused-mem\u00a0S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(b49b9f527cbc57e5b166f887afc9f7e548fffd49\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffd\xed\"\x93\x84bf\x00" +[stage-25] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x13H>f\xfa\bused-mem\xc2`S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(bd1d01cbfc7489ee5f189495d5313379d448267d\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xd4\x06\x10gex\xffB" [stage-25] Received RDB file [stage-25] Creating replica: 2 [stage-25] replica-2: $ redis-cli PING @@ -714,11 +744,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-2: $ redis-cli 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 b49b9f527cbc57e5b166f887afc9f7e548fffd49 0\r\n" -[stage-25] replica-2: Received RESP value: "FULLRESYNC b49b9f527cbc57e5b166f887afc9f7e548fffd49 0" -[stage-25] Received "FULLRESYNC b49b9f527cbc57e5b166f887afc9f7e548fffd49 0" +[stage-25] replica-2: Received bytes: "+FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0\r\n" +[stage-25] replica-2: Received RESP value: "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0" +[stage-25] Received "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 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*F>f\xfa\bused-mem\xc2\x10;\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(b49b9f527cbc57e5b166f887afc9f7e548fffd49\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffᶧ\xd6\x19\xa4\xd6\xda" +[stage-25] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x13H>f\xfa\bused-mem\xc2\xd0:\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(bd1d01cbfc7489ee5f189495d5313379d448267d\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffds\xee\x97t\xf2OW" [stage-25] Received RDB file [stage-25] Creating replica: 3 [stage-25] replica-3: $ redis-cli PING @@ -738,11 +768,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-3: $ redis-cli 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 b49b9f527cbc57e5b166f887afc9f7e548fffd49 0\r\n" -[stage-25] replica-3: Received RESP value: "FULLRESYNC b49b9f527cbc57e5b166f887afc9f7e548fffd49 0" -[stage-25] Received "FULLRESYNC b49b9f527cbc57e5b166f887afc9f7e548fffd49 0" +[stage-25] replica-3: Received bytes: "+FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0\r\n" +[stage-25] replica-3: Received RESP value: "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0" +[stage-25] Received "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 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*F>f\xfa\bused-mem\xc2 J\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(b49b9f527cbc57e5b166f887afc9f7e548fffd49\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xc5k\x95,\xfaw\xd8\v" +[stage-25] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x13H>f\xfa\bused-mem\xc2\xe0I\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(bd1d01cbfc7489ee5f189495d5313379d448267d\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffAa\xbd_ݞ\x183" [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" @@ -760,38 +790,47 @@ Debug = true [stage-25] client: Received RESP value: "OK" [stage-25] Received "OK" [stage-25] Testing Replica: 1/3 +[stage-25] replica-1: Expecting "SET foo 123" to be propagated [stage-25] replica-1: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-25] replica-1: Received RESP value: ["SELECT", "0"] [stage-25] replica-1: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-25] replica-1: Received RESP value: ["SET", "foo", "123"] [stage-25] Received ["SET", "foo", "123"] +[stage-25] replica-1: Expecting "SET bar 456" to be propagated [stage-25] replica-1: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbar\r\n$3\r\n456\r\n" [stage-25] replica-1: Received RESP value: ["SET", "bar", "456"] [stage-25] Received ["SET", "bar", "456"] +[stage-25] replica-1: Expecting "SET baz 789" to be propagated [stage-25] replica-1: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-25] replica-1: Received RESP value: ["SET", "baz", "789"] [stage-25] Received ["SET", "baz", "789"] [stage-25] Testing Replica: 2/3 +[stage-25] replica-2: Expecting "SET foo 123" to be propagated [stage-25] replica-2: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-25] replica-2: Received RESP value: ["SELECT", "0"] [stage-25] replica-2: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-25] replica-2: Received RESP value: ["SET", "foo", "123"] [stage-25] Received ["SET", "foo", "123"] +[stage-25] replica-2: Expecting "SET bar 456" to be propagated [stage-25] replica-2: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbar\r\n$3\r\n456\r\n" [stage-25] replica-2: Received RESP value: ["SET", "bar", "456"] [stage-25] Received ["SET", "bar", "456"] +[stage-25] replica-2: Expecting "SET baz 789" to be propagated [stage-25] replica-2: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-25] replica-2: Received RESP value: ["SET", "baz", "789"] [stage-25] Received ["SET", "baz", "789"] [stage-25] Testing Replica: 3/3 +[stage-25] replica-3: Expecting "SET foo 123" to be propagated [stage-25] replica-3: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-25] replica-3: Received RESP value: ["SELECT", "0"] [stage-25] replica-3: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-25] replica-3: Received RESP value: ["SET", "foo", "123"] [stage-25] Received ["SET", "foo", "123"] +[stage-25] replica-3: Expecting "SET bar 456" to be propagated [stage-25] replica-3: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbar\r\n$3\r\n456\r\n" [stage-25] replica-3: Received RESP value: ["SET", "bar", "456"] [stage-25] Received ["SET", "bar", "456"] +[stage-25] replica-3: Expecting "SET baz 789" to be propagated [stage-25] replica-3: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-25] replica-3: Received RESP value: ["SET", "baz", "789"] [stage-25] Received ["SET", "baz", "789"] @@ -818,11 +857,11 @@ Debug = true [stage-24] Received "OK" [stage-24] replica: $ redis-cli 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 d81be463d0d3f14dcdc2faac8be6d2d19ad601cb 0\r\n" -[stage-24] replica: Received RESP value: "FULLRESYNC d81be463d0d3f14dcdc2faac8be6d2d19ad601cb 0" -[stage-24] Received "FULLRESYNC d81be463d0d3f14dcdc2faac8be6d2d19ad601cb 0" +[stage-24] replica: Received bytes: "+FULLRESYNC bc00726e14c6da6d5b42f99e1ef0366a68d885a3 0\r\n" +[stage-24] replica: Received RESP value: "FULLRESYNC bc00726e14c6da6d5b42f99e1ef0366a68d885a3 0" +[stage-24] Received "FULLRESYNC bc00726e14c6da6d5b42f99e1ef0366a68d885a3 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+F>f\xfa\bused-mem\xc2@S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(d81be463d0d3f14dcdc2faac8be6d2d19ad601cb\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xdc\x1a\xf6\x9b\xaeUM)" +[stage-24] replica: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x13H>f\xfa\bused-mem\xc2@S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(bc00726e14c6da6d5b42f99e1ef0366a68d885a3\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xdaE\xbb\xbf.\xe5tJ" [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" @@ -840,17 +879,17 @@ Debug = true [stage-24] client: Received RESP value: "OK" [stage-24] Received "OK" [stage-24] Sent 3 SET commands to master successfully. -[stage-24] replica: Expecting SET foo 123 to be propagated +[stage-24] replica: Expecting "SET foo 123" to be propagated [stage-24] replica: Received bytes: "*2\r\n$6\r\nSELECT\r\n$1\r\n0\r\n" [stage-24] replica: Received RESP value: ["SELECT", "0"] [stage-24] replica: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" [stage-24] replica: Received RESP value: ["SET", "foo", "123"] [stage-24] Received ["SET", "foo", "123"] -[stage-24] replica: Expecting SET bar 456 to be propagated +[stage-24] replica: Expecting "SET bar 456" to be propagated [stage-24] replica: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbar\r\n$3\r\n456\r\n" [stage-24] replica: Received RESP value: ["SET", "bar", "456"] [stage-24] Received ["SET", "bar", "456"] -[stage-24] replica: Expecting SET baz 789 to be propagated +[stage-24] replica: Expecting "SET baz 789" to be propagated [stage-24] replica: Received bytes: "*3\r\n$3\r\nSET\r\n$3\r\nbaz\r\n$3\r\n789\r\n" [stage-24] replica: Received RESP value: ["SET", "baz", "789"] [stage-24] Received ["SET", "baz", "789"] @@ -877,11 +916,11 @@ Debug = true [stage-23] Received "OK" [stage-23] client: $ redis-cli 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 dbae3f5cb6778886ac3466764f610df0d79c00f8 0\r\n" -[stage-23] client: Received RESP value: "FULLRESYNC dbae3f5cb6778886ac3466764f610df0d79c00f8 0" -[stage-23] Received "FULLRESYNC dbae3f5cb6778886ac3466764f610df0d79c00f8 0" +[stage-23] client: Received bytes: "+FULLRESYNC 59c4dc906896fb2f1f908a89156b850e06065ef1 0\r\n" +[stage-23] client: Received RESP value: "FULLRESYNC 59c4dc906896fb2f1f908a89156b850e06065ef1 0" +[stage-23] Received "FULLRESYNC 59c4dc906896fb2f1f908a89156b850e06065ef1 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+F>f\xfa\bused-mem\xc2P\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(dbae3f5cb6778886ac3466764f610df0d79c00f8\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xab\x02*.\x10&̰" +[stage-23] client: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x13H>f\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(59c4dc906896fb2f1f908a89156b850e06065ef1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf5a:\x8dz&n\x19" [stage-23] Received RDB file [stage-23] Test passed. [stage-23] Terminating program @@ -906,9 +945,9 @@ Debug = true [stage-22] Received "OK" [stage-22] client: $ redis-cli 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 da44be71a7cad90373a20dceed70bbb097dcb16e 0\r\n" -[stage-22] client: Received RESP value: "FULLRESYNC da44be71a7cad90373a20dceed70bbb097dcb16e 0" -[stage-22] Received "FULLRESYNC da44be71a7cad90373a20dceed70bbb097dcb16e 0" +[stage-22] client: Received bytes: "+FULLRESYNC 9932ecf2f66b217fed8c947627dfb931b67d8857 0\r\n" +[stage-22] client: Received RESP value: "FULLRESYNC 9932ecf2f66b217fed8c947627dfb931b67d8857 0" +[stage-22] Received "FULLRESYNC 9932ecf2f66b217fed8c947627dfb931b67d8857 0" [stage-22] Test passed. [stage-22] Terminating program [stage-22] Program terminated successfully @@ -937,21 +976,25 @@ Debug = true [stage-20] Running tests for Stage #20: repl-replica-psync [stage-20] Master is running on port 6379 [stage-20] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-20] master: Waiting for replica to initiate handshake with "PING" command [stage-20] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-20] master: Received RESP value: ["PING"] [stage-20] Received ["PING"] [stage-20] master: Sent "PONG" [stage-20] master: Sent bytes: "+PONG\r\n" +[stage-20] master: Waiting for replica to send "REPLCONF listening-port 6380" command [stage-20] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6380\r\n" [stage-20] master: Received RESP value: ["REPLCONF", "listening-port", "6380"] [stage-20] Received ["REPLCONF", "listening-port", "6380"] [stage-20] master: Sent "OK" [stage-20] master: Sent bytes: "+OK\r\n" +[stage-20] master: Waiting for replica to send "REPLCONF capa" command [stage-20] master: Received bytes: "*5\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$3\r\neof\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" [stage-20] master: Received RESP value: ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-20] Received ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-20] master: Sent "OK" [stage-20] master: Sent bytes: "+OK\r\n" +[stage-20] master: Waiting for replica to send "PSYNC" command [stage-20] master: Received bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" [stage-20] master: Received RESP value: ["PSYNC", "?", "-1"] [stage-20] Received ["PSYNC", "?", "-1"] @@ -964,16 +1007,19 @@ Debug = true [stage-19] Running tests for Stage #19: repl-replica-replconf [stage-19] Master is running on port 6379 [stage-19] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-19] master: Waiting for replica to initiate handshake with "PING" command [stage-19] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-19] master: Received RESP value: ["PING"] [stage-19] Received ["PING"] [stage-19] master: Sent "PONG" [stage-19] master: Sent bytes: "+PONG\r\n" +[stage-19] master: Waiting for replica to send "REPLCONF listening-port 6380" command [stage-19] master: Received bytes: "*3\r\n$8\r\nREPLCONF\r\n$14\r\nlistening-port\r\n$4\r\n6380\r\n" [stage-19] master: Received RESP value: ["REPLCONF", "listening-port", "6380"] [stage-19] Received ["REPLCONF", "listening-port", "6380"] [stage-19] master: Sent "OK" [stage-19] master: Sent bytes: "+OK\r\n" +[stage-19] master: Waiting for replica to send "REPLCONF capa" command [stage-19] master: Received bytes: "*5\r\n$8\r\nREPLCONF\r\n$4\r\ncapa\r\n$3\r\neof\r\n$4\r\ncapa\r\n$6\r\npsync2\r\n" [stage-19] master: Received RESP value: ["REPLCONF", "capa", "eof", "capa", "psync2"] [stage-19] Received ["REPLCONF", "capa", "eof", "capa", "psync2"] @@ -986,6 +1032,7 @@ Debug = true [stage-18] Running tests for Stage #18: repl-replica-ping [stage-18] Master is running on port 6379. [stage-18] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" +[stage-18] master: Waiting for replica to initiate handshake with "PING" command [stage-18] master: Received bytes: "*1\r\n$4\r\nPING\r\n" [stage-18] master: Received RESP value: ["PING"] [stage-18] Received ["PING"] @@ -999,9 +1046,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:8c23133c65307f824896f546793fb19c61cb5f68\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 value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:8c23133c65307f824896f546793fb19c61cb5f68\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:8c23133c65307f824896f546793fb19c61cb5f68\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:fce177b51f2533035c89ecbcdf9eda0dd50d9ff7\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 value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:fce177b51f2533035c89ecbcdf9eda0dd50d9ff7\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:fce177b51f2533035c89ecbcdf9eda0dd50d9ff7\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. @@ -1042,9 +1089,9 @@ 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:9a54ddf29cc6a45ed7cdba0092965de64b497c1a\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 value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:9a54ddf29cc6a45ed7cdba0092965de64b497c1a\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:9a54ddf29cc6a45ed7cdba0092965de64b497c1a\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:49ed32bd7431f5109bcd016260fc88187559a447\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 value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:49ed32bd7431f5109bcd016260fc88187559a447\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:49ed32bd7431f5109bcd016260fc88187559a447\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 @@ -1059,7 +1106,7 @@ Debug = true [stage-14] Program terminated successfully [stage-13] Running tests for Stage #13: rdb-read-value-with-expiry -[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2940606997 --dbfilename banana.rdb +[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3219304145 --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" @@ -1086,7 +1133,7 @@ Debug = true [stage-12] Running tests for Stage #12: rdb-read-multiple-string-values [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/rdbfiles1266491319 --dbfilename strawberry.rdb +[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles445392019 --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] client: Received bytes: "$4\r\npear\r\n" @@ -1108,19 +1155,19 @@ Debug = true [stage-11] Running tests for Stage #11: rdb-read-multiple-keys [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/rdbfiles1777677396 --dbfilename strawberry.rdb +[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1604981223 --dbfilename strawberry.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$5\r\nmango\r\n$9\r\nblueberry\r\n$9\r\npineapple\r\n" -[stage-11] client: Received RESP value: ["apple", "mango", "blueberry", "pineapple"] -[stage-11] Received ["apple", "mango", "blueberry", "pineapple"] +[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 value: ["apple", "blueberry", "pineapple", "mango"] +[stage-11] Received ["apple", "blueberry", "pineapple", "mango"] [stage-11] Test passed. [stage-11] Terminating program [stage-11] Program terminated successfully [stage-10] Running tests for Stage #10: rdb-read-string-value [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/rdbfiles1882434618 --dbfilename blueberry.rdb +[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3599055013 --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" @@ -1132,7 +1179,7 @@ Debug = true [stage-9] Running tests for Stage #9: rdb-read-key [stage-9] Created RDB file with single key: "orange" -[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1344724041 --dbfilename mango.rdb +[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3123330290 --dbfilename mango.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" @@ -1143,12 +1190,12 @@ Debug = true [stage-9] Program terminated successfully [stage-8] Running tests for Stage #8: rdb-config -[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1396293888 --dbfilename raspberry.rdb +[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles380550116 --dbfilename raspberry.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/rdbfiles1396293888\r\n" -[stage-8] client: Received RESP value: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1396293888"] -[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1396293888"] +[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$74\r\n/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles380550116\r\n" +[stage-8] client: Received RESP value: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles380550116"] +[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles380550116"] [stage-8] Test passed. [stage-8] Terminating program [stage-8] Program terminated successfully @@ -1160,15 +1207,15 @@ Debug = true [stage-7] Received bytes: "+OK\r\n" [stage-7] Received RESP value: "OK" [stage-7] Received "OK" -[stage-7] Received OK at 21:37:10.515 -[stage-7] Fetching key "banana" at 21:37:10.515 (should not be expired) +[stage-7] Received OK at 21:45:19.116 +[stage-7] Fetching key "banana" at 21:45:19.116 (should not be expired) [stage-7] $ redis-cli 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 value: "orange" [stage-7] Received "orange" [stage-7] Sleeping for 101ms -[stage-7] Fetching key "banana" at 21:37:10.618 (should be expired) +[stage-7] Fetching key "banana" at 21:45:19.220 (should be expired) [stage-7] $ redis-cli GET banana [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\nbanana\r\n" [stage-7] Received bytes: "$-1\r\n"