Commit Graph
4182 Commits
Author SHA1 Message Date
jonathan pickett fb12b5738d issue 154: [save ""] not working after fix for issue 153 2014-07-23 10:34:32 -07:00
jonathan pickett 9e191b4b58 setup changes in preparation for official Windows 2.8.12 release 2014-07-22 17:07:42 -07:00
jonathan pickett dbc7669fff issue 152: master DNS alias not resolving 2014-07-22 16:54:51 -07:00
jonathan pickett 5e05dad83a issue 153: command line parsing dying on imbalanced quotes in comments 2014-07-22 15:58:40 -07:00
jonathan pickett 192b285b14 corrected the TCP keepalive code for WinSock 2014-07-21 17:35:00 -07:00
jonathan pickett d47adb19ac improved path parsing for included conf files 2014-07-21 17:33:12 -07:00
jonathan pickett b7a045d747 Creation of QFork memory mapped file now respects the 'dir' .conf file directive. This allows for the QFork file to live in separate directory from the main executable. 2014-07-16 15:48:40 -07:00
jonathan pickett 4e71fc1c6f issue 145: there were a few places where our fwrite implementation was not used because of include file ordering 2014-07-15 13:13:04 -07:00
jonathan pickett 4df3af4e6e issue 146: changes to network layer between 2.8.9 and 2.8.12 broke IOCP async connect code 2014-07-14 19:57:21 -07:00
jonathan pickett 128f5b53de issue 148: post build step fails when current directory is not in path 2014-07-09 20:54:10 -07:00
jonathan pickett 88a62862d3 issue 144: spaces in path breaking QFork child launch 2014-07-07 15:22:26 -07:00
jonathan pickett deb9d5cb66 formatting changes 2014-07-03 20:01:08 -07:00
jonathan pickett 2f2985275b Updating readme.md for the latest build. Also tweaking the heap size requirement in the unit test configuration so that I can run more instances without running out of disk space. 2014-07-03 19:53:24 -07:00
jonathan pickett 52c98f5cb8 issue 126: fwrite() failure with buffers straddling page boundaries during background AOF save 2014-07-03 18:47:10 -07:00
jonathan pickett 9613f9a2a6 issue 143: Added more detailed error messages for ERROR_COMMITMENT_LIMIT and ERROR_DISK_FULL errors in QFork code. 2014-07-03 15:30:56 -07:00
jonathan pickett 96e0be50bb Merge branch '2.8antirez' into 2.8. Updates version from 2.8.9 to 2.8.12.
Conflicts:
	deps/hiredis/async.c
	deps/hiredis/examples/example-ae.c
	deps/hiredis/hiredis.c
	deps/hiredis/hiredis.h
	deps/hiredis/net.c
	deps/hiredis/net.h
	deps/jemalloc/COPYING
	deps/jemalloc/INSTALL
	deps/jemalloc/README
	deps/jemalloc/bin/pprof
	deps/jemalloc/config.guess
	deps/jemalloc/config.sub
	deps/jemalloc/include/jemalloc/internal/ckh.h
	deps/jemalloc/include/jemalloc/internal/hash.h
	deps/jemalloc/include/jemalloc/internal/prng.h
	deps/jemalloc/include/jemalloc/internal/ql.h
	deps/jemalloc/include/jemalloc/internal/qr.h
	deps/jemalloc/include/jemalloc/internal/quarantine.h
	deps/jemalloc/include/jemalloc/internal/rb.h
	deps/jemalloc/include/jemalloc/internal/tcache.h
	deps/jemalloc/include/jemalloc/internal/tsd.h
	deps/jemalloc/include/jemalloc/internal/util.h
	deps/jemalloc/src/bitmap.c
	deps/jemalloc/src/ckh.c
	deps/jemalloc/src/quarantine.c
	deps/jemalloc/src/tsd.c
	deps/jemalloc/test/integration/aligned_alloc.c
	deps/jemalloc/test/unit/bitmap.c
	src/aof.c
	src/redis-cli.c
	src/redis.h
	src/util.c
2014-07-01 22:54:48 -07:00
Kirk Shoop (MS OPEN TECH) a4d22bfa8c updated license urls win_2.8.9 2014-06-25 15:37:44 -07:00
Kirk Shoop (MS OPEN TECH) 8b9aa92123 added nuget release notes 2014-06-25 15:16:27 -07:00
Kirk Shoop (MS OPEN TECH) 084073fced Update package script and release notes 2014-06-25 12:09:56 -07:00
jonathan pickett 4600a06960 issue 136: --serviceName argument not recognized in config.c. 2014-06-24 17:39:47 -07:00
jonathan pickett b6e7f2d45e updated release notes for 2.8.9 nuget and chocolatey packages 2014-06-23 20:08:16 -07:00
jonathan pickett a14400a858 issue 134: command line parsing of [save ""] broken 2014-06-23 18:55:42 -07:00
antirez 32ebb3e651 Redis 2.8.12. 2.8.12 2014-06-23 16:56:18 +02:00
antirez 5d16a838db Sentinel test: more correct sentinels config reset.
In the initialization test for each instance we used to unregister the
old master and register it again to clear the config.
However there is a race condition doing this: as soon as we unregister
and re-register "mymaster", another Sentinel can update the new
configuration with the old state because of gossip "hello" messages.

So the correct procedure is instead, unregister "mymaster" from all the
sentinel instances, and re-register it everywhere again.
2014-06-23 14:04:09 +02:00
antirez d3c2918434 Sentinel implementation of ROLE. 2014-06-23 12:07:55 +02:00
antirez 95f492ee57 Silence different signs comparison warning in sds.c. 2014-06-23 11:53:50 +02:00
antirez 364464e790 Use Redis updated sds.c for deps/hiredis. 2014-06-23 11:53:45 +02:00
Matt Stancliff 8066334986 Sentinel: bind source address
Some deployments need traffic sent from a specific address.  This
change uses the same policy as Cluster where the first listed bindaddr
becomes the source address for outgoing Sentinel communication.

Fixes #1667
2014-06-23 11:53:40 +02:00
Matt Stancliff e59eef246b Add REDIS_BIND_ADDR access macro
We need to access (bindaddr[0] || NULL) in a few places, so centralize
access with a nice macro.
2014-06-23 11:53:25 +02:00
antirez a8ecd3f040 Dummy zmalloc.h restored into deps/hiredis. 2014-06-23 11:53:15 +02:00
Matt Stancliff 6ee25dc439 hiredis: Update to latest version
This is hiredis f225c276be7fd0646019b51023e3f41566633dfe

This update includes all changes that diverged inside of Redis since
the last update.  This version also allows optional source address
binding for connections which we need for some Sentinel deployments.
2014-06-23 11:53:12 +02:00
Matt Stancliff ed705f4789 Cancel SHUTDOWN if initial AOF is being written
Fixes #1826 (and many other reports of the same problem)
2014-06-23 10:09:25 +02:00
antirez 9a5408f23e Basic tests for the ROLE command. 2014-06-23 09:09:02 +02:00
antirez 061fd99767 Test: AOF test false positive when running in slow hosts.
The bug was triggered by running the test with Valgrind (which is a lot
slower and more sensible to timing issues) after the recent changes
that made Redis more promptly able to reply with the -LOADING error.
2014-06-21 16:04:20 +02:00
antirez 2b805ce119 Allow to call ROLE in LOADING state. 2014-06-21 15:29:12 +02:00
antirez 8c460a2872 ROLE command: array len fixed for slave output. 2014-06-21 15:29:11 +02:00
antirez 7d0992dad6 Sentinel: send SLAVEOF with MULTI, CLIENT KILL, CONFIG REWRITE.
This implements the new Sentinel-Client protocol for the Sentinel part:
now instances are reconfigured using a transaction that ensures that the
config is rewritten in the target instance, and that clients lose the
connection with the instance, in order to be forced to: ask Sentinel,
reconnect to the instance, and verify the instance role with the new
ROLE command.
2014-06-21 15:27:57 +02:00
antirez 674194ad42 CLIENT KILL API modified.
Added a new SKIPME option that is true by default, that prevents the
client sending the command to be killed, unless SKIPME NO is sent.
2014-06-21 15:27:57 +02:00
antirez 61d9a73d87 CLIENT KILL: fix closing link of the current client. 2014-06-21 15:27:57 +02:00
antirez 09dc6dadc1 New features for CLIENT KILL. 2014-06-21 15:27:57 +02:00
antirez cad13223f0 Assign an unique non-repeating ID to each new client.
This will be used by CLIENT KILL and is also a good way to ensure a
given client is still the same across CLIENT LIST calls.

The output of CLIENT LIST was modified to include the new ID, but this
change is considered to be backward compatible as the API does not imply
you can do positional parsing, since each filed as a different name.
2014-06-21 15:27:53 +02:00
antirez b6a26b52bf Client types generalized.
Because of output buffer limits Redis internals had this idea of type of
clients: normal, pubsub, slave. It is possible to set different output
buffer limits for the three kinds of clients.

However all the macros and API were named after output buffer limit
classes, while the idea of a client type is a generic one that can be
reused.

This commit does two things:

1) Rename the API and defines with more general names.
2) Change the class of clients executing the MONITOR command from "slave"
   to "normal".

"2" is a good idea because you want to have very special settings for
slaves, that are not a good idea for MONITOR clients that are instead
normal clients even if they are conceptually slave-alike (since it is a
push protocol).

The backward-compatibility breakage resulting from "2" is considered to
be minimal to care, since MONITOR is a debugging command, and because
anyway this change is not going to break the format or the behavior, but
just when a connection is closed on big output buffer issues.
2014-06-21 15:27:12 +02:00
antirez 8060de98f8 ROLE output improved for slaves.
Info about the replication state with the master added.
2014-06-21 15:27:12 +02:00
antirez 41a15205b6 ROLE command added.
The new ROLE command is designed in order to provide a client with
informations about the replication in a fast and easy to use way
compared to the INFO command where the same information is also
available.
2014-06-21 15:27:12 +02:00
antirez d8d415e717 CLIENT LIST speedup via peerid caching + smart allocation.
This commit adds peer ID caching in the client structure plus an API
change and the use of sdsMakeRoomFor() in order to improve the
reallocation pattern to generate the CLIENT LIST output.

Both the changes account for a very significant speedup.
2014-06-21 15:27:08 +02:00
antirez 52189cb9c3 Use sdscatfmt() in getClientInfoString() to make it faster. 2014-06-21 15:27:02 +02:00
antirez 4acc3daa92 Added new sdscatfmt() %u and %U format specifiers.
This commit also fixes a bug in the implementation of sdscatfmt()
resulting from stale references to the SDS string header after
sdsMakeRoomFor() calls.
2014-06-21 15:26:58 +02:00
antirez 3a915ace44 sdscatfmt() added to SDS library.
sdscatprintf() relies on printf() family libc functions and is sometimes
too slow in critical code paths. sdscatfmt() is an alternative which is:

1) Far less capable.
2) Format specifier uncompatible.
3) Faster.

It is suitable to be used in those speed critical code paths such as
CLIENT LIST output generation.
2014-06-21 15:26:54 +02:00
antirez ebc62a6f35 Jemalloc updated to 3.6.0.
Not a single bug in about 3 months, and our previous version was
too old (3.2.0).
2014-06-20 15:01:36 +02:00
antirez a0e0fba7fa Jemalloc update script added. 2014-06-20 14:53:47 +02:00