27398 Commits

Author SHA1 Message Date
antirez
99c93f34a7 Sentinel: remove useless sentinelFlushConfig() call
To rewrite the config in the loop that adds slaves back after a master
reset, in order to handle switching to another master, is useless: it
just adds latency since there is an fsync call in the inner loop,
without providing any additional guarantee, but the contrary, since if
after the first loop iteration the server crashes we end with just a
single slave entry losing all the other informations.

It is wiser to rewrite the config at the end when the full new
state is configured.
2015-05-04 12:50:44 +02:00
Salvatore Sanfilippo
514448d52a Merge pull request #2542 from yossigo/lua_client_buffer_crash
Fix Redis server crash when Lua command exceeds client output buffer limit.
2015-05-04 12:19:44 +02:00
Salvatore Sanfilippo
22d00d80ce Merge pull request #2542 from yossigo/lua_client_buffer_crash
Fix Redis server crash when Lua command exceeds client output buffer limit.
2015-05-04 12:19:44 +02:00
Salvatore Sanfilippo
3a8d95a471 Merge pull request #2551 from charsyam/feature/sentinel-memory-leak-1
fix sentinel memory leak
2015-05-04 12:17:41 +02:00
Salvatore Sanfilippo
827d07f005 Merge pull request #2551 from charsyam/feature/sentinel-memory-leak-1
fix sentinel memory leak
2015-05-04 12:17:41 +02:00
antirez
b16601ddbb Merge branch 'unstable' of github.com:/antirez/redis into unstable 2015-04-29 10:34:08 +02:00
antirez
7af420e78d Merge branch 'unstable' of github.com:/antirez/redis into unstable 2015-04-29 10:34:08 +02:00
antirez
57629341cb Add header guard for ziplist.h
As suggested in #2543.
2015-04-29 10:33:21 +02:00
antirez
9e7f39d29d Add header guard for ziplist.h
As suggested in #2543.
2015-04-29 10:33:21 +02:00
Salvatore Sanfilippo
a50ad33ec9 Merge pull request #2550 from badboy/readme-fixes
Fix spelling and grammatical errors in readme
2015-04-29 10:06:46 +02:00
Salvatore Sanfilippo
fe0d71d52f Merge pull request #2550 from badboy/readme-fixes
Fix spelling and grammatical errors in readme
2015-04-29 10:06:46 +02:00
antirez
aa6201e6ab Fix Sentinel memory leak (hiredis bug)
This fixes issue #2535, that was actually an hiredis library bug (I
submitted an issue and fix to the redis/hiredis repo as well).

When an asynchronous hiredis connection subscribes to a Pub/Sub channel
and gets an error, and in other related conditions, the function
redisProcessCallbacks() enters a code path where the link is
disconnected, however the function returns before freeing the allocated
reply object. This causes a memory leak. The memory leak was trivial to
trigger in Redis Sentinel, which uses hiredis, every time we tried to
subscribe to an instance that required a password, in case the Sentinel
was configured either with the wrong password or without password at
all. In this case, the -AUTH error caused the leaking code path to be
executed.

It was verified with Valgrind that after this change the leak no longer
happens in Sentinel with a misconfigured authentication password.
2015-04-28 22:10:23 +02:00
antirez
c806dd799b Fix Sentinel memory leak (hiredis bug)
This fixes issue #2535, that was actually an hiredis library bug (I
submitted an issue and fix to the redis/hiredis repo as well).

When an asynchronous hiredis connection subscribes to a Pub/Sub channel
and gets an error, and in other related conditions, the function
redisProcessCallbacks() enters a code path where the link is
disconnected, however the function returns before freeing the allocated
reply object. This causes a memory leak. The memory leak was trivial to
trigger in Redis Sentinel, which uses hiredis, every time we tried to
subscribe to an instance that required a password, in case the Sentinel
was configured either with the wrong password or without password at
all. In this case, the -AUTH error caused the leaking code path to be
executed.

It was verified with Valgrind that after this change the leak no longer
happens in Sentinel with a misconfigured authentication password.
2015-04-28 22:10:23 +02:00
clark.kang
0040a15d13 fix sentinel memory leak 2015-04-29 00:05:26 +09:00
clark.kang
eff212ea95 fix sentinel memory leak 2015-04-29 00:05:26 +09:00
Jan-Erik Rediger
a92020c98b One more small fix 2015-04-28 15:21:11 +02:00
Jan-Erik Rediger
fb53288110 One more small fix 2015-04-28 15:21:11 +02:00
Jan-Erik Rediger
aecc4f2791 Fix spelling and grammatical errors in readme
Closes #2549
2015-04-28 11:07:21 +02:00
Jan-Erik Rediger
3ff49afff1 Fix spelling and grammatical errors in readme
Closes #2549
2015-04-28 11:07:21 +02:00
antirez
abe10625d2 sha1.c: use standard uint32_t. 2015-04-27 12:07:49 +02:00
antirez
1b25757f41 sha1.c: use standard uint32_t. 2015-04-27 12:07:49 +02:00
antirez
6d9052dd78 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2015-04-27 12:05:32 +02:00
antirez
1d6eb701d8 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2015-04-27 12:05:32 +02:00
antirez
7a93f552a7 Example redis.conf doc about pidfile fixed.
An user changed the behavior via a PR without upgrading the doc.
2015-04-26 19:23:27 +02:00
antirez
1a93501f8b Example redis.conf doc about pidfile fixed.
An user changed the behavior via a PR without upgrading the doc.
2015-04-26 19:23:27 +02:00
Yossi Gottlieb
80991c6aa5 Fix Redis server crash when Lua command exceeds client output buffer
limit.
2015-04-26 12:04:16 +03:00
Yossi Gottlieb
49c1b60bd8 Fix Redis server crash when Lua command exceeds client output buffer
limit.
2015-04-26 12:04:16 +03:00
Salvatore Sanfilippo
ff8f2428ad Merge pull request #2539 from itamarhaber/patch-4
Added reference to IANA ticket for port 6379
2015-04-24 09:05:14 +02:00
Salvatore Sanfilippo
b100fee900 Merge pull request #2539 from itamarhaber/patch-4
Added reference to IANA ticket for port 6379
2015-04-24 09:05:14 +02:00
Itamar Haber
136c27edff Added reference to IANA ticket for port 6379
Just so it's extra official 😄
2015-04-24 01:33:41 +03:00
Itamar Haber
066d7a29eb Added reference to IANA ticket for port 6379
Just so it's extra official 😄
2015-04-24 01:33:41 +03:00
Itamar Haber
6eacc06821 update copyright year 2015-04-21 18:54:49 +03:00
Itamar Haber
921ca063f7 update copyright year 2015-04-21 18:54:49 +03:00
FuGangqiang
a67aedb738 sdsfree x and y 2015-04-20 23:03:34 +08:00
FuGangqiang
26a1a08fc7 sdsfree x and y 2015-04-20 23:03:34 +08:00
FuGangqiang
7a92c11797 fix doc example 2015-04-20 21:46:48 +08:00
FuGangqiang
239494db64 fix doc example 2015-04-20 21:46:48 +08:00
FuGangqiang
4e5b058ed0 fix typo 2015-04-19 23:42:27 +08:00
FuGangqiang
42b36c5ce9 fix typo 2015-04-19 23:42:27 +08:00
Glenn Nethercutt
d8390522cb uphold the smove contract to return 0 when the element is not a member of the source set, even if source=dest 2015-04-17 09:27:54 -04:00
Glenn Nethercutt
626b4f6907 uphold the smove contract to return 0 when the element is not a member of the source set, even if source=dest 2015-04-17 09:27:54 -04:00
antirez
2685af5aed Net: improve prepareClientToWrite() error handling and comments.
When we fail to setup the write handler it does not make sense to take
the client around, it is missing writes: whatever is a client or a slave
anyway the connection should terminated ASAP.

Moreover what the function does exactly with its return value, and in
which case the write handler is installed on the socket, was not clear,
so the functions comment are improved to make the goals of the function
more obvious.

Also related to #2485.
2015-04-01 10:07:45 +02:00
antirez
6c60526db9 Net: improve prepareClientToWrite() error handling and comments.
When we fail to setup the write handler it does not make sense to take
the client around, it is missing writes: whatever is a client or a slave
anyway the connection should terminated ASAP.

Moreover what the function does exactly with its return value, and in
which case the write handler is installed on the socket, was not clear,
so the functions comment are improved to make the goals of the function
more obvious.

Also related to #2485.
2015-04-01 10:07:45 +02:00
Salvatore Sanfilippo
d4acc66c57 Merge pull request #2485 from oranagra/diskless-repl-fixes
fixes to diskless replication.
2015-04-01 09:43:34 +02:00
Salvatore Sanfilippo
d5a35c3946 Merge pull request #2485 from oranagra/diskless-repl-fixes
fixes to diskless replication.
2015-04-01 09:43:34 +02:00
antirez
2684b76b66 Test: be more patient waiting for servers to exit.
This should likely fix a false positive when running with the --valgrind
option.
2015-03-31 23:43:38 +02:00
antirez
386804246f Test: be more patient waiting for servers to exit.
This should likely fix a false positive when running with the --valgrind
option.
2015-03-31 23:43:38 +02:00
Oran Agra
cdd008856e fixes to diskless replication.
master was closing the connection if the RDB transfer took long time.
and also sent PINGs to the slave before it got the initial ACK, in which case the slave wouldn't be able to find the EOF marker.
2015-03-31 23:42:08 +03:00
Oran Agra
159875b5a3 fixes to diskless replication.
master was closing the connection if the RDB transfer took long time.
and also sent PINGs to the slave before it got the initial ACK, in which case the slave wouldn't be able to find the EOF marker.
2015-03-31 23:42:08 +03:00
antirez
f9811b205d Fix setTypeNext call assuming NULL can be passed.
Segfault introduced during a refactoring / warning suppression a few
commits away. This particular call assumed that it is safe to pass NULL
to the object pointer argument when we are sure the set has a given
encoding. This can't be assumed and is now guaranteed to segfault
because of the new API of setTypeNext().
2015-03-31 15:26:35 +02:00