Commit Graph
4395 Commits
Author SHA1 Message Date
Alexis Campailla a659c7c13a Merge commit 'c94db2ba3849ffe2ae1b3da04bd2860a601afcd5' into release-2.8.17
Conflicts:
	bin/release/redis-2.8.17.zip
win-2.8.17.2
2014-12-23 15:01:22 +01:00
Alexis Campailla c94db2ba38 Fix missing time functions initialization in redis-benchmark
Commit 08e4226e59 broke redis-benchmark.

Made time function initialization automatic on first execution.
Added explicit initialization of time functions in redis-benchmark, to
avoid additional cost on first benchmark execution.
2014-12-20 18:03:34 +01:00
Alexis Campailla 3b1d4ec032 Move release binaries to release page
Adopting the suggestions at https://github.com/MSOpenTech/redis/issues/172
We no longer commit the binaries into the repo.
Instead, we create periodic releases on the release page.
win-2.8.17.1
2014-12-16 16:36:10 +01:00
Alexis Campailla 08e4226e59 Revisit time functions
Addressing https://github.com/MSOpenTech/redis/issues/188

- Made gettimeofday use GetSystemTimePreciseAsFileTime when available
- Introduced definitions for gettimeofday_fast and gettimeofday_precise,
  so that calls can be specialized based on specific usage requirements
- Introduced GetHighResRelativeTime, for high-resolution relative time
  measurements on all Windows versions.
2014-12-04 18:26:53 +01:00
Alexis Campailla 7827f41357 Issue 173: add child process log messages to main log file
Slave processes were not using the master process log file.
On Unix this is relying on the server.logfile variable being available
to the slave processes through fork(), and reopening the logfile
in the slaves (on every log event).
On Windows we don't use server.logfile and require an explicity call
to setLogFile.
I resorted to explicitly passing the logfile to the slaves as a
command line argument, so the logfile argument (and logging) can be
available to the slave before qfork and globals setup have completed.

Writing to the same file atomically from multiple processes requires
using CreateFile with FILE_APPEND_DATA, instead of fopen, which provides
atomicity on Unix but not on Windows.

Also changed the implementation to not reopen the logfile on every
log event, and not flushing the file on every write. Performance is
dramaticaly improved this way.
2014-12-04 16:02:45 +01:00
unknown eb88474985 issue 181: config file ignored when --service-name argument passed 2014-11-13 16:41:51 -08:00
unknown 9acbc2cc68 issue 182: provide docx file content as github markdown for easier reading for those without a .docx file viewer. 2014-11-08 23:02:51 -08:00
unknown 0287e7da15 binaries for issue 170 2014-11-05 15:39:56 -08:00
unknown 47406f9591 issue 170: Patching part of the LP64/LLP64 ABI issue in order to ease immediate replication pain. 2014-11-05 15:39:34 -08:00
Jonathan Pickett 29fa2f09a4 Replaced WIN32_IOCP guard around QueryPerformnaceCounter code with _WIN32. Updating binary package. 2014-10-28 22:01:00 -07:00
Jonathan Pickett 063be1b6be Merge pull request #186 from deepakverma/2.8
Using QueryPerformancecounter to measure latency in redis-benchmark.exe
2014-10-28 21:03:53 -07:00
deepakv 7c6644442b Using QueryPerformancecounter to measure latency in redis-benchmark.exe
Redis-benchmark on windows seems to be not able to calculate the time granularity in micro seconds.
     Came across this article http://msdn.microsoft.com/en-us/library/windows/desktop/dn553408(v=vs.85).aspx and updated the benchmark for latency measurements accordingly.

     Windows:
     Following is output from windows for micro seconds taken for each request. Where for any request taking less than 1 ms is being calculated as 0
     redis-benchmark.exe -h <azurerediscache> -a pwd -c 1 -d 1024 -t get -n 10
     0,0,0,0,0,0,0,0

     Linux:
     src/redis-benchmark -h <azurerediscache> -a pwd -c 1 -d 1024 -t get -n 10
     792,800,808,820,837,845,888,891,971,2498

     After the change on windows now it shows following:
     796,809,887,890,893,943,944,974
2014-10-23 12:10:18 -07:00
jonathan pickett 18d1138e75 redis-server not being built in debug because of project configuration manager setting 2014-10-01 15:46:58 -07:00
jonathan pickett 450fd83a9a I found a case where the temp-rewriteaof-old-xxxx.aof files were not being deleted. Added the _O_TEMPORARY flag to the open() call to guarantee that the underlying CreateFile call is being called with the FILE_FLAG_DELETE_ON_CLOSE. 2014-10-01 15:43:31 -07:00
jonathan pickett bd27d3bd9b Restoring the ability to compile without IOCP. To do so remove the WIN32_IOCP definition in the C/C++\Preporcessor\Preprocessor Definitions in all projects. Performance is 30-40% better with IOCP. 2014-09-23 15:28:38 -07:00
jonathan pickett a9e3429538 issue 169: missed adding app.config 2014-09-21 13:04:33 -07:00
jonathan pickett 51cac40c73 Added a project to take current redis version number in src\version.h and propagate this number into the release documentation and the name of the release zip file. This replaces the powershell script used previously to build the binary release package zip. 2014-09-19 17:12:12 -07:00
jonathan pickett 96898fa51c Merge branch '2.8antirez' into 2.8 2014-09-19 12:09:05 -07:00
antirez ade6c5e782 Redis 2.8.17 2.8.17 2014-09-19 17:49:16 +02:00
Matt Stancliff cf143b571e Fix hiredis getaddrinfo leak
Fixed in Redis by 1a5e5b6, but since that part of code
is largely copy/paste from Redis, the fix needs to be
ported over too.

Closes #2012
2014-09-19 14:21:36 +02:00
jonathan pickett c7b6d311df finishing 2.8.15-->2.8.16 version update 2014-09-16 18:53:49 -07:00
jonathan pickett 18534064c9 merge antirez changes 2.8.15-->2.8.16 2014-09-16 17:05:36 -07:00
antirez a69534967b Redis 2.8.16. 2.8.16 2014-09-16 15:15:56 +02:00
antirez 5e38bc389c Better truncated AOF loading tests.
Now there are tests to write more data after loading a truncated AOF,
testing that the loaded data is correct, appending more, and testing
again.
2014-09-16 11:05:50 +02:00
antirez 01f7db608d Seek at the end of AOF after truncate call.
It is not clear if files open in append only mode will automatically fix
their offset after a truncate(2) operation. This commit makes sure that
we reposition the AOF file descriptor offset at the end of the file
after a truncated AOF is loaded and trimmed to the last valid command.
2014-09-16 11:05:50 +02:00
antirez 9faeff0215 On AOF end of file, truncate the AOF to last valid command.
Recently we introduced the ability to load truncated AOFs, but
unfortuantely the support was broken since the server, after loading the
truncated AOF, continues appending to the file that is corrupted at the
end. The problem is fixed only in the next AOF rewrite.

This commit fixes the issue by truncating the AOF to the last valid
opcode, and aborting if it is not possible to truncate the file
correctly.
2014-09-16 10:41:15 +02:00
antirez fbd9dc6039 Don't propagate SAVE.
This is a general fix (check that dirty delta is positive) but actually
should have as the only effect fixing the SAVE propagation to
AOF and slaves.
2014-09-16 10:41:15 +02:00
jonathan pickett 915c0dd656 Merge changes from Posix Redis through 2.8.15 into MSOpenTech branch 2014-09-15 18:10:10 -07:00
antirez 551ffc486c version.h updated to 2.8.15. 2.8.15 2014-09-12 16:16:58 +02:00
antirez 78dca8977f Redis 2.8.15. 2014-09-12 16:15:48 +02:00
antirez a6695e341b Sentinel sentinelGetLeader() top comment improved. 2014-09-11 19:28:10 +02:00
antirez 9fe4429a09 Sentinel: fix computation of total number of votes.
The code to check the number of voters was never updated to follow the new
Sentinel specification, so the number of voters was computed using only
the set of Sentinels that provided a vote.

This means that there is a changing majority on partitions, even if
usually the issue is not triggered because of the configured quorum
check (what was broken was the other implicit check that requires anyway
half of the known sentinels to agree in order to start a failover).
2014-09-11 19:28:09 +02:00
antirez 6fbcb19275 luaRedisGenericCommand() cached argv handling simplified.
As discussed in issue #1945.
2014-09-10 15:47:02 +02:00
xiaost 8375a6d0aa Limit the *SCAN command dictScan iterations
*SCAN will cause redis server to hang for seconds
after millions of keys was deleted by SCAN/DEL pairs
2014-09-10 09:58:20 +02:00
antirez 55024e9a9a Sentinel: don't set announce-ip if is empty. 2014-09-10 09:26:29 +02:00
antirez 3cc31da349 Sentinel: clarify announce-ip/port options in sentinel.conf. 2014-09-10 09:26:29 +02:00
antirez 8c3507aa8f Sentinel: announce ip/port changes + rewrite.
The original implementation was modified in order to allow to
selectively announce a different IP or port, and to rewrite the two
options in the config file after a rewrite.
2014-09-10 09:26:29 +02:00
Dara Kong 9f3abf436b sentinel: Decouple bind address from address sent to other sentinels
There are instances such as EC2 where the bind address is private
(behind a NAT) and cannot be accessible from WAN.

https://groups.google.com/d/msg/redis-db/PVVvjO4nMd0/P3oWC036v3cJ
2014-09-10 09:26:29 +02:00
jonathan pickett 874c21d801 issue 166: master/slave sync with RDB > 2G. cause: off_t defined as long. longs are 4-bytes on x64 Windows. Redefined impacted vars as int64_t. 2014-09-09 19:30:36 -07:00
antirez ff47d5ebf6 Tests for aof-load-truncated = yes. 2014-09-08 10:58:00 +02:00
antirez b3fdddfd1f AOF tests fixed turning aof-load-truncated to no.
When aof-load-truncated option was introduced, with a default of "yes",
the past behavior of the server to abort with trunncated AOF changed, so
we need to explicitly configure the tests to abort with truncated AOF
by setting the option to no.
2014-09-08 10:58:00 +02:00
antirez 670084b724 Make aof-load-truncated option actually configurable. 2014-09-08 10:58:00 +02:00
antirez 03a5c0ecb5 Correct cleanup when aborting AOF loading.
Because of the new ability to start with a truncated AOF, we need
to correctly release all the memory on EOF error. Otherwise there is a
small leak, that is not really a problem, but causes a false positive in
the tests that detect memory leaks.
2014-09-08 10:58:00 +02:00
antirez 683cf5b872 AOF ability to load truncated files. 2014-09-08 10:57:57 +02:00
antirez 94f7979414 Test AOF format error detection. 2014-09-08 10:57:11 +02:00
antirez 537f3053fa AOF loading: split handling of format errors from unexpected EOF. 2014-09-08 10:57:10 +02:00
jonathan pickett 763d7b7c6a updated release notes for persistence-available flag 2014-09-06 14:46:26 -07:00
jonathan pickett 69a5ea090a 2.8.14 binaries with persistence-available flag 2014-09-06 14:38:11 -07:00
jonathan pickett b001508333 Merge branch '2.8' of https://github.com/MSOpenTech/redis into 2.8 2014-09-06 14:23:46 -07:00
jonathan pickett 0c3a93b8a2 adding persistence-available flag 2014-09-06 14:23:36 -07:00