antirez
13a21caae3
New test for scripting engine: DECR_IF_GT.
2012-04-13 15:23:32 +02:00
antirez
6f659f34cf
EVAL errors are more clear now.
2012-04-13 15:12:16 +02:00
antirez
3a02140415
Use Lua tostring() before concatenation.
2012-04-13 14:54:49 +02:00
antirez
3cd4ad267c
Tests modified to match the new global protection implementation.
2012-04-13 13:40:57 +02:00
antirez
d86c4a7bf0
mt.declared is no longer needed.
...
Lua global protection can now be simpified becuase we no longer have the
global() function. It's useless to occupy memory with this table, it is
also not faster because the metamethods we use are only called when a
global object does not exist or we are trying to create it from a
script.
2012-04-13 13:36:08 +02:00
antirez
6663653f51
Stop access to global vars. Not configurable.
...
After considering the interaction between ability to delcare globals in
scripts using the 'global' function, and the complexities related to
hanlding replication and AOF in a sane way with globals AND ability to
turn protection On and Off, we reconsidered the design. The new design
makes clear that there is only one good way to write Redis scripts, that
is not using globals. In the rare cases state must be retained across
calls a Redis key can be used.
2012-04-13 13:26:59 +02:00
antirez
c9edd1b28a
Globals protection global() function modified for speed and correctness.
2012-04-13 12:13:02 +02:00
antirez
2fd7c9efde
Tests for lua globals protection.
2012-04-13 11:48:45 +02:00
antirez
37b29ef2fa
Scripting: globals protection can now be switched on/off.
2012-04-13 11:23:45 +02:00
antirez
0cdecca141
Protect globals access in Lua scripting.
2012-03-29 12:02:28 +02:00
antirez
4cba71e898
Fixed typo in comment: "te" -> "the".
2012-03-29 09:33:29 +02:00
antirez
179e54d2a9
Fix for slaves chains. Force resync of slaves (simply disconnecting them) when SLAVEOF turns a master into a slave.
2012-03-29 09:24:02 +02:00
antirez
6aa2f98938
Test for redis.sha1hex().
2012-03-28 20:47:50 +02:00
Nathan Fritz
52ae8af807
added redis.sha1hex(string) as lua scripting function.
...
(The original implementation was modified by @antirez to conform Redis
coding standards.)
2012-03-28 20:37:40 +02:00
antirez
5471b8babd
Fixes for redisLogFromHandler().
2012-03-28 13:51:23 +02:00
antirez
a7d12cbaf1
Log from signal handlers is now safer.
2012-03-28 13:45:39 +02:00
antirez
1043c8064b
Merge branch 'watchdog' into unstable
2012-03-28 13:16:19 +02:00
antirez
0fefb5bbeb
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
e4669c045d
Merge pull request #389 from huangz1990/patch-1
...
fix typo
2012-03-27 14:00:08 -07:00
Salvatore Sanfilippo
44f26aea0c
Merge pull request #407 from anydot/fixes
...
Fixes around time usage
2012-03-27 13:58:24 -07:00
Premysl Hruby
b57dbdbba3
remove disk-store related comments
2012-03-27 18:46:51 +02:00
Premysl Hruby
8af9fe841c
declare hashDictType as external too
2012-03-27 18:18:57 +02:00
Premysl Hruby
d194905449
use server.unixtime instead of time(NULL) where possible (cluster.c not checked though)
2012-03-27 17:39:58 +02:00
Premysl Hruby
024f213b12
fix time() instead of mstime() in expireIfNeeded
2012-03-27 17:31:21 +02:00
antirez
d174eed5d7
define zlibc_free() in a way that is not shadowed by jemalloc.
2012-03-27 16:54:53 +02:00
antirez
23c0cdd2ad
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
aa96122d96
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
a354da9acd
Correctly set the SIGARLM timer for the software watchdog.
2012-03-27 12:11:37 +02:00
antirez
39bd025c29
Redis software watchdog.
2012-03-27 11:47:51 +02:00
antirez
a323870450
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
ca09ad4d64
CONFIG RESETSTAT resets two more fields.
2012-03-25 11:43:19 +02:00
antirez
c1d01b3c57
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
512f682340
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
0f9997845a
Merge remote-tracking branch 'origin/unstable' into unstable
2012-03-24 12:07:58 +01:00
antirez
74f10793c8
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
1b247d1333
Add used allocator in redis-server -v output.
2012-03-24 11:53:03 +01:00
antirez
c79373482f
convert-zipmap-hash-on-load test enabled
2012-03-24 11:42:20 +01:00
antirez
6c658d5554
Contextualize comment.
2012-03-23 20:24:40 +01:00
antirez
58e34e6cb1
Fixed memory leak in hash loading.
2012-03-23 20:24:34 +01:00
antirez
03116904c3
RDB load of different encodings test added.
2012-03-23 20:24:30 +01:00
antirez
bd376d13f8
Big endian fix. The bug was introduced because of a typo.
2012-03-23 12:42:20 +01:00
antirez
6f0e77ca19
Replicate HINCRBYFLOAT as HSET.
2012-03-23 10:22:58 +01:00
antirez
7b558b1d64
Code style hack.
2012-03-22 18:17:09 +01:00
antirez
1f6146df0c
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
ba864e09d4
Comments about security of slave-read-only in redis.coinf.
2012-03-21 12:26:05 +01:00
antirez
b22eab8faf
Correctly create shared.oomerr as an sds string.
2012-03-21 12:11:07 +01:00
antirez
7dcdd281f5
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
f3fd419fc9
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
7a0c72f345
redis_init_script template updated.
2012-03-20 13:07:59 +01:00
antirez
0d44d50792
Suppress warnings compiling redis-cli with certain gcc versions.
2012-03-19 19:28:49 +01:00