2771 Commits

Author SHA1 Message Date
antirez
740f77af69 Log from signal handlers is now safer. 2012-03-28 13:45:39 +02:00
antirez
8ff012c473 Merge branch 'watchdog' into unstable 2012-03-28 13:16:19 +02:00
antirez
1d3d7fcbfd Redis test: regexp to check if valgrind reported errors modified. Now we no longer look at the total count because this includes "possibly lost" bytes that are not interesting for Redis (tons of false positives because of how sds.c works). 2012-03-28 10:55:17 +02:00
Salvatore Sanfilippo
1fc3cd8b75 Merge pull request #389 from huangz1990/patch-1
fix typo
2012-03-27 14:00:08 -07:00
Salvatore Sanfilippo
157f85e937 Merge pull request #407 from anydot/fixes
Fixes around time usage
2012-03-27 13:58:24 -07:00
Premysl Hruby
9519b3efd6 remove disk-store related comments 2012-03-27 18:46:51 +02:00
Premysl Hruby
41903dfd0c declare hashDictType as external too 2012-03-27 18:18:57 +02:00
Premysl Hruby
f3fa6655c6 use server.unixtime instead of time(NULL) where possible (cluster.c not checked though) 2012-03-27 17:39:58 +02:00
Premysl Hruby
b371ac5b20 fix time() instead of mstime() in expireIfNeeded 2012-03-27 17:31:21 +02:00
antirez
33df2863f1 define zlibc_free() in a way that is not shadowed by jemalloc. 2012-03-27 16:54:53 +02:00
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
44a5424640 convert-zipmap-hash-on-load false positive fixed.
Apparently because the sample RDB file was not copied before every test
Redis had a chance to replace it with a newly written one, so that the
next test could fail.
2012-03-25 11:02:16 +02:00
antirez
1aa0869998 Merge remote-tracking branch 'origin/unstable' into unstable 2012-03-24 12:07:58 +01:00
antirez
6023480646 When running the test in valgrind mode, pass the right flags to show memory leaks stack traces but only including the "definitely lost" items. 2012-03-24 12:07:14 +01:00
antirez
ef34aec719 Add used allocator in redis-server -v output. 2012-03-24 11:53:03 +01:00
antirez
626c23a540 convert-zipmap-hash-on-load test enabled 2012-03-24 11:42:20 +01:00
antirez
4c955a5715 Contextualize comment. 2012-03-23 20:24:40 +01:00
antirez
83cfdfba4b Fixed memory leak in hash loading. 2012-03-23 20:24:34 +01:00
antirez
251268cbe0 RDB load of different encodings test added. 2012-03-23 20:24:30 +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
5ed9340fe4 Comments about security of slave-read-only in redis.coinf. 2012-03-21 12:26: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
2750fb5c1a redis_init_script template updated. 2012-03-20 13:07:59 +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