antirez
4a6701d7ec
pqsort.c: remove the "switch to insertion sort" optimization.
...
It causes catastrophic performance for certain inputs.
Relevant NetBSD commit:
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdlib/qsort.c?rev=1.20&content-type=text/x-cvsweb-markup&only_with_tag=MAIN
This fixes issue #968 .
2013-07-02 17:47:32 +02:00
antirez
7e63167d27
pqsort.c: remove the "switch to insertion sort" optimization.
...
It causes catastrophic performance for certain inputs.
Relevant NetBSD commit:
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdlib/qsort.c?rev=1.20&content-type=text/x-cvsweb-markup&only_with_tag=MAIN
This fixes issue #968 .
2013-07-02 17:47:32 +02:00
Salvatore Sanfilippo
10aca2ba76
Merge pull request #776 from charsyam/ziplist-bug
...
fix randstring bug in ziplist.c
2013-07-02 03:18:18 -07:00
Salvatore Sanfilippo
7d626d4975
Merge pull request #776 from charsyam/ziplist-bug
...
fix randstring bug in ziplist.c
2013-07-02 03:18:18 -07:00
antirez
37b5ec9425
Only allow basenames for dbfilename and appendfilename.
...
This fixes issue #1094 .
2013-07-02 12:14:28 +02:00
antirez
1b10522a08
Only allow basenames for dbfilename and appendfilename.
...
This fixes issue #1094 .
2013-07-02 12:14:28 +02:00
antirez
0726c25900
pathIsBaseName() added to utils.c
...
The function is used to test that the specified string looks like just
as the basename of a path, without any absolute or relative path.
2013-07-02 12:08:07 +02:00
antirez
6978aeb3bf
pathIsBaseName() added to utils.c
...
The function is used to test that the specified string looks like just
as the basename of a path, without any absolute or relative path.
2013-07-02 12:08:07 +02:00
antirez
f57a871de0
getAbsolutePath() moved into utils.c
2013-07-02 11:56:52 +02:00
antirez
0781ad6899
getAbsolutePath() moved into utils.c
2013-07-02 11:56:52 +02:00
antirez
f4805fa45a
CONFIG SET maxclients.
2013-06-28 17:08:03 +02:00
antirez
de9a221749
CONFIG SET maxclients.
2013-06-28 17:08:03 +02:00
antirez
9281336e6b
ae.c event loop: API to resize the fd set size on the run.
2013-06-28 16:39:49 +02:00
antirez
8e2d082066
ae.c event loop: API to resize the fd set size on the run.
2013-06-28 16:39:49 +02:00
antirez
e94b5b9359
Allow SHUTDOWN in loading state.
2013-06-27 12:18:29 +02:00
antirez
3130670b97
Allow SHUTDOWN in loading state.
2013-06-27 12:18:29 +02:00
antirez
1065918c36
function renamed: popcount_binary -> redisPopcount.
2013-06-26 15:19:06 +02:00
antirez
13585dd677
function renamed: popcount_binary -> redisPopcount.
2013-06-26 15:19:06 +02:00
Salvatore Sanfilippo
a59318f0a4
Merge pull request #1111 from yamt/netbsd3
...
netbsd support
2013-06-26 06:17:02 -07:00
Salvatore Sanfilippo
bae60ede1d
Merge pull request #1111 from yamt/netbsd3
...
netbsd support
2013-06-26 06:17:02 -07:00
antirez
cdaacf03aa
Don't disconnect pre PSYNC replication clients for timeout.
...
Clients using SYNC to replicate are older implementations, such as
redis-cli --slave, and are not designed to acknowledge the master with
REPLCONF ACK commands, so we don't have any feedback and should not
disconnect them on timeout.
2013-06-26 10:11:20 +02:00
antirez
8ca265cdb7
Don't disconnect pre PSYNC replication clients for timeout.
...
Clients using SYNC to replicate are older implementations, such as
redis-cli --slave, and are not designed to acknowledge the master with
REPLCONF ACK commands, so we don't have any feedback and should not
disconnect them on timeout.
2013-06-26 10:11:20 +02:00
antirez
600567383a
Test: add some AOF testing to EVALSHA replication test.
2013-06-25 15:49:07 +02:00
antirez
d5f1e4b0b5
Test: add some AOF testing to EVALSHA replication test.
2013-06-25 15:49:07 +02:00
antirez
e9f50cb1a1
Flush the replication script cache after SCRIPT FLUSH.
2013-06-25 15:36:48 +02:00
antirez
73d7955c6f
Flush the replication script cache after SCRIPT FLUSH.
2013-06-25 15:36:48 +02:00
antirez
1ff422dc47
Test: EVALSHA replication.
2013-06-25 15:35:48 +02:00
antirez
882e36366f
Test: EVALSHA replication.
2013-06-25 15:35:48 +02:00
antirez
31f34595c6
Test: randomInt() behavior commented.
2013-06-25 15:32:37 +02:00
antirez
d1f2d0733c
Test: randomInt() behavior commented.
2013-06-25 15:32:37 +02:00
antirez
c43286e5a9
Test: replication-3 test speedup in master-slave setup.
2013-06-25 15:13:14 +02:00
antirez
7e5be50cbf
Test: replication-3 test speedup in master-slave setup.
2013-06-25 15:13:14 +02:00
antirez
32b465b998
Force propagation of SCRIPT LOAD to AOF.
2013-06-25 12:49:56 +02:00
antirez
fb67468813
Force propagation of SCRIPT LOAD to AOF.
2013-06-25 12:49:56 +02:00
antirez
a4a60080b7
SCRIPT FLUSH comment minor pedantic improvement.
2013-06-25 10:56:59 +02:00
antirez
e27b136069
SCRIPT FLUSH comment minor pedantic improvement.
2013-06-25 10:56:59 +02:00
antirez
8338e50127
Move Replication Script Cache initialization in safer place.
...
It should be called just one time at startup and not every time the Lua
scripting engine is re-initialized, otherwise memory is leaked.
2013-06-24 19:27:49 +02:00
antirez
82ea1c6f5d
Move Replication Script Cache initialization in safer place.
...
It should be called just one time at startup and not every time the Lua
scripting engine is re-initialized, otherwise memory is leaked.
2013-06-24 19:27:49 +02:00
antirez
eaebabe564
Use the RSC to replicate EVALSHA unmodified.
...
This commit uses the Replication Script Cache in order to avoid
translating EVALSHA into EVAL whenever possible for both the AOF and
slaves.
2013-06-24 18:57:31 +02:00
antirez
f0bf5fd8c7
Use the RSC to replicate EVALSHA unmodified.
...
This commit uses the Replication Script Cache in order to avoid
translating EVALSHA into EVAL whenever possible for both the AOF and
slaves.
2013-06-24 18:57:31 +02:00
antirez
a9e1c46f40
Replication of scripts as EVALSHA: sha1 caching implemented.
...
This code is only responsible to take an LRU-evicted fixed length cache
of SHA1 that we are sure all the slaves received.
In this commit only the implementation is provided, but the Redis core
does not use it to actually send EVALSHA to slaves when possible.
2013-06-24 10:26:04 +02:00
antirez
94ec7db470
Replication of scripts as EVALSHA: sha1 caching implemented.
...
This code is only responsible to take an LRU-evicted fixed length cache
of SHA1 that we are sure all the slaves received.
In this commit only the implementation is provided, but the Redis core
does not use it to actually send EVALSHA to slaves when possible.
2013-06-24 10:26:04 +02:00
antirez
08dff9fb66
New API to force propagation.
...
The old REDIS_CMD_FORCE_REPLICATION flag was removed from the
implementation of Redis, now there is a new API to force specific
executions of a command to be propagated to AOF / Replication link:
void forceCommandPropagation(int flags);
The new API is also compatible with Lua scripting, so a script that will
execute commands that are forced to be propagated, will also be
propagated itself accordingly even if no change to data is operated.
As a side effect, this new design fixes the issue with scripts not able
to propagate PUBLISH to slaves (issue #873 ).
2013-06-21 12:07:53 +02:00
antirez
515a26bbc1
New API to force propagation.
...
The old REDIS_CMD_FORCE_REPLICATION flag was removed from the
implementation of Redis, now there is a new API to force specific
executions of a command to be propagated to AOF / Replication link:
void forceCommandPropagation(int flags);
The new API is also compatible with Lua scripting, so a script that will
execute commands that are forced to be propagated, will also be
propagated itself accordingly even if no change to data is operated.
As a side effect, this new design fixes the issue with scripts not able
to propagate PUBLISH to slaves (issue #873 ).
2013-06-21 12:07:53 +02:00
Salvatore Sanfilippo
e73548b0ee
Merge pull request #1167 from badboy/patch-1
...
Initialize char* to NULL to remove compiler warning
2013-06-20 07:56:31 -07:00
Salvatore Sanfilippo
b0c2cdd6a7
Merge pull request #1167 from badboy/patch-1
...
Initialize char* to NULL to remove compiler warning
2013-06-20 07:56:31 -07:00
Jan-Erik Rediger
21afa5dbed
Initialize char* to NULL to remove compiler warning
2013-06-20 17:53:35 +03:00
Jan-Erik Rediger
5ac7ca9c94
Initialize char* to NULL to remove compiler warning
2013-06-20 17:53:35 +03:00
antirez
c0a47ea63c
Allow PUBSUB NUMSUB without channels.
...
The result is an empty list but it is handy to call it programmatically.
2013-06-20 15:34:56 +02:00
antirez
519c9e11d1
Allow PUBSUB NUMSUB without channels.
...
The result is an empty list but it is handy to call it programmatically.
2013-06-20 15:34:56 +02:00