Commit Graph

5520 Commits

Author SHA1 Message Date
a3eb7ac87d 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.
2012-04-26 16:53:11 +02:00
11bd247d2b Produce the stack trace in an async safe way. 2012-04-26 16:28:54 +02:00
3ada43e732 Don't use an alternative stack for SIGSEGV & co.
This commit reverts most of c575766202, 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.
2012-04-26 16:21:19 +02:00
31788f50b7 Spelling: s/synchrnonization/synchronization 2012-04-25 12:21:56 -07:00
29c8cf0116 redis-check-dump now is RDB version 6 ready. 2012-04-24 19:05:27 +02:00
7dbc514de7 Spurious debugging printf removed. 2012-04-24 17:15:21 +02:00
a76b9063d0 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.
2012-04-24 17:04:00 +02:00
053d56a1fa rdbLoad() should check REDIS_RDB_VERSION instead of hardcoded number. 2012-04-24 12:53:30 +02:00
f22cff43a6 ziplist.c: added comments about the new 24 bit encoding. 2012-04-24 12:52:36 +02:00
5a86ab4799 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
2012-04-24 12:02:19 +02:00
21661d7acc Fixed a bug in propagation of PUBLISH via the cluster bus.
This bug was spotted by clang on FreeBSD.
2012-04-24 11:28:10 +02:00
e54fe9a79f A few compiler warnings suppressed. 2012-04-24 11:11:55 +02:00
a66a496349 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.
2012-04-24 11:11:35 +02:00
d344228734 Merge pull request #421 from ErikDubbelboer/sds-const
Added consts keyword where possible
2012-04-23 02:34:19 -07:00
a3f990818d Remove loadfile() access from the scripting engine. 2012-04-23 10:43:24 +02:00
eb6e7eb94d Even inside #if 0 comments are comments. 2012-04-21 21:49:21 +02:00
92cc20ecfe Merge remote-tracking branch 'origin/unstable' into unstable 2012-04-21 20:35:51 +02:00
d3701d2714 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.
2012-04-21 20:34:45 +02:00
7d3ee4172f Merge pull request #440 from ErikDubbelboer/spelling
Fixed some spelling errors in comments
2012-04-21 03:31:06 -07:00
e3923a3508 SHUTDOWN NOSAVE now can stop a non returning script. Issue #466. 2012-04-19 23:35:15 +02:00
1e35ae7486 Currenly not used code in dict.c commented out. 2012-04-18 23:56:07 +02:00
5386f72d00 redis-cli --bigkeys output modified to be simpler to read.. 2012-04-18 20:53:37 +02:00
f26761aa10 redis-cli --bigkeys 2012-04-18 20:33:02 +02:00
5ba79bda7f Document mostly dead code in RPOPLPUSH implementation. 2012-04-18 17:38:02 +02:00
d162f9eb64 Merge pull request #456 from pietern/unstable-mkopts
Persist Makefile flags (unstable)
2012-04-18 07:25:59 -07:00
acf41c96cb 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.
2012-04-18 11:37:14 +02:00
a5f8341245 Two small fixes to maxclients handling.
1) Don't accept maxclients set to < 0
2) Allow maxclients < 1024, it is useful for testing.
2012-04-18 11:31:24 +02:00
3c25c4a691 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.
2012-04-17 13:05:09 +02:00
7e7b69fee1 Persist make settings and trigger rebuild if anything changes 2012-04-13 17:52:33 -07:00
34c943b395 Don't set flags recursively 2012-04-13 17:52:33 -07:00
620357fc8f Remove unused LIBS variable 2012-04-13 17:52:33 -07:00
caba585121 First set defaults, then do composition 2012-04-13 17:52:33 -07:00
c04278ba3b Question mark assignment is not needed 2012-04-13 17:52:33 -07:00
166cf8a3b8 Ignore gcov/lcov artifacts 2012-04-13 17:52:33 -07:00
0342dd7647 The lcov target shouldn't clean
This is not needed because every change in compiler/linker flags
triggers a cleanup.
2012-04-13 17:52:30 -07:00
631539a5f2 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.
2012-04-13 17:34:31 -07:00
93a74949d7 Merge branch 'strict.lua' into unstable 2012-04-13 16:16:13 +02:00
c18405c909 A few var names fixed in Makefile.
I modified it for error in a previous commit doing search & replace.
2012-04-13 16:13:56 +02:00
6f659f34cf EVAL errors are more clear now. 2012-04-13 15:12:16 +02:00
3a02140415 Use Lua tostring() before concatenation. 2012-04-13 14:54:49 +02:00
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
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
c9edd1b28a Globals protection global() function modified for speed and correctness. 2012-04-13 12:13:02 +02:00
37b29ef2fa Scripting: globals protection can now be switched on/off. 2012-04-13 11:23:45 +02:00
6e05f333a2 Print arch bits with redis-server -v 2012-04-12 11:50:18 +02:00
4c442e9d88 memtest.c: integer overflow fixed. 2012-04-12 11:49:52 +02:00
91e56965a3 Make gcov fixed. 2012-04-12 11:51:58 +02:00
9c83aec955 Makefile now introduces Redis-specific CFLAGS / LDFLAGS. Gcov target fixed. Added comments to describe how it works. 2012-04-12 11:09:38 +02:00
0d83011a11 Merge pull request #449 from ErikDubbelboer/unstable
added explanation for the magic 511 backlog number
2012-04-11 09:25:44 -07:00
815c06f2f7 added explanation for the magic 511 backlog number 2012-04-11 17:04:31 +02:00