]> git.saurik.com Git - redis.git/log
redis.git
12 years agoRedis timer interrupt frequency configurable as REDIS_HZ.
antirez [Sun, 13 May 2012 14:40:29 +0000 (16:40 +0200)] 
Redis timer interrupt frequency configurable as REDIS_HZ.

Redis uses a function called serverCron() that is very similar to the
timer interrupt of an operating system. This function is used to handle
a number of asynchronous things, like active expired keys collection,
clients timeouts, update of statistics, things related to the cluster
and replication, triggering of BGSAVE and AOF rewrite process, and so
forth.

In the past the timer was called 1 time per second. At some point it was
raised to 10 times per second, but it still was fixed and could not be
changed even at compile time, because different functions called from
serverCron() assumed a given fixed frequency.

This commmit makes the frequency configurable, so that it is simpler to
pick a good tradeoff between overhead of this function (that is usually
very small) and the responsiveness of Redis during a few critical
circumstances where a lot of work is done inside the timer.

An example of such a critical condition is mass-expire of a lot of keys
in the same second. Up to a given percentage of CPU time is used to
perform expired keys collection per expire cylce. Now changing the
REDIS_HZ macro it is possible to do less work but more times per second
in order to block the server for less time.

If this patch will work well in our tests it will enter Redis 2.6-final.

12 years agoComment improved so that the code goal is more clear. Thx to @agladysh.
antirez [Fri, 11 May 2012 20:33:28 +0000 (22:33 +0200)] 
Comment improved so that the code goal is more clear. Thx to @agladysh.

12 years agoMore incremental active expired keys collection process.
antirez [Fri, 11 May 2012 17:17:31 +0000 (19:17 +0200)] 
More incremental active expired keys collection process.

If a large amonut of keys are all expiring about at the same time, the
"active" expired keys collection cycle used to block as far as the
percentage of already expired keys was >= 25% of the total population of
keys with an expire set.

This could block the server even for many seconds in order to reclaim
memory ASAP. The new algorithm uses at max a small amount of
milliseconds per cycle, even if this means reclaiming the memory less
promptly it also means a more responsive server.

12 years agoIf the computer running the Redis test is slow, we revert to --clients 1 to avoid...
antirez [Fri, 11 May 2012 15:26:09 +0000 (17:26 +0200)] 
If the computer running the Redis test is slow, we revert to --clients 1 to avoid false positives.

12 years agoredis-cli pipe mode: handle EINTR properly as well so that SIGSTOP/SIGCONT are handle...
antirez [Fri, 11 May 2012 14:08:57 +0000 (16:08 +0200)] 
redis-cli pipe mode: handle EINTR properly as well so that SIGSTOP/SIGCONT are handled correctly.

12 years agoredis-cli pipe mode: handle EAGAIN while writing to socket.
antirez [Fri, 11 May 2012 08:45:12 +0000 (10:45 +0200)] 
redis-cli pipe mode: handle EAGAIN while writing to socket.

12 years agoFix PREFIX typo in Makefile.
antirez [Wed, 9 May 2012 18:45:00 +0000 (20:45 +0200)] 
Fix PREFIX typo in Makefile.

12 years agoAllow PREFIX to be overrided in Makefile.
antirez [Wed, 9 May 2012 08:34:52 +0000 (10:34 +0200)] 
Allow PREFIX to be overrided in Makefile.

12 years agoredis-cli --pipe for mass import.
antirez [Sun, 6 May 2012 08:05:31 +0000 (10:05 +0200)] 
redis-cli --pipe for mass import.

12 years agoCompare integers in ziplist regardless of encoding
Pieter Noordhuis [Sat, 5 May 2012 00:26:24 +0000 (17:26 -0700)] 
Compare integers in ziplist regardless of encoding

Because of the introduction of new integer encoding types for ziplists
in the 2.6 tree, the same integer value may have a different encoding in
different versions of the ziplist implementation. This means that the
encoding can NOT be used as a fast path in comparing integers.

12 years agoMerge pull request #494 from quiver/init-fixes
Salvatore Sanfilippo [Fri, 4 May 2012 11:41:02 +0000 (04:41 -0700)] 
Merge pull request #494 from quiver/init-fixes

fix several bugs of init.d scripts

12 years agofix several bugs of init.d scripts
quiver [Fri, 4 May 2012 11:07:00 +0000 (20:07 +0900)] 
fix several bugs of init.d scripts

- PIDFILE environ variable was not properly retrieved
- chkconfig command failed

12 years agosyncio.c read / write functions reworked for correctness and performance.
antirez [Wed, 2 May 2012 20:41:50 +0000 (22:41 +0200)] 
syncio.c read / write functions reworked for correctness and performance.

The new implementation start reading / writing before blocking with
aeWait(), likely the descriptor can accept writes or has buffered data
inside and we can go faster, otherwise we get an error and wait.

This change has effects on speed but also on correctness: on socket
errors when we perform non blocking connect(2) write is performed ASAP
and the error is returned ASAP before waiting.

So the practical effect is that now a Redis slave is more available if it
can not connect to the master, previously the slave continued to block on
syncWrite() trying to send SYNC, and serving commands very slowly.

12 years agoRemove useless trailing space in SYNC command sent to master.
antirez [Wed, 2 May 2012 19:45:01 +0000 (21:45 +0200)] 
Remove useless trailing space in SYNC command sent to master.

12 years agoUse specific error if master is down and slave-serve-stale-data is set to no.
antirez [Wed, 2 May 2012 15:14:45 +0000 (17:14 +0200)] 
Use specific error if master is down and slave-serve-stale-data is set to no.

We used to reply -ERR ... message ..., now the reply is
instead -MASTERDOWN ... message ... so that it can be distinguished
easily by the other error conditions.

12 years agoTest "Turning off AOF kills the background writing child if any" is now more reliable.
antirez [Wed, 2 May 2012 09:40:46 +0000 (11:40 +0200)] 
Test "Turning off AOF kills the background writing child if any" is now more reliable.

12 years agoUse safe dictionary iterator from KEYS
Pieter Noordhuis [Mon, 30 Apr 2012 17:16:20 +0000 (10:16 -0700)] 
Use safe dictionary iterator from KEYS

Every matched key in a KEYS call is checked for expiration. When the key
is set to expire, the call to `getExpire` will assert that the key also
exists in the main dictionary. This in turn causes a rehashing step to
be executed. Rehashing a dictionary when there is an iterator active may
result in the iterator emitting duplicate entries, or not emitting some
entries at all. By using a safe iterator, the rehash step is omitted.

12 years agoShow problem with 'keys' command with specific command sequence.
Harmen [Mon, 30 Apr 2012 15:57:12 +0000 (09:57 -0600)] 
Show problem with 'keys' command with specific command sequence.

12 years agoProperly wait the slave to sync with master in BRPOPLPUSH test.
antirez [Mon, 30 Apr 2012 08:55:03 +0000 (10:55 +0200)] 
Properly wait the slave to sync with master in BRPOPLPUSH test.

12 years agoA more lightweight implementation of issue 141 regression test.
antirez [Sat, 28 Apr 2012 13:39:00 +0000 (15:39 +0200)] 
A more lightweight implementation of issue 141 regression test.

12 years agomemtest.c fixed to actually use v1 and v2 in memtest_fill_value().
antirez [Fri, 27 Apr 2012 14:28:31 +0000 (16:28 +0200)] 
memtest.c fixed to actually use v1 and v2 in memtest_fill_value().

12 years agoredis-cli commands description in help.h updated.
antirez [Fri, 27 Apr 2012 13:57:17 +0000 (15:57 +0200)] 
redis-cli commands description in help.h updated.

12 years agoSet LUA_MASKCOUNT hook more selectively. Fixes issue #480.
antirez [Fri, 27 Apr 2012 09:41:25 +0000 (11:41 +0200)] 
Set LUA_MASKCOUNT hook more selectively. Fixes issue #480.

An user reported a crash with Redis scripting (see issue #480 on
github), inspection of the kindly provided strack trace showed that
server.lua_caller was probably set to NULL. The stack trace also slowed
that the call to the hook was originating from a point where we just
used to set/get a few global variables in the Lua state.

What was happening is that we did not set the timeout hook selectively
only when the user script was called. Now we set it more selectively,
specifically only in the context of the lua_pcall() call, and make sure
to remove the hook when the call returns. Otherwise the hook can get
called in random contexts every time we do something with the Lua
state.

12 years agoRe-introduce -g -rdynamic -ggdb when linking, fixing strack traces.
antirez [Thu, 26 Apr 2012 14:53:11 +0000 (16:53 +0200)] 
Re-introduce -g -rdynamic -ggdb when linking, fixing strack traces.

A previous commit removed -g -rdynamic -ggdb as LDFLAGS, not allowing
Redis to produce a stack trace wth symbol names on crash.
This commit fixes the issue.

12 years agoProduce the stack trace in an async safe way.
antirez [Thu, 26 Apr 2012 14:04:53 +0000 (16:04 +0200)] 
Produce the stack trace in an async safe way.

12 years agoDon't use an alternative stack for SIGSEGV & co.
antirez [Thu, 26 Apr 2012 14:21:19 +0000 (16:21 +0200)] 
Don't use an alternative stack for SIGSEGV & co.

This commit reverts most of c575766202773c858be0870c20cd495b722927c3, in
order to use back main stack for signal handling.

The main reason is that otherwise it is completely pointless that we do
a lot of efforts to print the stack trace on crash, and the content of
the stack and registers as well. Using an alternate stack broken this
feature completely.

12 years agoRedis test: More reliable BRPOPLPUSH replication test.
antirez [Thu, 26 Apr 2012 09:25:13 +0000 (11:25 +0200)] 
Redis test: More reliable BRPOPLPUSH replication test.

Now it uses the new wait_for_condition testing primitive.
Also wait_for_condition implementation was fixed in this commit to properly
escape the expr command and its argument.

12 years agoMerge remote-tracking branch 'origin/unstable' into unstable
antirez [Thu, 26 Apr 2012 09:17:47 +0000 (11:17 +0200)] 
Merge remote-tracking branch 'origin/unstable' into unstable

12 years agoRedis test: scripting EVALSHA replication test more reliable.
antirez [Thu, 26 Apr 2012 09:16:52 +0000 (11:16 +0200)] 
Redis test: scripting EVALSHA replication test more reliable.

A new primitive wait_for_condition was introduced in the scripting
engine that makes waiting for events simpler, so that it is simpler to
write tests that are more resistant to timing issues.

12 years agoMerge pull request #481 from dtran320/unstable
Salvatore Sanfilippo [Wed, 25 Apr 2012 20:39:13 +0000 (13:39 -0700)] 
Merge pull request #481 from dtran320/unstable

Spelling: s/synchrnonization/synchronization

12 years agoSpelling: s/synchrnonization/synchronization
David Tran [Wed, 25 Apr 2012 19:21:56 +0000 (12:21 -0700)] 
Spelling: s/synchrnonization/synchronization

12 years agoExplicitly use bash for install_server.sh. Fixes issue #397
antirez [Tue, 24 Apr 2012 17:14:03 +0000 (19:14 +0200)] 
Explicitly use bash for install_server.sh. Fixes issue #397

12 years agoredis-check-dump now is RDB version 6 ready.
antirez [Tue, 24 Apr 2012 17:05:27 +0000 (19:05 +0200)] 
redis-check-dump now is RDB version 6 ready.

12 years agoSpurious debugging printf removed.
antirez [Tue, 24 Apr 2012 15:15:21 +0000 (17:15 +0200)] 
Spurious debugging printf removed.

12 years agoAdded two new encodings to ziplist.c
antirez [Tue, 24 Apr 2012 14:54:07 +0000 (16:54 +0200)] 
Added two new encodings to ziplist.c

1) One integer "immediate" encoding that can encode from 0 to 12 in the
encoding byte itself.
2) One 8 bit signed integer encoding that can encode 8 bit signed small
integers in a single byte.

The idea is to exploit all the not used bits we have around in a
backward compatible way.

12 years agordbLoad() should check REDIS_RDB_VERSION instead of hardcoded number.
antirez [Tue, 24 Apr 2012 10:53:30 +0000 (12:53 +0200)] 
rdbLoad() should check REDIS_RDB_VERSION instead of hardcoded number.

12 years agoziplist.c: added comments about the new 24 bit encoding.
antirez [Tue, 24 Apr 2012 10:51:59 +0000 (12:51 +0200)] 
ziplist.c: added comments about the new 24 bit encoding.

12 years agoAdd a 24bit integer to ziplists to save one byte for ints that can
Grisha Trubetskoy [Fri, 20 Apr 2012 14:38:42 +0000 (10:38 -0400)] 
Add a 24bit integer to ziplists to save one byte for ints that can
fit in 24 bits (thanks to antirez for catching and solving the two's compliment
bug).

Increment REDIS_RDB_VERSION to 6

12 years agoFixed a bug in propagation of PUBLISH via the cluster bus.
antirez [Tue, 24 Apr 2012 09:28:10 +0000 (11:28 +0200)] 
Fixed a bug in propagation of PUBLISH via the cluster bus.

This bug was spotted by clang on FreeBSD.

12 years agoA few compiler warnings suppressed.
antirez [Tue, 24 Apr 2012 09:11:55 +0000 (11:11 +0200)] 
A few compiler warnings suppressed.

12 years agoFix and refactoring of code used to get registers on crash.
antirez [Tue, 24 Apr 2012 09:07:15 +0000 (11:07 +0200)] 
Fix and refactoring of code used to get registers on crash.

This fixes compilation on FreeBSD (and possibly other systems) by
not using ucontext_t at all if HAVE_BACKTRACE is not defined.
Also the ifdefs to get the registers are modified to explicitly test for the
operating system in the first level, and the arch in the second level
of nesting.

12 years agoZiplist encoding now tested with negative integers as well.
antirez [Mon, 23 Apr 2012 15:27:39 +0000 (17:27 +0200)] 
Ziplist encoding now tested with negative integers as well.

12 years agoMerge pull request #421 from ErikDubbelboer/sds-const
Salvatore Sanfilippo [Mon, 23 Apr 2012 09:34:19 +0000 (02:34 -0700)] 
Merge pull request #421 from ErikDubbelboer/sds-const

Added consts keyword where possible

12 years agoMerge pull request #461 from schlenk/unstable
Salvatore Sanfilippo [Mon, 23 Apr 2012 09:07:21 +0000 (02:07 -0700)] 
Merge pull request #461 from schlenk/unstable

Replace some unnecessary calls to echo and cat in tests

12 years agoNew time limit for protocol desync test set to 30 seconds to reduce false positives.
antirez [Mon, 23 Apr 2012 08:57:43 +0000 (10:57 +0200)] 
New time limit for protocol desync test set to 30 seconds to reduce false positives.

12 years agoRemove loadfile() access from the scripting engine.
antirez [Mon, 23 Apr 2012 08:43:24 +0000 (10:43 +0200)] 
Remove loadfile() access from the scripting engine.

12 years agoEven inside #if 0 comments are comments.
antirez [Sat, 21 Apr 2012 19:49:21 +0000 (21:49 +0200)] 
Even inside #if 0 comments are comments.

12 years agoMerge remote-tracking branch 'origin/unstable' into unstable
antirez [Sat, 21 Apr 2012 18:35:51 +0000 (20:35 +0200)] 
Merge remote-tracking branch 'origin/unstable' into unstable

12 years agoLimit memory used by big SLOWLOG entries.
antirez [Sat, 21 Apr 2012 17:20:03 +0000 (19:20 +0200)] 
Limit memory used by big SLOWLOG entries.

Two limits are added:

1) Up to SLOWLOG_ENTRY_MAX_ARGV arguments are logged.
2) Up to SLOWLOG_ENTRY_MAX_STRING bytes per argument are logged.
3) slowlog-max-len is set to 128 by default (was 1024).

The number of remaining arguments / bytes is logged in the entry
so that the user can understand better the nature of the logged command.

12 years agoMerge pull request #440 from ErikDubbelboer/spelling
Salvatore Sanfilippo [Sat, 21 Apr 2012 10:31:06 +0000 (03:31 -0700)] 
Merge pull request #440 from ErikDubbelboer/spelling

Fixed some spelling errors in comments

12 years agoMerge pull request #414 from chobits/unstable
Salvatore Sanfilippo [Sat, 21 Apr 2012 10:27:15 +0000 (03:27 -0700)] 
Merge pull request #414 from chobits/unstable

fix typos in tests/assets/default.conf

12 years agoREADME now makes clear that our support for solaris derived systems is "best effort".
antirez [Sat, 21 Apr 2012 10:08:26 +0000 (12:08 +0200)] 
README now makes clear that our support for solaris derived systems is "best effort".

12 years agoredis.conf AOF section comments improved.
antirez [Thu, 19 Apr 2012 22:04:07 +0000 (00:04 +0200)] 
redis.conf AOF section comments improved.

12 years agoNew tests related to scripts max execution time.
antirez [Thu, 19 Apr 2012 21:49:33 +0000 (23:49 +0200)] 
New tests related to scripts max execution time.

12 years agoSHUTDOWN NOSAVE now can stop a non returning script. Issue #466.
antirez [Thu, 19 Apr 2012 21:35:15 +0000 (23:35 +0200)] 
SHUTDOWN NOSAVE now can stop a non returning script. Issue #466.

12 years agoCurrenly not used code in dict.c commented out.
antirez [Wed, 18 Apr 2012 21:56:07 +0000 (23:56 +0200)] 
Currenly not used code in dict.c commented out.

12 years agoTests for scripting PRNG.
antirez [Wed, 18 Apr 2012 21:50:16 +0000 (23:50 +0200)] 
Tests for scripting PRNG.

12 years agoredis-cli --bigkeys output modified to be simpler to read..
antirez [Wed, 18 Apr 2012 18:53:37 +0000 (20:53 +0200)] 
redis-cli --bigkeys output modified to be simpler to read..

12 years agoredis-cli --bigkeys
antirez [Wed, 18 Apr 2012 18:33:02 +0000 (20:33 +0200)] 
redis-cli --bigkeys

12 years agoTest SDIFF with first set empty.
antirez [Wed, 18 Apr 2012 16:13:31 +0000 (18:13 +0200)] 
Test SDIFF with first set empty.

12 years agoTest SINTER against same integer elements, but different set encoding.
antirez [Wed, 18 Apr 2012 16:10:48 +0000 (18:10 +0200)] 
Test SINTER against same integer elements, but different set encoding.

12 years agoTest SINTER with non existing key.
antirez [Wed, 18 Apr 2012 16:05:02 +0000 (18:05 +0200)] 
Test SINTER with non existing key.

12 years agoAdded an SMOVE test where src and dest key are the same.
antirez [Wed, 18 Apr 2012 16:00:12 +0000 (18:00 +0200)] 
Added an SMOVE test where src and dest key are the same.

12 years agoNew hash fuzzing test.
antirez [Wed, 18 Apr 2012 15:56:17 +0000 (17:56 +0200)] 
New hash fuzzing test.

12 years agoDocument mostly dead code in RPOPLPUSH implementation.
antirez [Wed, 18 Apr 2012 15:38:02 +0000 (17:38 +0200)] 
Document mostly dead code in RPOPLPUSH implementation.

12 years agoExplicit RPOP/LPOP tests.
antirez [Wed, 18 Apr 2012 15:32:48 +0000 (17:32 +0200)] 
Explicit RPOP/LPOP tests.

12 years agoTest LINSERT syntax error.
antirez [Wed, 18 Apr 2012 15:22:14 +0000 (17:22 +0200)] 
Test LINSERT syntax error.

12 years agoTest LINDEX out of range index.
antirez [Wed, 18 Apr 2012 15:17:53 +0000 (17:17 +0200)] 
Test LINDEX out of range index.

12 years agoMerge pull request #456 from pietern/unstable-mkopts
Salvatore Sanfilippo [Wed, 18 Apr 2012 14:25:59 +0000 (07:25 -0700)] 
Merge pull request #456 from pietern/unstable-mkopts

Persist Makefile flags (unstable)

12 years agoMarginally cleaner lookupKeyByPattern() implementation.
antirez [Wed, 18 Apr 2012 09:37:14 +0000 (11:37 +0200)] 
Marginally cleaner lookupKeyByPattern() implementation.

just fieldobj itself as sentinel of the fact a field object is used or
not, instead of using the filed length, that may be confusing both for
people and for the compiler emitting a warning.

12 years agoMore robust maxclients test.
antirez [Wed, 18 Apr 2012 09:34:18 +0000 (11:34 +0200)] 
More robust maxclients test.

12 years agoTwo small fixes to maxclients handling.
antirez [Wed, 18 Apr 2012 09:31:24 +0000 (11:31 +0200)] 
Two small fixes to maxclients handling.

1) Don't accept maxclients set to < 0
2) Allow maxclients < 1024, it is useful for testing.

12 years agoReplace unnecessary calls to echo and cat
Michael Schlenker [Tue, 17 Apr 2012 20:20:54 +0000 (22:20 +0200)] 
Replace unnecessary calls to echo and cat

Tcl's exec can send data to stdout itself, no need to call cat/echo for
that usually.

12 years agoAdded test for SORT corner case: pattern ending with just "->".
antirez [Tue, 17 Apr 2012 14:28:50 +0000 (16:28 +0200)] 
Added test for SORT corner case: pattern ending with just "->".

12 years agolookupKeyByPattern() used by SORT GET/BY rewritten. Fixes issue #460.
antirez [Tue, 17 Apr 2012 11:05:09 +0000 (13:05 +0200)] 
lookupKeyByPattern() used by SORT GET/BY rewritten. Fixes issue #460.

lookupKeyByPattern() was implemented with a trick to speedup the lookup
process allocating two fake Redis obejcts on the stack. However now that
we propagate expires to the slave as DEL operations the lookup of the
key may result into a call to expireIfNeeded() having the stack
allocated object as argument, that may in turn use it to create the
protocol to send to the slave. But since this fake obejcts are
inherently read-only this is a problem.

As a side effect of this fix there are no longer size limits in the
pattern to be used with GET/BY option of SORT.

See https://github.com/antirez/redis/issues/460 for bug details.

12 years agoLess false positives in maxclients test, hopefully.
antirez [Tue, 17 Apr 2012 08:04:42 +0000 (10:04 +0200)] 
Less false positives in maxclients test, hopefully.

12 years agoPersist `make` settings and trigger rebuild if anything changes
Pieter Noordhuis [Sat, 14 Apr 2012 00:50:38 +0000 (17:50 -0700)] 
Persist `make` settings and trigger rebuild if anything changes

12 years agoDon't set flags recursively
Pieter Noordhuis [Sat, 14 Apr 2012 00:46:28 +0000 (17:46 -0700)] 
Don't set flags recursively

12 years agoRemove unused LIBS variable
Pieter Noordhuis [Sat, 14 Apr 2012 00:44:34 +0000 (17:44 -0700)] 
Remove unused LIBS variable

12 years agoFirst set defaults, then do composition
Pieter Noordhuis [Sat, 14 Apr 2012 00:43:06 +0000 (17:43 -0700)] 
First set defaults, then do composition

12 years agoQuestion mark assignment is not needed
Pieter Noordhuis [Sat, 14 Apr 2012 00:41:40 +0000 (17:41 -0700)] 
Question mark assignment is not needed

12 years agoIgnore gcov/lcov artifacts
Pieter Noordhuis [Sat, 14 Apr 2012 00:38:29 +0000 (17:38 -0700)] 
Ignore gcov/lcov artifacts

12 years agoThe lcov target shouldn't clean
Pieter Noordhuis [Sat, 14 Apr 2012 00:38:12 +0000 (17:38 -0700)] 
The lcov target shouldn't clean

This is not needed because every change in compiler/linker flags
triggers a cleanup.

12 years agoRename ADD_*FLAGS -> REDIS_*FLAGS, REDIS_*FLAGS -> FINAL_*FLAGS
Pieter Noordhuis [Sat, 14 Apr 2012 00:34:31 +0000 (17:34 -0700)] 
Rename ADD_*FLAGS -> REDIS_*FLAGS, REDIS_*FLAGS -> FINAL_*FLAGS

This reflects that REDIS_*FLAGS will only be used for compilation of
Redis and not for its dependencies. Similarly, that FINAL_*FLAGS are
composed of other variables and holds the options that are finally
passed to the compiler and linker.

12 years agoMerge branch 'strict.lua' into unstable
antirez [Fri, 13 Apr 2012 14:16:13 +0000 (16:16 +0200)] 
Merge branch 'strict.lua' into unstable

12 years agoA few var names fixed in Makefile.
antirez [Fri, 13 Apr 2012 14:13:56 +0000 (16:13 +0200)] 
A few var names fixed in Makefile.

I modified it for error in a previous commit doing search & replace.

12 years agoNew test for scripting engine: DECR_IF_GT.
antirez [Fri, 13 Apr 2012 13:23:32 +0000 (15:23 +0200)] 
New test for scripting engine: DECR_IF_GT.

12 years agoEVAL errors are more clear now.
antirez [Fri, 13 Apr 2012 13:12:16 +0000 (15:12 +0200)] 
EVAL errors are more clear now.

12 years agoUse Lua tostring() before concatenation.
antirez [Fri, 13 Apr 2012 12:54:49 +0000 (14:54 +0200)] 
Use Lua tostring() before concatenation.

12 years agoTests modified to match the new global protection implementation.
antirez [Fri, 13 Apr 2012 11:40:57 +0000 (13:40 +0200)] 
Tests modified to match the new global protection implementation.

12 years agomt.declared is no longer needed.
antirez [Fri, 13 Apr 2012 11:36:08 +0000 (13:36 +0200)] 
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.

12 years agoStop access to global vars. Not configurable.
antirez [Fri, 13 Apr 2012 11:26:59 +0000 (13:26 +0200)] 
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.

12 years agoGlobals protection global() function modified for speed and correctness.
antirez [Fri, 13 Apr 2012 10:13:02 +0000 (12:13 +0200)] 
Globals protection global() function modified for speed and correctness.

12 years agoTests for lua globals protection.
antirez [Fri, 13 Apr 2012 09:48:45 +0000 (11:48 +0200)] 
Tests for lua globals protection.

12 years agoScripting: globals protection can now be switched on/off.
antirez [Fri, 13 Apr 2012 09:16:50 +0000 (11:16 +0200)] 
Scripting: globals protection can now be switched on/off.

12 years agoPrint arch bits with redis-server -v
antirez [Thu, 12 Apr 2012 09:50:18 +0000 (11:50 +0200)] 
Print arch bits with redis-server -v

12 years agomemtest.c: integer overflow fixed.
antirez [Thu, 12 Apr 2012 09:49:52 +0000 (11:49 +0200)] 
memtest.c: integer overflow fixed.

12 years agoMake gcov fixed.
antirez [Thu, 12 Apr 2012 09:51:58 +0000 (11:51 +0200)] 
Make gcov fixed.

12 years agoMakefile now introduces Redis-specific CFLAGS / LDFLAGS. Gcov target fixed. Added...
antirez [Thu, 12 Apr 2012 09:09:38 +0000 (11:09 +0200)] 
Makefile now introduces Redis-specific CFLAGS / LDFLAGS. Gcov target fixed. Added comments to describe how it works.

12 years agoMerge pull request #449 from ErikDubbelboer/unstable
Salvatore Sanfilippo [Wed, 11 Apr 2012 16:25:44 +0000 (09:25 -0700)] 
Merge pull request #449 from ErikDubbelboer/unstable

added explanation for the magic 511 backlog number