10352 Commits

Author SHA1 Message Date
Chris Lamb
497fb6a0fd src/rdb.c: Correct "whenver" -> "whenever" typo. 2016-12-01 13:16:30 +01:00
Salvatore Sanfilippo
ff1d548738 Merge pull request #3651 from yossigo/datatype_methods_typo
Fix typo in RedisModuleTypeMethods declaration.
2016-12-01 09:09:37 +01:00
Salvatore Sanfilippo
641209e3f3 Merge pull request #3651 from yossigo/datatype_methods_typo
Fix typo in RedisModuleTypeMethods declaration.
2016-12-01 09:09:37 +01:00
Yossi Gottlieb
5f5b4f1508 Fix typo in RedisModuleTypeMethods declaration. 2016-11-30 22:05:59 +02:00
Yossi Gottlieb
729eef96f1 Fix typo in RedisModuleTypeMethods declaration. 2016-11-30 22:05:59 +02:00
Thomas SOËTE
a286832170 Fix typo (unsupproted => unsupported) in error message 2016-11-30 15:26:59 +01:00
Salvatore Sanfilippo
3c4fe59e09 Merge pull request #3648 from dvirsky/fix_reply_crash
fix memory corruption on RM_FreeCallReply
2016-11-30 11:21:10 +01:00
Salvatore Sanfilippo
dba456b73a Merge pull request #3648 from dvirsky/fix_reply_crash
fix memory corruption on RM_FreeCallReply
2016-11-30 11:21:10 +01:00
antirez
71e8d15e49 Modules: change type registration API to use a struct of methods. 2016-11-30 11:14:01 +01:00
antirez
a52b715835 Modules: change type registration API to use a struct of methods. 2016-11-30 11:14:01 +01:00
Dvir Volk
8521cde570 fix memory corruption on RM_FreeCallReply 2016-11-30 11:49:49 +02:00
Dvir Volk
7a045a9a6b fix memory corruption on RM_FreeCallReply 2016-11-30 11:49:49 +02:00
antirez
ce1f9cf81d PSYNC2 test: check ability to resync after restart. 2016-11-29 11:15:16 +01:00
antirez
02b570290e PSYNC2 test: check ability to resync after restart. 2016-11-29 11:15:16 +01:00
antirez
93c5198c17 PSYNC2 test: 20 seconds are enough... 2016-11-29 10:27:53 +01:00
antirez
17c02cee7d PSYNC2 test: 20 seconds are enough... 2016-11-29 10:27:53 +01:00
antirez
f6e42f0e3f PSYNC2 test: test added to the default tests. 2016-11-29 10:25:42 +01:00
antirez
855b0c05e7 PSYNC2 test: test added to the default tests. 2016-11-29 10:25:42 +01:00
antirez
6eb720ff2d PSYNC2: Minor memory leak reading -NOMASTERLINK master reply fixed. 2016-11-29 10:25:00 +01:00
antirez
d262113e5d PSYNC2: Minor memory leak reading -NOMASTERLINK master reply fixed. 2016-11-29 10:25:00 +01:00
antirez
c8f0690255 PSYNC2 test: modify the test for production. 2016-11-29 10:22:40 +01:00
antirez
49af69dfdd PSYNC2 test: modify the test for production. 2016-11-29 10:22:40 +01:00
andyli
8abf9729f0 Modify MIN->MAX 2016-11-29 16:34:41 +08:00
andyli
f687d4fb98 Modify MIN->MAX 2016-11-29 16:34:41 +08:00
antirez
eab865a0a1 PSYNC2: stop sending newlines to sub-slaves when master is down.
This actually includes two changes:

1) No newlines to take the master-slave link up when the upstream master
is down. Doing this is dangerous because the sub-slave often is received
replication protocol for an half-command, so can't receive newlines
without desyncing the replication link, even with the code in order to
cancel out the bytes that PSYNC2 was using. Moreover this is probably
also not needed/sane, because anyway the slave can keep serving
requests, and because if it's configured to don't serve stale data, it's
a good idea, actually, to break the link.

2) When a +CONTINUE with a different ID is received, we now break
connection with the sub-slaves: they need to be notified as well. This
was part of the original specification but for some reason it was not
implemented in the code, and was alter found as a PSYNC2 bug in the
integration testing.
2016-11-28 17:54:04 +01:00
antirez
5639ca070b PSYNC2: stop sending newlines to sub-slaves when master is down.
This actually includes two changes:

1) No newlines to take the master-slave link up when the upstream master
is down. Doing this is dangerous because the sub-slave often is received
replication protocol for an half-command, so can't receive newlines
without desyncing the replication link, even with the code in order to
cancel out the bytes that PSYNC2 was using. Moreover this is probably
also not needed/sane, because anyway the slave can keep serving
requests, and because if it's configured to don't serve stale data, it's
a good idea, actually, to break the link.

2) When a +CONTINUE with a different ID is received, we now break
connection with the sub-slaves: they need to be notified as well. This
was part of the original specification but for some reason it was not
implemented in the code, and was alter found as a PSYNC2 bug in the
integration testing.
2016-11-28 17:54:04 +01:00
antirez
16559a02fc PSYNC2: Test (WIP).
This is the PSYNC2 test that helped find issues in the code, and that
still can show a protocol desync from time to time. Work is in progress
in order to find the issue. For now the test is not enabled in "make
test" and must be run manually.
2016-11-28 10:13:24 +01:00
antirez
893f757ebc PSYNC2: Test (WIP).
This is the PSYNC2 test that helped find issues in the code, and that
still can show a protocol desync from time to time. Work is in progress
in order to find the issue. For now the test is not enabled in "make
test" and must be run manually.
2016-11-28 10:13:24 +01:00
antirez
790310d894 Better protocol errors logging. 2016-11-25 10:55:16 +01:00
antirez
b429928687 Better protocol errors logging. 2016-11-25 10:55:16 +01:00
antirez
e09e31b12e PSYNC2: on transient error jump to error, not write_error. 2016-11-24 15:48:18 +01:00
antirez
a751287188 PSYNC2: on transient error jump to error, not write_error. 2016-11-24 15:48:18 +01:00
antirez
1f55170b9c Modules: fix client blocking calls access to invalid struct field.
We already have reference to the client pointer, no need to access the
already freed structure.

Close #3634.
2016-11-24 11:05:19 +01:00
antirez
67a41fe316 Modules: fix client blocking calls access to invalid struct field.
We already have reference to the client pointer, no need to access the
already freed structure.

Close #3634.
2016-11-24 11:05:19 +01:00
antirez
5b7d42fff3 PSYNC2: bugfixing pre release.
1. Master replication offset was cleared after switching configuration
to some other slave, since it was assumed you can't PSYNC after a
switch. Note the case anymore and when we successfully PSYNC we need to
have our offset untouched.

2. Secondary replication ID was not reset to "000..." pattern at
startup.

3. Master in error state replying -LOADING or other transient errors
forced the slave to discard the cached master and full resync. This is
now fixed.

4. Better logging of what's happening on failed PSYNCs.
2016-11-23 17:36:45 +01:00
antirez
b2dc3a3d9c PSYNC2: bugfixing pre release.
1. Master replication offset was cleared after switching configuration
to some other slave, since it was assumed you can't PSYNC after a
switch. Note the case anymore and when we successfully PSYNC we need to
have our offset untouched.

2. Secondary replication ID was not reset to "000..." pattern at
startup.

3. Master in error state replying -LOADING or other transient errors
forced the slave to discard the cached master and full resync. This is
now fixed.

4. Better logging of what's happening on failed PSYNCs.
2016-11-23 17:36:45 +01:00
antirez
73dd51c044 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2016-11-18 13:10:57 +01:00
antirez
72c02940dd Merge branch 'unstable' of github.com:/antirez/redis into unstable 2016-11-18 13:10:57 +01:00
antirez
f115461f4e Test: WAIT tests added in wait.tcl unit. 2016-11-18 13:10:29 +01:00
antirez
eb5c80460e Test: WAIT tests added in wait.tcl unit. 2016-11-18 13:10:29 +01:00
Salvatore Sanfilippo
5b83fa482c Merge pull request #3612 from deep011/unstable
fix a possible bug for 'replconf getack'
2016-11-18 10:45:09 +01:00
Salvatore Sanfilippo
8b13f9ab86 Merge pull request #3612 from deep011/unstable
fix a possible bug for 'replconf getack'
2016-11-18 10:45:09 +01:00
antirez
8fb3ad2444 Merge branch 'psync2' into unstable 2016-11-17 09:37:03 +01:00
antirez
04944544ca Merge branch 'psync2' into unstable 2016-11-17 09:37:03 +01:00
oranagra
e3a61950a2 when a slave loads an RDB, stop an AOFRW fork before flusing db and parsing rdb file, to avoid a CoW disaster. 2016-11-16 21:30:59 +02:00
oranagra
1de180cd82 when a slave loads an RDB, stop an AOFRW fork before flusing db and parsing rdb file, to avoid a CoW disaster. 2016-11-16 21:30:59 +02:00
antirez
59f2e7c162 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2016-11-16 14:13:37 +01:00
antirez
a2d8c8e104 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2016-11-16 14:13:37 +01:00
antirez
cfdb3a2214 Cluster: handle zero bytes at the end of nodes.conf. 2016-11-16 14:13:18 +01:00
antirez
704ab7234b Cluster: handle zero bytes at the end of nodes.conf. 2016-11-16 14:13:18 +01:00