- 13 Aug, 2014 1 commit
-
-
antirez authored
-
- 08 Aug, 2014 1 commit
-
-
cubicdaiya authored
According to the C standard, it is desirable to give the type 'void' to functions have no argument. Closes #1631
-
- 02 Jul, 2014 1 commit
-
-
antirez authored
This commit adds both support for redis.conf and CONFIG SET/GET.
-
- 26 Jun, 2014 1 commit
-
-
antirez authored
-
- 16 Jun, 2014 1 commit
-
-
antirez authored
Because of output buffer limits Redis internals had this idea of type of clients: normal, pubsub, slave. It is possible to set different output buffer limits for the three kinds of clients. However all the macros and API were named after output buffer limit classes, while the idea of a client type is a generic one that can be reused. This commit does two things: 1) Rename the API and defines with more general names. 2) Change the class of clients executing the MONITOR command from "slave" to "normal". "2" is a good idea because you want to have very special settings for slaves, that are not a good idea for MONITOR clients that are instead normal clients even if they are conceptually slave-alike (since it is a push protocol). The backward-compatibility breakage resulting from "2" is considered to be minimal to care, since MONITOR is a debugging command, and because anyway this change is not going to break the format or the behavior, but just when a connection is closed on big output buffer issues.
-
- 22 May, 2014 1 commit
-
-
antirez authored
Check the commit changes in the example redis.conf for more information.
-
- 15 Apr, 2014 1 commit
-
-
antirez authored
-
- 24 Mar, 2014 1 commit
-
-
Matt Stancliff authored
Everywhere in the Redis code base, maxclients is treated as an int with (int)maxclients or `maxclients = atoi(source)`, so let's make maxclients an int. This fixes a bug where someone could specify a negative maxclients on startup and it would work (as well as set maxclients very high) because: unsigned int maxclients; char *update = "-300"; maxclients = atoi(update); if (maxclients < 1) goto fail; But, (maxclients < 1) can only catch the case when maxclients is exactly 0. maxclients happily sets itself to -300, which isn't -300, but rather 4294966996, which isn't < 1, so... everything "worked." maxclients config parsing checks for the case of < 1, but maxclients CONFIG SET parsing was checking for case of < 0 (allowing maxclients to be set to 0). CONFIG SET parsing is now updated to match config parsing of < 1. It's tempting to add a MINIMUM_CLIENTS define, but... I didn't. These changes were inspired by antirez#356, but this doesn't fix that issue.
-
- 19 Mar, 2014 1 commit
-
-
antirez authored
Now CONFIG RESETSTAT makes sure to reset all the fields, and in the future it will be simpler to avoid missing new fields.
-
- 06 Mar, 2014 1 commit
-
-
Matt Stancliff authored
This value needs to be set to zero (in addition to stat_numcommands) or else people may see a negative operations per second count after they run CONFIG RESETSTAT. Fixes antirez/redis#1577
-
- 05 Mar, 2014 1 commit
-
-
antirez authored
-
- 04 Mar, 2014 1 commit
-
-
antirez authored
-
- 13 Feb, 2014 1 commit
-
-
antirez authored
-
- 31 Jan, 2014 3 commits
-
-
antirez authored
This is especially important since we already have a concept of backlog (the replication backlog).
-
Nenad Merdanovic authored
In high RPS environments, the default listen backlog is not sufficient, so giving users the power to configure it is the right approach, especially since it requires only minor modifications to the code.
-
antirez authored
It is possible to configure the min number of additional working slaves a master should be left with, for a slave to migrate to an orphaned master.
-
- 20 Jan, 2014 2 commits
- 23 Dec, 2013 1 commit
-
-
antirez authored
There were two problems with the implementation. 1) "save" was not correctly processed when no save point was configured, as reported in issue #1416. 2) The way the code checked if an option existed in the "processed" dictionary was wrong, as we add the element with as a key associated with a NULL value, so dictFetchValue() can't be used to check for existance, but dictFind() must be used, that returns NULL only if the entry does not exist at all.
-
- 19 Dec, 2013 4 commits
-
-
antirez authored
CONFIG REWRITE is now wiser and does not touch what it does not understand inside redis.conf.
-
Yubao Liu authored
Those options will be thrown without this patch: include, rename-command, min-slaves-to-write, min-slaves-max-lag, appendfilename.
-
antirez authored
-
antirez authored
With this commit options not explicitly rewritten by CONFIG REWRITE are not touched at all. These include new options that may not have support for REWRITE, and other special cases like rename-command and include.
-
- 19 Nov, 2013 2 commits
-
-
antirez authored
At the end of the file, CONFIG REWRITE adds a comment line that: # Generated by CONFIG REWRITE Followed by the additional config options required. However this was added again and again at every rewrite in praticular conditions (when a given set of options change in a given time during the time). Now if it was alrady encountered, it is not added a second time. This is especially important for Sentinel that rewrites the config at every state change.
-
antirez authored
-
- 18 Nov, 2013 1 commit
-
-
antirez authored
-
- 09 Oct, 2013 2 commits
-
-
antirez authored
All the internal state of cluster involving time is now using mstime_t and mstime() in order to use milliseconds resolution. Also the clusterCron() function is called with a 10 hz frequency instead of 1 hz. The cluster node_timeout must be also configured in milliseconds by the user in redis.conf.
-
antirez authored
-
- 04 Oct, 2013 1 commit
-
-
antirez authored
-
- 30 Sep, 2013 1 commit
-
-
antirez authored
-
- 22 Jul, 2013 1 commit
-
-
antirez authored
Previously two string encodings were used for string objects: 1) REDIS_ENCODING_RAW: a string object with obj->ptr pointing to an sds stirng. 2) REDIS_ENCODING_INT: a string object where the obj->ptr void pointer is casted to a long. This commit introduces a experimental new encoding called REDIS_ENCODING_EMBSTR that implements an object represented by an sds string that is not modifiable but allocated in the same memory chunk as the robj structure itself. The chunk looks like the following: +--------------+-----------+------------+--------+----+ | robj data... | robj->ptr | sds header | string | \0 | +--------------+-----+-----+------------+--------+----+ | ^ +-----------------------+ The robj->ptr points to the contiguous sds string data, so the object can be manipulated with the same functions used to manipulate plan string objects, however we need just on malloc and one free in order to allocate or release this kind of objects. Moreover it has better cache locality. This new allocation strategy should benefit both the memory usage and the performances. A performance gain between 60 and 70% was observed during micro-benchmarks, however there is more work to do to evaluate the performance impact and the memory usage behavior.
-
- 04 Jul, 2013 1 commit
-
-
antirez authored
-
- 02 Jul, 2013 1 commit
-
-
antirez authored
This fixes issue #1094.
-
- 28 Jun, 2013 1 commit
-
-
antirez authored
-
- 20 Jun, 2013 1 commit
-
-
Jan-Erik Rediger authored
-
- 31 May, 2013 1 commit
-
-
antirez authored
-
- 30 May, 2013 2 commits
-
-
antirez authored
This way just after the CONFIG SET enabling the min-slaves feature it is possible to write to the database without delays.
-
antirez authored
This feature allows the user to specify the minimum number of connected replicas having a lag less or equal than the specified amount of seconds for writes to be accepted.
-
- 18 May, 2013 1 commit
-
-
antirez authored
Should be "continue" and was "return". This fixes issue #1110
-
- 17 May, 2013 1 commit
-
-
YAMAMOTO Takashi authored
time_t is always 64bit on recent versions of NetBSD.
-