antirez
66d1b021ec
ziplist.c endianess fixes, chapter 5.
2012-02-09 17:09:01 +01:00
antirez
cab1105c6e
ziplist.c endianess fixes, chapter 4.
2012-02-09 16:36:25 +01:00
antirez
3fa19b7dfc
ziplist.c endianess fixes, chapter 3.
2012-02-09 16:28:35 +01:00
antirez
8e0ef249a2
more ziplist.c endianess fixes
2012-02-08 23:20:39 +01:00
antirez
5653847714
ziplist.c fixes for bigendian
2012-02-08 22:59:35 +01:00
antirez
ac834d237a
A few small BSD related fixes.
2012-02-08 22:24:59 +01:00
antirez
b129c6df45
debugging messages removed from freeMemoryIfNeeded()
2012-02-08 00:10:20 +01:00
antirez
609baba8a2
Fixes to c->reply_bytes computation, and debug messages to closely study the behavior of memory pressure + slaves + maxmemory + blocked slaves.
2012-02-07 17:41:31 +01:00
antirez
442246dde2
Precision of getClientOutputBufferMemoryUsage() greatily improved, see issue #327 for more information.
2012-02-07 13:05:36 +01:00
antirez
8b7c3455b9
freeMemoryIfNeeded() minor refactoring
2012-02-06 16:56:42 +01:00
antirez
c1ef6ffe8a
Also remove size of AOF buffers from used memory when doing the math for freeMemoryIfNeeded()
2012-02-06 16:35:43 +01:00
antirez
7441fcdd56
Redis Manifesto moved from src to root dir
2012-02-05 09:37:08 +01:00
antirez
f6b32c14f4
This fixes issue #327 , is a very complex fix (unfortunately), details:
...
1) sendReplyToClient() now no longer stops transferring data to a single
client in the case we are out of memory (maxmemory-wise).
2) in processCommand() the idea of we being out of memory is no longer
the naive zmalloc_used_memory() > server.maxmemory. To say if we can
accept or not write queries is up to the return value of
freeMemoryIfNeeded(), that has full control about that.
3) freeMemoryIfNeeded() now does its math without considering output
buffers size. But at the same time it can't let the output buffers to
put us too much outside the max memory limit, so at the same time it
makes sure there is enough effort into delivering the output buffers to
the slaves, calling the write handler directly.
This three changes are the result of many tests, I found (partially
empirically) that is the best way to address the problem, but maybe
we'll find better solutions in the future.
2012-02-04 14:05:54 +01:00
antirez
355f859134
Use less memory when emitting the protocol, by using more shared objects for commonly emitted parts of the protocol.
2012-02-04 08:58:37 +01:00
antirez
ce8b772be7
Now Lua scripts dispatch Redis commands properly calling the call() function. In order to make this possible call() was improved with a new flags argument that controls how the Redis command is executed.
2012-02-02 16:30:52 +01:00
antirez
d876678b5e
Set a 3.5 GB maxmemory limit with noeviction policy if a 32 bit instance without user-provided memory limits is detected.
2012-02-02 10:26:20 +01:00
antirez
75eaac5c74
Added a server.arch_bits field instead of computing it at runtime for INFO.
2012-02-02 10:23:31 +01:00
antirez
b80b1c5914
Only incremnet stats for key miss/hit when the key is semantically accessed in read-only.
2012-02-01 21:51:20 +01:00
antirez
de79a2ee12
Make SORT BY <constant> STORE ... to always produce the same output by force sorting, so that we have deterministic replication of this command.
2012-02-01 17:05:45 +01:00
antirez
2c861050c1
SORT is now more deterministic: does not accept to compare by score items that have scores not representing a valid double. Also items with the same score are compared lexycographically. At the same time the scripting side introduced the ability to sort the output of SORT when sort uses the BY <constant> optimization, resulting in no specific ordering. Since in this case the user may use GET, and the result of GET can be null, converted into false as Lua data type, this commit also introduces the ability to sort Lua tables containining false, only if the first (faster) attempt at using just table.sort with a single argument fails.
2012-02-01 15:22:28 +01:00
antirez
548efd91e5
Order output of commands returning random arrays using table.sort when called from Lua, partially fixing issue #165 . The issue is yet not completely fixed since we can't add the REDIS_CMD_SORT_FOR_SCRIPT flag in SORT currently, both because it may contain NULLs and because it is not cool to re-sort everything at every call when instead this should be sorted only if BY <constant> is used.
2012-01-31 16:09:21 +01:00
antirez
8dd19d818f
Fixed redis-benchmark --help output typo
2012-01-31 11:43:32 +01:00
antirez
3c08fdae71
64 bit instances are no longer limited to have at max 2^32-1 elements in lists.
2012-01-31 10:35:52 +01:00
antirez
d1c4c94ebf
Merge remote-tracking branch 'origin/unstable' into unstable
2012-01-30 10:40:28 +01:00
Salvatore Sanfilippo
eb7d19ed69
Merge pull request #319 from fawek/lua-error-location
...
Lua reports line numbers off by one in error messages
2012-01-30 01:40:17 -08:00
antirez
89f6f6abcf
setKey(): call the higher level wrapper setModifiedKey() instead of touchWatchedKey() even if currently they are exactly the same.
2012-01-30 10:27:50 +01:00
Michal Kwiatkowski
a0bf8d0ad8
SORT with STORE removes key if result is empty. This fixes issue #227 .
2012-01-30 07:36:49 +01:00
Jakub Wieczorek
4d776dba3c
Lua reports line numbers off by one in error messages
2012-01-29 14:53:49 +01:00
Pieter Noordhuis
80586cb894
Test that zipmap from RDB is correctly converted
2012-01-25 13:28:11 -08:00
antirez
c715c9b8bf
Fixed typo in getClientLimitClassByName()
2012-01-25 18:07:56 +01:00
antirez
d329031fad
Fixed another possible bug in cluster.c found by clang --analyze.
2012-01-25 16:59:36 +01:00
antirez
9b810f1cde
Merge branch 'unstable' into limits
2012-01-25 16:46:53 +01:00
antirez
6710ff24d0
Fixed a non critical bug signaled by clang static analyzer thanks to Mukund Sivaraman for reporting it: there was a not initialized field populating the cluster message header, but it is always fixed at later time before sending the packet.
2012-01-25 16:46:35 +01:00
antirez
c69ad1f24e
Merge branch 'unstable' into limits
2012-01-25 10:41:25 +01:00
antirez
ecc5702145
aeCreateEventLoop() cleanup on error unified in a single block (original
...
patch by Mukund Sivaraman, modified by me to make it simpler and to use
my coding style).
2012-01-25 10:37:32 +01:00
Mukund Sivaraman
caa63a3821
If aeApiCreate() fails, there's probably not much one can do, but in the name of consistency...
2012-01-25 10:27:37 +01:00
antirez
2f0f0d95c0
lenght -> length
2012-01-24 15:33:15 +01:00
antirez
7957c67604
after all closing a client for output buffer limit overcoming is a WARNING level message.
2012-01-24 12:03:48 +01:00
antirez
c8a607f2b6
client-output-buffer-limit documented in redis.conf
2012-01-24 11:23:23 +01:00
antirez
7fe8d49a70
Client output buffer limits: configuration of parameters for the different classes of clients implemented.
2012-01-24 10:43:30 +01:00
antirez
06b3dced99
asyncCloseClientOnOutputBufferLimitReached() now ignores clients with REDIS_CLOSE_ASAP flag already set. Return value of the function changed from int to void since it is not used. Fixed logging of the client scheduled to be closed.
2012-01-24 09:32:39 +01:00
antirez
51669c5ac1
client buffer handling refactoring and optimization
2012-01-23 17:15:49 +01:00
antirez
8c43e66346
actually call the function to async free clients in serverCron().
2012-01-23 16:17:22 +01:00
antirez
7eac2a75a4
Implementation of the internals that make possible to terminate clients overcoming configured output buffer (soft and hard) limits.
2012-01-23 16:12:37 +01:00
antirez
890da62eea
Merge branch 'unstable' into limits
2012-01-23 10:36:07 +01:00
antirez
b362c111da
fixed typo in hahs function seed default value. It is no longer used but fixed to retain the old constant as default anyway.
2012-01-22 01:40:23 +01:00
antirez
06c5523a88
typo in comment fixed
2012-01-21 23:34:06 +01:00
antirez
a48c8d873b
Fix for hash table collision attack. We simply randomize hash table initialization value at startup time.
2012-01-21 23:30:13 +01:00
antirez
447ebf3bc7
Better looking registers/stack dump
2012-01-20 16:40:43 +01:00
antirez
632da60583
added support to dump registers on crash on Linux x32
2012-01-20 14:37:50 +01:00
antirez
eea8c7a4f8
added support to dump registers on crash on Linux x64
2012-01-20 12:54:15 +01:00
antirez
d4d208595c
all the stack trace related functions are now in debug.c. Now Redis dumps registers and stack content on crash. Currently osx supported, adding Linux right now.
2012-01-20 12:20:45 +01:00
antirez
498dc5557c
Introduced three client limit classes: normal, slave, pubsub
2012-01-17 12:43:01 +01:00
antirez
3853c16839
Track the length of the client pending output buffers (still to transfer) in a new field in the client structure.
2012-01-17 12:23:25 +01:00
antirez
4aac3ff247
It is now posible to flush all the previous saving points in redis.conf by using a save directive with a single empty string argument, like it happens for CONFIG SET save.
2012-01-16 16:50:24 +01:00
antirez
ebdfad69dc
Don't change the replication state if SLAVE OF is called with arguments specifying the same master we are already connected with. This fixes issues #290 .
2012-01-16 11:29:47 +01:00
antirez
1596d6a61e
Obsolete SDS_ABORT_ON_OOM removed from sds.c
2012-01-16 10:08:33 +01:00
antirez
bd068b15c2
sds.c no longe pre-allocate more than 1MB of free space ahead. This fixes issue #252 .
2012-01-16 10:03:38 +01:00
antirez
7faa1f075b
added a comment on top of the zslRandomLevel() function
2012-01-16 09:39:04 +01:00
antirez
00010fa96f
On crash print information about the current client (if any), command vector, and object associated to first argument assuming it is a key.
2012-01-12 16:02:57 +01:00
antirez
d8bd12f984
error in comment fixed
2012-01-11 20:25:51 +01:00
antirez
5db904bdc5
show GCC version in INFO output.
2012-01-10 18:37:16 +01:00
antirez
68fe1b9b99
version bumped to 2.9.3
2012-01-07 12:54:48 +01:00
Pieter Noordhuis
fe45840201
Implements ziplistFind
...
To improve the performance of the ziplist implementation, some
functions have been converted to macros to avoid unnecessary stack
movement and duplicate variable assignments.
2012-01-03 16:13:42 -08:00
Pieter Noordhuis
ebd85e9a45
Encode small hashes with a ziplist
2012-01-02 22:14:10 -08:00
Pieter Noordhuis
9ea54feef0
string2* functions take a const pointer
2012-01-02 15:24:50 -08:00
antirez
11e0c4c55b
Protections against protocol desyncs, leading to infinite query buffer growing, due to nul-terms in specific bytes of the request or indefinitely long multi bulk or bulk count strings without newlines. This bug is related to Issue #141 as well.
2011-12-31 16:09:46 +01:00
antirez
f42e2f1bd7
Protocol and I/O related defines moved into a separated section of redis.h
2011-12-31 15:37:33 +01:00
antirez
35c6032cfa
A few no longer used defines removed from redis.h
2011-12-31 15:34:02 +01:00
antirez
1824e3a3a3
Fixed replication when multiple slaves are attaching at the same time. The output buffer was not copied correctly between slaves. This fixes issue #141 .
2011-12-30 19:40:43 +01:00
antirez
256356ffd8
Prevent NaN scores in sorted sets resulting from calls to ZUNIONSTORE and ZINTERSTORE.
2011-12-23 09:27:31 +01:00
antirez
d334281c80
Merge remote-tracking branch 'origin/unstable' into unstable
2011-12-21 17:13:31 +01:00
antirez
e51b79f315
sligthly better AOF related logs
2011-12-21 17:12:23 +01:00
antirez
b941417c1b
Log when the child rewriting the AOF is killed by stopAppendOnly()
2011-12-21 16:37:22 +01:00
antirez
1844f9900f
server.replstate -> server.repl_state
2011-12-21 12:23:18 +01:00
antirez
f48cd4b90c
some RDB server struct fields renamed.
2011-12-21 12:22:13 +01:00
antirez
ff2145adac
more AOF server struct fields renamed.
2011-12-21 12:17:02 +01:00
antirez
2c915bcf6d
AOF fileds in the global server state, and define names, renamed with more consistent names. More work to do.
2011-12-21 11:58:42 +01:00
antirez
e394114d95
AOF refactoring, now with three states: ON, OFF, WAIT_REWRITE.
2011-12-21 10:31:34 +01:00
antirez
c6ac7d0302
server.appendonly -> server.aof_state, and many comments added in the server global state structure in the process.
2011-12-21 10:05:32 +01:00
antirez
efb6022529
Do not propagate DEBUG LOADAOF
2011-12-20 17:52:57 +01:00
antirez
af77acc310
startAppendOnly() fixed to set server.appendonly to 0 if the start failed.
2011-12-20 17:00:50 +01:00
antirez
fc96409f91
Merge remote-tracking branch 'origin/unstable' into aof-fixes
2011-12-20 10:29:33 +01:00
BigCat
706b32e0e0
Fix issue #247 : Accepting non-integer parameters when shouldn't
...
Using `getLongFromObjectOrReply` instead of `atoi` if possible.
The following functions are modified.
* lrangeCommand
* ltrimCommand
* lremCommand
* lindexCommand
* lsetCommand
* zunionInterGenericCommand
* genericZrangebyscoreCommand
* sortCommand
2011-12-19 19:48:35 +08:00
antirez
0e59a94728
version bumped to 2.9.2
2011-12-19 10:55:31 +01:00
antirez
0a466a7542
Fixed memleak in CLIENT INFO, added simple test that will work as regression test on mac os x and in the CI when running over valgrind. This fixes issue #256
2011-12-19 10:16:37 +01:00
antirez
a244a13b4c
added assertion in zslInsert() that ensures the inserted element score is not NaN
2011-12-18 11:12:58 +01:00
antirez
24accab2aa
Merge remote-tracking branch 'origin/unstable' into unstable
2011-12-16 09:56:12 +01:00
antirez
18d0ef4bf0
ae.c: solved a memory leak with no practical effects (since the event
...
loop is never destroyed in Redis). Thanks to @anydot for noticing it.
2011-12-16 09:55:06 +01:00
antirez
087f414090
Fix: when aof_write_rewrite is true don't append on the AOF buffer but accumulate the differences for the rewrite.
2011-12-15 20:03:28 +01:00
antirez
e7a2e7c1f7
AOF fixes in the context of replicaiton (when AOF is used by slave) and CONFIG SET appendonly yes/no.
2011-12-15 16:07:49 +01:00
antirez
36dda9554a
ae_epoll.c typo introduced in the previous commit fixed.
2011-12-15 11:50:15 +01:00
antirez
e074416be4
Max limit to 10k clients removed, this implements feature request on issue #194
2011-12-15 11:42:40 +01:00
antirez
503d87a818
List connected slaves with ip,port,state information in INFO, as requested by github issue #219
2011-12-14 15:11:11 +01:00
antirez
19951d965a
version bumped to 2.9.1
2011-12-13 18:07:21 +01:00
antirez
e2f313899b
redis-cli --eval implemented
2011-12-13 16:22:28 +01:00
antirez
54ecc0e777
Hash type AOF rewrite using HMSET.
2011-12-13 11:10:51 +01:00
antirez
7df9b1412b
Sorted Set type AOF rewrite using variadic ZADD.
2011-12-13 11:10:46 +01:00
antirez
8d875ccb7a
Set type AOF rewrite using variadic SADD.
2011-12-13 11:10:41 +01:00
antirez
38c06fa037
List type AOF rewrite using variadic RPUSH for the linked list encoding.
2011-12-13 11:10:31 +01:00
antirez
5b25009656
Lists AOF rewrite using variadic RPUSH (work in progress)
2011-12-13 11:10:21 +01:00
antirez
fb293ccbdd
Fixed a theoretical memory leak with no practical effects in ae_kqueue.c and ae_epoll.c, thanks to magicyang87 for reporting it.
2011-12-07 08:58:29 +01:00
antirez
237194b760
Fixed SORT bugs (issue #224 ) with regression tests.
2011-12-01 16:08:05 +01:00
antirez
9268a5b5fd
usage information updated to reflect the new way to pass options to Redis from the command line.
2011-12-01 13:50:36 +01:00
antirez
27ccb94a02
Even when loglevel is warning the server should log that it started.
2011-12-01 13:45:19 +01:00
antirez
67c6f0f630
Support for command line configuration options for redis-server.
2011-12-01 13:44:53 +01:00
antirez
4c8bd905a0
-h is now alias for --help when running redis-server.
2011-12-01 12:18:22 +01:00
antirez
39ca1713d7
I like when main() is the last function in the file.
2011-12-01 12:15:44 +01:00
antirez
27acd7aa89
Replication bug fixed: now non blocking connect is also forced to follow the configured replication timeout.
2011-11-30 15:35:16 +01:00
antirez
c6f9ee88fa
default log level is now notice.
2011-11-30 15:04:40 +01:00
antirez
63fd13996d
show initial querybuf bytes on querybuf overflow.
2011-11-28 11:12:55 +01:00
antirez
e7ef418ccd
two new AOF related INFO fields that can be interesting information for debugging.
2011-11-28 11:04:03 +01:00
antirez
3e0a975e07
log client protocol errors for log level >= verbose
2011-11-25 16:09:34 +01:00
Salvatore Sanfilippo
07ac2daaaa
Merge pull request #209 from woowenjie/unstable
...
clean REDIS_DIRTY_CAS when discard Command runs. otherwise the next MULT...
2011-11-25 03:13:10 -08:00
woowenjie
f371e721fa
clean REDIS_DIRTY_CAS when discard Command runs. otherwise the next MULTI/EXEC may fail in the same RedisClient
2011-11-25 10:34:05 +08:00
antirez
fa5af017d9
better bug report info on crash
2011-11-24 15:47:26 +01:00
antirez
45e7a1ce00
minor refactoring to networking.c adding a separated function to get a string representing the current state of all the connected clients.
2011-11-24 15:04:42 +01:00
antirez
2c74a9f948
last executed command in CLIENT LIST output.
2011-11-24 14:56:34 +01:00
antirez
3c95e7212e
new counter in INFO output: rejected_connections with number of dropped connections because of maxclients limit reached.
2011-11-23 18:38:12 +01:00
antirez
1bcfa0f643
More fixes in the Redis command table, to make sure all the keys are detected by Redis Cluster.
2011-11-22 14:27:32 +01:00
antirez
39da5d1f21
Fixed command table for SETEX and PSETEX causing the expire time to be hashed by Redis cluster instead of the key.
2011-11-22 10:16:15 +01:00
antirez
7501c66f2e
comment describing the Redis command table enhanced
2011-11-22 10:13:45 +01:00
antirez
afd0f06b75
Fixed bug in getClientInfoString() that was not rendering the N (no flags) special flag correctly.
2011-11-21 16:19:30 +01:00
antirez
becf5fdb0c
Close client connection and log the event when the client input buffer reaches 1GB.
2011-11-21 16:17:51 +01:00
antirez
6621b8ffa1
show active events in client file descriptor in CLIENT LIST.
2011-11-21 16:06:03 +01:00
antirez
f14479c796
new ae.c API to get current events by file descriptor.
2011-11-21 16:05:29 +01:00
antirez
491c1c4e04
added output list and buffer length, query buffer size, to CLIENT LIST output.
2011-11-21 15:54:49 +01:00
antirez
17d25a33e2
code generating the CLIENT LIST output refactored to have a function that is able to render a single client into a client info string.
2011-11-21 15:34:32 +01:00
antirez
08a879af6e
Added sdscatsds() to sds.c/h
2011-11-21 15:34:00 +01:00
antirez
7e14a20801
Fixed a comment typo in the command table.
2011-11-21 10:55:52 +01:00
Salvatore Sanfilippo
794e6ce14f
Merge pull request #173 from jasondavies/typo
...
Fix some minor typos.
2011-11-18 05:34:56 -08:00
antirez
e41677b4cf
prevent (more) commands from Lua scripts
2011-11-18 14:23:38 +01:00
antirez
4ab8695d53
New script timeout semantics and SCRIPT KILL implemented. SHUTDOWN NOSAVE and SHUTDOWN SAVE implemented.
2011-11-18 14:10:48 +01:00
Chris Lamb
5ae979bf57
Fix crash on SPARC due to improper alignment of allocated memory
...
I believe that you should be able to drop 'defined(__sun)' completely
from this clause, as Solaris on x86 hardware probably does not have
strict alignment requirements, but I don't have a way to test that.
Thanks to Jurij Smakov <jurij@wooyd.org>.
Signed-off-by: Chris Lamb <lamby@debian.org>
2011-11-16 17:21:16 +00:00
Pieter Noordhuis
42c6a5da3d
Don't force rebuild when params didn't change
2011-11-16 17:49:06 +01:00
Salvatore Sanfilippo
32adb53156
Merge pull request #192 from pietern/makefile
...
Add separate clean/distclean targets to Makefile
2011-11-16 01:29:42 -08:00
Pieter Noordhuis
5bb2c88e94
Rebuild source when allocator changes
...
To do so, the Makefile stores the contents of the MALLOC environment
variable in a file named .make-malloc. When the contents of this file
and the MALLOC variable are not equal, it forces a rebuild of the Redis
source tree.
A side-effect of this change is that choosing an allocator can now be
done using the single MALLOC variable instead of USE_TCMALLOC,
USE_JEMALLOC and so forth. These variables continue to work for
backwards compatibility.
2011-11-15 13:09:34 -08:00
Pieter Noordhuis
4b8a63941d
Rebuild deps/ and src/ when ARCH changes
...
This change moves the build instructions for dependencies to a separate
Makefile in deps/. The ARCH environment variable is stored in a
.make-arch file in the same directory as the Makefile. The contents of
this file is read and compared to the current ARCH, and, on a mismatch
triggers rebuilding the entire source tree.
When file .make-arch exists and matches with ARCH from the environment,
the dependencies are assumed to already be built.
The new "clean" target only cleans the Redis source tree, not its
dependencies. To clear the dependencies as well, the "distclean" target
can be used.
2011-11-15 12:41:35 -08:00
Pieter Noordhuis
321a0440c0
Use CCLINK as last argument
2011-11-15 09:39:38 -08:00
Pieter Noordhuis
61c0e893aa
CCLINK already includes ALLOC_LINK
2011-11-15 09:36:13 -08:00
Salvatore Sanfilippo
7b81e5a16c
Merge pull request #181 from redsquirrel/unstable
...
Fixing inject: it was failing when there was 1 or >2 sources
2011-11-15 06:36:53 -08:00
antirez
68bfe993c8
HINCRBYFLOAT implemented
2011-11-15 15:09:39 +01:00
antirez
d4a3cfed9c
Merge branch 'unstable' into incrbyfloat
2011-11-14 15:59:56 +01:00
antirez
d93f9a8644
string to number API is now more strict not accepting spaces before or after the number. A few tests converted to match the new error messages using the word float instead of double.
2011-11-14 15:34:44 +01:00
antirez
5244d6e54e
rewrite INCRBYFLOAT as SETs for AOF/replication
2011-11-14 10:15:13 +01:00
antirez
5574b53eae
INCRBYFLOAT implementation
2011-11-12 19:27:35 +01:00
antirez
4be855e757
Fixed issues with expire introduced with latest millisecond resolution feature. Many time_t were not converted to long long, and one time() call was not replaced with mstime().
2011-11-12 01:04:27 +01:00
antirez
3570629f90
set default client timeout to zero inside redis.h as well
2011-11-11 17:18:35 +01:00
antirez
12d293ca6e
high resolution expires API modified to use separated commands. AOF transation to PEXPIREAT of all the expire-style commands fixed.
2011-11-10 17:52:02 +01:00
Dave Hoover
57f8021cb2
Fixing inject: it was failing when there was 1 or >2 sources
2011-11-09 19:06:12 -06:00
antirez
dab5332f95
Fixed a few typos
2011-11-09 21:59:27 +01:00
antirez
bdbdb02edb
Fixed bug breaking rdbSaveMillisecondTime() in 32 bit systems. Thanks to @anydot (Přemysl Hrubý)
2011-11-09 18:47:48 +01:00
antirez
52d46855d9
TTL, EXPIRE and EXPIREAT now support the milliseconds input/output form
2011-11-09 18:05:35 +01:00
antirez
b0b74486e1
use "EXPIREAT ... ms" form when rewriting the AOF
2011-11-09 17:20:14 +01:00
antirez
7dcc10b65e
Initial support for key expire times with millisecond resolution. RDB version is now 3, new opcoded added for high resolution times. Redis is still able to correctly load RDB version 2. Tests passing but still a work in progress. API to specify milliseconds expires still missing, but the precision of normal expires is now already improved and working.
2011-11-09 16:51:19 +01:00
antirez
14ed10d957
dict set/get macros for integers fixed.
2011-11-09 13:39:59 +01:00
antirez
2c2b208537
added mstime() to get UNIX time in milliseconds.
2011-11-09 00:03:03 +01:00
antirez
6c578b764a
dict.c: added macros to get signed/unsigned integer values from hash
...
entry. Field name of hash entry union modified for clarity.
2011-11-08 23:59:53 +01:00
antirez
b28d0461b4
32bit build fixed, broken by a previous commit fixing build on Solaris
2011-11-08 21:00:52 +01:00
antirez
aa9a61ccd7
dict.c: added macros in dict.h to set signed and unsigned 64 bit values directly inside the hash entry without using additional memory.
2011-11-08 19:41:29 +01:00
antirez
c0ba9ebe13
dict.c API names modified to be more coincise and consistent.
2011-11-08 17:07:55 +01:00
antirez
71a50956b1
dict.c: added two lower level methods for directly manipulating hash entries. This is useful in order to set 64 bit integers as values directly inside the hash entry (in order to save memory), without casting, and even in 32 bit builds.
2011-11-08 16:57:20 +01:00
antirez
66d8818cb7
Merge branch 'unstable' into ttlres
2011-11-08 16:15:08 +01:00
antirez
b90314588f
useless double if removed.
2011-11-08 11:26:06 +01:00
antirez
b0a2e34059
yet another #if REDIS_MBULK_BIG_ARG removed.
2011-11-08 11:24:12 +01:00
antirez
53272781d0
Multi bulk optimization for creating big objects without copying data is no longer optional, #ifdefs removed. Also debugging messages removed.
2011-11-08 11:22:40 +01:00
antirez
65330badb9
hiredis/redis changes for speed with big payloads: read buffer size set
...
to 16k, request buffer size is no longer destroyed when emtpy and large
(better fix needed). Redis clients static output buffer set to 16k as
well.
2011-11-08 10:59:59 +01:00
antirez
d9747b496e
redis-benchmark: ability to run selected tests. Better help with examples.
2011-11-07 11:29:37 +01:00
antirez
7b86f5e6d5
csv output for redis-benchmark
2011-11-04 14:49:24 +01:00
antirez
410dfe90b2
PING / MSET benchmarks enabled again.
2011-11-04 11:20:19 +01:00
antirez
ca908473e8
A comment moved a few lines for clarity.
2011-11-04 11:18:15 +01:00
antirez
94d490b9f6
Added a define to set the size threshold to enable the multi bulk parsing big objects optimization.
2011-11-04 11:16:11 +01:00
antirez
826b5beb9c
further optimizations for the multi bulk protocol parsing code when big objects are transmitted to Redis.
2011-11-03 15:53:40 +01:00
antirez
9217095572
optimized object creation in multi-bulk protocol parsing
2011-11-02 17:30:19 +01:00
antirez
b8d743e181
sdsIncrLen() / sdsMakeRoomFor() used to avoid copying to intermediate buffer while reading the client query.
2011-11-02 16:52:45 +01:00
antirez
a54806ac6a
testhelp.h now exits with retcode 1 on failed tests.
2011-11-02 16:52:10 +01:00
antirez
dd5fbedf7b
I/O buffer length enlarged
2011-11-02 16:51:33 +01:00
antirez
d0b2a9b223
sdsMakeRoomFor() exposed as public API. sdsIncrLen() added. Both the changes make it possible to copy stuff from a system call to an sds buffer without the need of an additional buffer and copying overhead.
2011-11-02 16:50:59 +01:00
antirez
3526724594
added a comment to sdsMakeRoomFor() to make it clear what the function actually does.
2011-11-02 16:09:14 +01:00
antirez
6a7841eb09
added an union in the dict.h structure to store 64 bit integers directly into hash table entries.
2011-11-02 15:28:45 +01:00
Jason Davies
b91cbf66bb
Fix minor typos.
2011-11-01 19:58:09 +00:00
antirez
d569f39a77
removed the vmpointer structure that is no longer user in Redis >= 2.5.x
2011-10-31 15:47:12 +01:00
Salvatore Sanfilippo
404cd6450d
Merge pull request #170 from bnoordhuis/fix-sunos-build
...
build: fix sunos build, compile lua with __C99FEATURES__=1
2011-10-31 03:21:09 -07:00
antirez
aeecbdfae3
1fe4cd5
2011-10-31 11:14:24 +01:00
antirez
8996bf7720
7c6da73
2011-10-31 11:13:28 +01:00
antirez
58732c23d5
maxclients configuration is now implemented dealing with the actual process rlimits. Setting maxclients to 0 no longer makes sense and is now invalid, the new default is 10000.
...
See issue #162 for more information.
2011-10-31 10:49:27 +01:00
antirez
1eceb85ebc
It is now possible to disable password authentication via CONFIG SET. Thanks to Jan Oberst. This closes issue #171 .
2011-10-31 09:57:06 +01:00
Ben Noordhuis
b83e95830f
build: fix sunos build, compile lua with __C99FEATURES__=1
2011-10-30 03:20:00 +00:00
antirez
db6a2e7f78
Fixed a memory leak in redis-cli.c
2011-10-28 17:43:04 +02:00
antirez
e1cf460cf1
sds.c single quotes support
2011-10-28 17:31:40 +02:00
antirez
d8ba159b6c
use the more generic -BUSY error for idle scripts
2011-10-27 20:56:12 +02:00
antirez
115e3ff39e
If a Lua script executes for more time than the max time specified in the configuration Redis will log a warning, and will start accepting queries (re-entering the event loop), returning -SLOWSCRIPT error for all the commands but SHUTDOWN that remains callable.
2011-10-27 14:49:10 +02:00
Nathan Florea
bb48c5fa67
Set errno to 0 before calling strtol.
2011-10-26 13:01:24 +02:00
antirez
b508aeb994
Clear the AOF rewrite scheduled flag once an AOF rewrite is triggered. Fix for issue #161 , probably fixing 159 as well.
2011-10-26 12:53:30 +02:00
antirez
e089e61019
Don't timeout scripts if the instance is a slave.
2011-10-25 19:54:10 +02:00
antirez
e5abf6ef19
SCRIPT LOAD now returns the SHA1 instead of +OK
2011-10-25 14:46:15 +02:00
antirez
8cb8d417b1
Lau scripts default max execution time set to 5 seconds.
2011-10-25 12:10:15 +02:00
antirez
e8c993f0fb
Fixes for the scripting refactoring and new commands. Tests for the new features.
2011-10-25 11:19:15 +02:00
antirez
a9b07ac459
SCRIPT LOAD implemented, scripting eval command refactoring.
2011-10-25 10:25:59 +02:00
antirez
070e39454d
SCRIPT command for introspection and control of the scripting environment.
2011-10-24 22:47:00 +02:00