antirez
1b060d2658
Produce the watchlog warning log in a way that is safer from a signal handler. Fix a memory leak in the backtrace generation function.
2012-03-27 15:24:33 +02:00
antirez
b460c6596e
Mask SIGALRM everything but in the main thread.
...
This is required to ensure that the signal will be delivered to the main
thread when the watchdog timer expires.
2012-03-27 13:48:57 +02:00
antirez
469dfe73f2
Correctly set the SIGARLM timer for the software watchdog.
2012-03-27 12:11:37 +02:00
antirez
25d500767a
Redis software watchdog.
2012-03-27 11:47:51 +02:00
antirez
81e00d1596
SIGSEGV handler refactored so that we can reuse stack trace and current client logging functionalities in other contexts.
2012-03-27 10:40:07 +02:00
antirez
8d57ab1861
CONFIG RESETSTAT resets two more fields.
2012-03-25 11:43:19 +02:00
antirez
6afb293b49
New INFO field aof_delayed_fsync introduced.
...
This new field counts all the times Redis is configured with AOF enabled and
fsync policy 'everysec', but the previous fsync performed by the
background thread was not able to complete within two seconds, forcing
Redis to perform a write against the AOF file while the fsync is still
in progress (likely a blocking operation).
2012-03-25 11:27:35 +02:00
antirez
ef34aec719
Add used allocator in redis-server -v output.
2012-03-24 11:53:03 +01:00
antirez
83cfdfba4b
Fixed memory leak in hash loading.
2012-03-23 20:24:34 +01:00
antirez
5b89814ce3
Big endian fix. The bug was introduced because of a typo.
2012-03-23 12:42:20 +01:00
antirez
e5b348e0c3
Replicate HINCRBYFLOAT as HSET.
2012-03-23 10:22:58 +01:00
antirez
b02916eff7
Code style hack.
2012-03-22 18:17:09 +01:00
antirez
e63497d4d8
Result of INCRBYFLOAT and HINCRBYFLOAT should never be in exponential form, and also should never contain trailing zeroes. This is not possible with vanilla printf() format specifiers, so we alter the output.
2012-03-22 18:17:05 +01:00
antirez
118caec1a8
Correctly create shared.oomerr as an sds string.
2012-03-21 12:11:07 +01:00
antirez
3cd475b254
DEBUG should not be flagged as w otherwise we can not call DEBUG DIGEST and other commands against read only slaves.
2012-03-20 17:53:47 +01:00
antirez
a15f004026
Support for read-only slaves. Semantical fixes.
...
This commit introduces support for read only slaves via redis.conf and CONFIG GET/SET commands. Also various semantical fixes are implemented here:
1) MULTI/EXEC with only read commands now work where the server is into a state where writes (or commands increasing memory usage) are not allowed. Before this patch everything inside a transaction would fail in this conditions.
2) Scripts just calling read-only commands will work against read only
slaves, when the server is out of memory, or when persistence is into an
error condition. Before the patch EVAL always failed in this condition.
2012-03-20 17:32:48 +01:00
antirez
4f615b696c
Suppress warnings compiling redis-cli with certain gcc versions.
2012-03-19 19:28:49 +01:00
antirez
e47e5e87a2
Read-only flag removed from PUBLISH command.
2012-03-19 19:16:41 +01:00
antirez
49432f6def
Memory addressing test implemented.
2012-03-19 14:02:34 +01:00
antirez
c577014461
More memory tests implemented. Default number of iterations lowered to a more acceptable value of 50.
2012-03-18 18:03:27 +01:00
antirez
82003f2f1f
Fixed typo.
2012-03-18 17:27:56 +01:00
antirez
eec3337856
Number of iteration of --test-memory is now 300 (several minutes per gigabyte). Memtest86 and Memtester links are also displayed while running the test.
2012-03-18 17:25:00 +01:00
antirez
28d36fd045
On crash suggest to give --test-memory a try.
2012-03-18 11:35:35 +01:00
antirez
fd5faf15fc
Memory test function now less boring thanks to screen-wide progress bar.
2012-03-16 21:19:53 +01:00
antirez
76d3f5b068
Hem... actual memtest.c file added.
2012-03-16 17:21:49 +01:00
antirez
26330d4a06
First implementation of --test-memory. Still a work in progress.
2012-03-16 17:17:39 +01:00
antirez
74d1cad274
Fix for issue #391 .
...
Use a simple protocol between clientsCron() and helper functions to
understand if the client is still valind and clientsCron() should
continue processing or if the client was freed and we should continue
with the next one.
2012-03-15 20:55:14 +01:00
huangz1990
f7192a2ce1
fix typo
2012-03-15 14:27:14 +08:00
antirez
696c28fcf9
Reclaim space from the client querybuf if needed.
2012-03-14 15:32:30 +01:00
antirez
c0c5a7a6cc
sds.c: sdsAllocSize() function added.
2012-03-14 14:58:26 +01:00
antirez
a9004ec1fa
sds.c new function sdsRemoveFreeSpace().
...
The new function is used in order to resize the string allocation so
that only the minimal allocation possible is used, removing all the free
space at the end of the string normally used to improve efficiency of
concatenation operations.
2012-03-14 10:13:23 +01:00
antirez
94df4c639f
Call all the helper functions needed by clientsCron() as clientsCronSomething() for clarity.
2012-03-14 09:56:22 +01:00
antirez
5bab1baf21
Process async client checks like client timeouts and BLPOP timeouts incrementally using a circular list.
2012-03-13 18:05:11 +01:00
antirez
ca9f6a5457
Added a qbuf-free field to CLIENT LIST output.
2012-03-13 13:26:33 +01:00
antirez
f171b199ca
Client creation time in redisClient structure. New age field in CLIENT LIST output.
2012-03-13 13:05:08 +01:00
antirez
bad7813b70
c->bufpos initialization moved for aesthetics.
2012-03-13 12:59:27 +01:00
antirez
877f76610d
RDB hashes loading, fixed another bug in the loading of HT-encoded hashes: when the hash entry is too big for ziplist, add the field, then convert. The code used to break before the new entry was inserted, resulting into missing fields in the loaded Hash object.
2012-03-13 11:00:18 +01:00
antirez
3d03cba03b
RDB hashes loading fixed removing the assertion that failed every time an HT-encoded hash was loaded.
2012-03-13 09:49:11 +01:00
antirez
b1839bd367
Build dependencies updated.
2012-03-10 12:40:03 +01:00
antirez
b4d396beaa
RDB4 support in redis-check-dump.
2012-03-10 12:38:42 +01:00
antirez
f32d32de59
RDB version is no 4, because small hashes are now encoded as ziplists, so older versions of Redis will not understand this format.
2012-03-10 12:35:31 +01:00
antirez
41f3921a22
More vertical space saved.
2012-03-10 11:19:17 +01:00
antirez
b626635f39
Minor code aesthetic change to use Redis code base style rule of saving vertical space when possible.
2012-03-10 11:09:43 +01:00
antirez
79370acd45
Removed handling of deprecated hash-max-zipmap-entries nad hash-map-zipmap-value. Pieter is too good with users ;). Better to have them switch to a saner configuration ASAP after the 2.6 upgrade.
2012-03-10 10:41:39 +01:00
antirez
656b852dc4
Added a top-function comment to rioWriteHashIteratorCursor() to better specify what the function does. Not immediately clear from the name.
2012-03-10 10:36:51 +01:00
antirez
afadac1728
Merge conflicts resolved.
2012-03-09 22:07:45 +01:00
antirez
4002005dc4
Instantaneous ops/sec figure in INFO output.
2012-03-08 16:15:37 +01:00
antirez
407b0e0f48
Support for all the redis.conf fields in CONFIG GET. config.c refactored a bit.
2012-03-08 12:14:23 +01:00
antirez
6c939b3752
run_id added to INFO output.
...
The Run ID is a field that identifies a single execution of the Redis
server. It can be useful for many purposes as it makes easy to detect if
the instance we are talking about is the same, or if it is a different
one or was rebooted. An application of run_id will be in the partial
synchronization of replication, where a slave may request a partial sync
from a given offset only if it is talking with the same master. Another
application is in failover and monitoring scripts.
2012-03-08 10:13:36 +01:00
antirez
d05dba2e54
clusterGetRandomName() generalized into getRandomHexChars() so that we can use it for the run_id field as well.
2012-03-08 10:08:44 +01:00