Commit Graph
4999 Commits
Author SHA1 Message Date
Enrico Giordani 31cffa2d98 [Cleanup] Code refactoring. 2015-08-20 13:20:53 +02:00
Enrico Giordani c6d00e3e89 [Cleanup] Removed WSACleanup mapping. 2015-08-20 13:20:52 +02:00
Enrico Giordani f4a8b2ea53 [Setup] NuGet description doesn't support Markdown.
[Setup] Updated version number.
2015-08-20 13:20:30 +02:00
Enrico Giordani efcdbcb830 [Portability] Explicit type casting. 2015-08-20 13:20:23 +02:00
Enrico Giordani 3cf09ffcd4 [Fix] Redis Server stops accepting connections.
After a client connection fails with error "Accepting client connection: accept:
Unknown error" the server stops accepting new client connections because another
accept isn't queued.
2015-08-20 13:20:23 +02:00
Enrico Giordani 705abbf6f2 [Fix] Set pipe to non-blocking.
If the child process has already exited, the parent should not wait forever
when reading from the pipe.
2015-08-20 13:20:22 +02:00
Enrico Giordani 1c26e8c63b [Fix] AOF rewrite not working.
Fix for issue https://github.com/MSOpenTech/redis/issues/275
An existing fix was not working in Release mode because the compiler
optimization was removing the code that forces the VEH to map the memory page.
2015-08-20 13:18:52 +02:00
Enrico Giordani f1d1162123 [Setup] Release number. 2015-07-26 14:32:34 +02:00
Enrico Giordani c0c30c4113 Merged tag 3.0.3 from antirez/3.0 into 3.0
Conflicts:
	deps/lua/src/lua_cmsgpack.c
	src/anet.c
	src/redis.c
	src/version.h
2015-07-23 17:57:14 +02:00
Enrico Giordani fc5eebd1b8 [Setup] Nuget/Chocolatey packages update.
[Change] Updated the ReleasePackagingTool to include all .pdb files.
[Change] Updated the nuget/chocolatey templates to conform with the guidelines:
         - Replaced the Redis logo with the Redis icon.
         - Changed the package title.
         - Changed the package description.
         - Removed the package summary to use a short version of the decription
           instead.
 [Change] Updated license.txt to 2015.
win-3.0.100-alpha1
2015-07-22 13:33:35 +02:00
Enrico Giordani a08fd29a33 [Setup] Windows release notes, sample configuration files. 2015-07-22 11:26:07 +02:00
Enrico Giordani 83bf3c6483 [Setup] Release notes and version number for the 3.0.100-alpha1 release. 2015-07-22 11:05:53 +02:00
Enrico Giordani 49591f08e9 [Cleanup] Casting, function declaration. 2015-07-22 10:26:26 +02:00
Enrico Giordani 1a65d62922 [Fix] Fixed some win32 potential bugs (by @zeliard)
(cherry picked from commit 02edfe4101a18d512717f9a7c4b8fd9eecf7fbac)

Conflicts:
	src/Win32_Interop/Win32_FDAPI.cpp
2015-07-22 09:57:16 +02:00
Enrico Giordani 05382e53b1 [Fix] Workaround for VirtualProtect failing while running the cluster tests. 2015-07-22 09:34:30 +02:00
Enrico Giordani cbde376880 [Test] Portability fix to support Ruby. 2015-07-22 09:31:46 +02:00
Enrico Giordani 71c8202d5d [Cleanup] Removed DebugBreak() calls. 2015-07-20 18:51:32 +02:00
Enrico Giordani 1c76f123b4 [Fix] Portability fixes taken from Azure. 2015-07-20 18:50:05 +02:00
Enrico Giordani d4e26e96e9 [Fix] Memory was not properly released at the end of the memory test.
[Change] Hard-coded memory test loops changed from 50 to 5.
2015-07-18 17:53:52 +02:00
Enrico Giordani f3c79aab56 [Fix] UnhandledExceptiontHandler internal exception handling. 2015-07-18 17:40:08 +02:00
Enrico Giordani 5287910a30 3.0 fixes: passing pipes from parent to child plus fixes from Azure. 2015-07-18 11:43:56 +02:00
Enrico Giordani a078f2080b [Change/Fix] Added API mapping for fclose/fileno.
[Change] RFDMap code refactoring.
2015-07-17 14:43:23 +02:00
Enrico Giordani c2432fcbc1 [WinPort] #ifndex _WIN32 -> POSIX_ONLY 2015-07-17 12:54:36 +02:00
antirez f15bf6c8f8 Redis 3.0.3. 3.0.3 2015-07-17 11:50:21 +02:00
Jan-Erik Rediger 9b0a47cbc8 Do not attempt to lock on Solaris 2015-07-17 11:04:24 +02:00
MOON_CLJ f22a9c0f78 pfcount support multi keys 2015-07-17 10:56:28 +02:00
Yongyue Sun a57aa8831e bugfix: errno might change before logging
Signed-off-by: Yongyue Sun <abioy.sun@gmail.com>
2015-07-17 10:47:26 +02:00
Tom Kiemes ad0082fde4 Fix: aof_delayed_fsync is not reset
aof_delayed_fsync was not set to 0 when calling CONFIG RESETSTAT
2015-07-17 10:39:30 +02:00
Enrico Giordani 4c7dedc77c [Fix] Code lost in bad merge. 2015-07-16 23:50:29 +02:00
Enrico Giordani 5155d74d58 [Fix] Memory corruption. Merged fix from Azure fork (by Mike Montwill).
"in-kernel writes don't always observe cow pages correctly".
https://github.com/Azure/redis/commit/69c780f8a62e6a96c3f64adf23004beac7a90abf

(cherry picked from commit 2b7dc05763)

Conflicts:
	src/ae_wsiocp.c
2015-07-16 23:16:01 +02:00
Enrico Giordani d83b171dbd [Cleanup] Code cleanup: variables initialization and validation.
(cherry picked from commit 24d0115bd6)

Conflicts:
	src/Win32_Interop/win32_wsiocp.c
2015-07-16 23:12:56 +02:00
Enrico Giordani 1efe1ff372 [Change] Rolled back "Workaround for getpeername() issue".
The workaround https://github.com/MSOpenTech/redis/commit/0f79d723965a46e59dfbd239ad66c2d7c4bf5eeb is not anymore required since the root problem has been fixed (in another commit).

(cherry picked from commit 2b502cfb16)

Conflicts:
	src/Win32_Interop/win32fixes.h
	src/anet.c
2015-07-16 23:10:40 +02:00
Enrico Giordani c9e79c108e Spelling. 2015-07-16 12:16:33 +02:00
Enrico Giordani a822725873 [Cleanup] Code refactoring to minimize changes in antirez code. 2015-07-16 11:48:46 +02:00
antirez b029ff11b6 Client timeout handling improved.
The previos attempt to process each client at least once every ten
seconds was not a good idea, because:

1. Usually because of the past min iterations set to 50, you get much
better processing period most of the times.

2. However when there are many clients and a normal setting for
server.hz, the edge case is triggered, and waiting 10 seconds for a
BLPOP that asked for 1 second is not ok.

3. Moreover, because of the high min-itereations limit of 50, when HZ
was set to an high value, the actual behavior was to process a lot of
clients per second.

Also the function checking for timeouts called gettimeofday() at each
iteration which can be costly.

The new implementation will try to process each client once per second,
gets the current time as argument, and does not attempt to process more
than 5 clients per iteration if not needed.

So now:

1. The CPU usage of an idle Redis process is the same or better.
2. The CPU usage of a busy Redis process is the same or better.
3. However a non trivial amount of work may be performed per iteration
when there are many many clients. In this particular case the user may
want to raise the "HZ" value if needed.

Btw with 4000 clients it was still not possible to noticy any actual
latency created by processing 400 clients per second, since the work
performed for each client is pretty small.
2015-07-16 11:03:40 +02:00
antirez 5dcba26b31 Clarify a comment in clientsCron(). 2015-07-16 11:03:40 +02:00
antirez 7ae1d4d6f5 EXISTS is now variadic.
The new return value is the number of keys existing, among the ones
specified in the command line, counting the same key multiple times if
given multiple times (and if it exists).

See PR #2667.
2015-07-13 18:23:18 +02:00
Enrico Giordani 3b6be24241 Fixed regression: %Iu -> %lu. Formatting. 2015-07-12 16:58:13 +02:00
Enrico Giordani baee0011f7 Renamed function. 2015-07-12 16:57:10 +02:00
Enrico Giordani 65d73c9db0 Removed unused include. 2015-07-12 16:54:40 +02:00
Enrico Giordani 8ed006ab29 Replaced #ifndef _WIN32 with POSIX_ONLY() macro. 2015-07-12 16:52:35 +02:00
Enrico Giordani ec982a5723 Win32 portability fix. 2015-07-12 16:51:31 +02:00
Enrico Giordani e2f208c83f Formatting. 2015-07-12 16:50:19 +02:00
Enrico Giordani 30cc5d4102 Formatting, code cleanup. 2015-07-12 16:49:29 +02:00
Enrico Giordani 840a0678ff Formatting, code cleanup. 2015-07-12 16:24:43 +02:00
Enrico Giordani 2a3e193c57 Formatting, code cleanup. 2015-07-12 15:09:41 +02:00
Enrico Giordani 425574d15d Removed the forkedProcessReady event.
The event was used to wait for the child process to map the memory, but it's
not required since the memory is already VirtualProtect(ed).
2015-07-09 22:14:53 +02:00
Enrico Giordani 33e073f8f0 Tests portability fixes. 2015-07-09 17:32:37 +02:00
Enrico Giordani 9d8b942b2a tabs -> spaces, minor code refactoring. 2015-07-09 17:31:31 +02:00
Enrico Giordani 68d94fe9b7 WIN32 Portability fixes: %lu -> %Iu ('i' uppercase). 2015-07-09 13:45:47 +02:00