antirez
06e76bc3e2
Better read-only behavior for expired keys in slaves.
...
Slaves key expire is orchestrated by the master. Sometimes the master
will send the synthesized DEL to expire keys on the slave with a non
trivial delay (when the key is not accessed, only the incremental expiry
algorithm will expire it in background).
During that time, a key is logically expired, but slaves still return
the key if you GET (or whatever) it. This is a bad behavior.
However we can't simply trust the slave view of the key, since we need
the master to be able to send write commands to update the slave data
set, and DELs should only happen when the key is expired in the master
in order to ensure consistency.
However 99.99% of the issues with this behavior is when a client which
is not a master sends a read only command. In this case we are safe and
can consider the key as non existing.
This commit does a few changes in order to make this sane:
1. lookupKeyRead() is modified in order to return NULL if the above
conditions are met.
2. Calls to lookupKeyRead() in commands actually writing to the data set
are repliaced with calls to lookupKeyWrite().
There are redundand checks, so for example, if in "2" something was
overlooked, we should be still safe, since anyway, when the master
writes the behavior is to don't care about what expireIfneeded()
returns.
This commit is related to #1768 , #1770 , #2131 .
2014-12-10 16:10:21 +01:00
Salvatore Sanfilippo
1aa2f9357c
Merge pull request #2133 from chooper/histfile-override
...
override histfile from env - fixes #831 and copies #833
2014-12-10 15:28:41 +01:00
Salvatore Sanfilippo
3da87b70dd
Merge pull request #2133 from chooper/histfile-override
...
override histfile from env - fixes #831 and copies #833
2014-12-10 15:28:41 +01:00
antirez
8a03ffa160
Sentinel: INFO-CACHE comments reworked a bit.
...
Changed in order to make them more review friendly, based on the
experience of reviewing the code myself.
2014-12-10 11:15:13 +01:00
antirez
d8158771b5
Sentinel: INFO-CACHE comments reworked a bit.
...
Changed in order to make them more review friendly, based on the
experience of reviewing the code myself.
2014-12-10 11:15:13 +01:00
antirez
3f2975ad12
Sentinel: INFO-CACHE GCC minior code cleanup.
...
I guess the initial goal of the initialization was to suppress GCC
warning, but if we have to initialize, we can do it with the base-case
value instead of NULL which is never retained.
2014-12-10 11:12:26 +01:00
antirez
c83a917286
Sentinel: INFO-CACHE GCC minior code cleanup.
...
I guess the initial goal of the initialization was to suppress GCC
warning, but if we have to initialize, we can do it with the base-case
value instead of NULL which is never retained.
2014-12-10 11:12:26 +01:00
antirez
043ae412ca
Sentinel: removed useless flag var from INFO-CACHE.
2014-12-10 11:05:37 +01:00
antirez
0422321617
Sentinel: removed useless flag var from INFO-CACHE.
2014-12-10 11:05:37 +01:00
antirez
71e4635ae9
Sentinel: INFO-CACHE reply format command shortened.
2014-12-10 11:04:24 +01:00
antirez
7576a27d58
Sentinel: INFO-CACHE reply format command shortened.
2014-12-10 11:04:24 +01:00
Salvatore Sanfilippo
2a8f657b3b
Merge pull request #2148 from mattsta/feature/sentinel/info-cache
...
Add SENTINEL INFO-CACHE [masters...]
2014-12-10 11:02:42 +01:00
Salvatore Sanfilippo
2d3f99a1b7
Merge pull request #2148 from mattsta/feature/sentinel/info-cache
...
Add SENTINEL INFO-CACHE [masters...]
2014-12-10 11:02:42 +01:00
antirez
b06903493f
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2014-12-10 09:51:00 +01:00
antirez
0b7f5e258a
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2014-12-10 09:51:00 +01:00
Salvatore Sanfilippo
8b2dbb7477
Merge pull request #2203 from Brochen/unstable
...
Update sds.c
2014-12-10 09:50:36 +01:00
Salvatore Sanfilippo
6a378dc312
Merge pull request #2203 from Brochen/unstable
...
Update sds.c
2014-12-10 09:50:36 +01:00
antirez
a6793ec030
test-sds target in Makefile to run sds.c tests.
2014-12-10 09:50:27 +01:00
antirez
0195afae39
test-sds target in Makefile to run sds.c tests.
2014-12-10 09:50:27 +01:00
antirez
1a5d6bf9f8
sds.c: more tests for sdstrim().
2014-12-10 09:48:56 +01:00
antirez
9bb4ef871e
sds.c: more tests for sdstrim().
2014-12-10 09:48:56 +01:00
Brochen
3b452712ea
Update sds.c
...
in the case (all chars of the string s found in 'cset' ),
line[573] will no more do the same thing line[572] did.
this will be more faster especially in the case that the string s is very long and all chars of string s found in 'cset'
2014-12-10 11:19:13 +08:00
Brochen
181300d4a7
Update sds.c
...
in the case (all chars of the string s found in 'cset' ),
line[573] will no more do the same thing line[572] did.
this will be more faster especially in the case that the string s is very long and all chars of string s found in 'cset'
2014-12-10 11:19:13 +08:00
Salvatore Sanfilippo
b55a5a2bcb
Merge pull request #2165 from sunheehnus/zipmap-read
...
zipmap.c: update comments above
2014-12-09 15:57:17 +01:00
Salvatore Sanfilippo
d2aa91ce1f
Merge pull request #2165 from sunheehnus/zipmap-read
...
zipmap.c: update comments above
2014-12-09 15:57:17 +01:00
Salvatore Sanfilippo
b00ed695ef
Merge pull request #2176 from deepakverma/redis_bench_authfix
...
redis-benchmark AUTH command to be discarded after the first send #2150
2014-12-09 15:24:44 +01:00
Salvatore Sanfilippo
562e72943b
Merge pull request #2176 from deepakverma/redis_bench_authfix
...
redis-benchmark AUTH command to be discarded after the first send #2150
2014-12-09 15:24:44 +01:00
Salvatore Sanfilippo
dcbccce614
Merge pull request #2119 from sunheehnus/unstable
...
sds.c/sdscatvprintf: va_end needs to be fixed
2014-12-09 15:13:05 +01:00
Salvatore Sanfilippo
c58db75a69
Merge pull request #2119 from sunheehnus/unstable
...
sds.c/sdscatvprintf: va_end needs to be fixed
2014-12-09 15:13:05 +01:00
antirez
26b5bd7ef5
Include stropts only if __sun is defined.
2014-12-09 12:59:46 +01:00
antirez
5f5a9f0d14
Include stropts only if __sun is defined.
2014-12-09 12:59:46 +01:00
Salvatore Sanfilippo
bf0896307b
Merge pull request #2177 from badboy/solaris-ioctl-warn-fix
...
Fix implicit declaration of ioctl on Solaris
2014-12-09 12:57:22 +01:00
Salvatore Sanfilippo
f04ec18a36
Merge pull request #2177 from badboy/solaris-ioctl-warn-fix
...
Fix implicit declaration of ioctl on Solaris
2014-12-09 12:57:22 +01:00
Salvatore Sanfilippo
df397740c1
Merge pull request #2179 from sunheehnus/bitops-read
...
bitops.c/redisPopcount: optimization in loop
2014-12-09 12:46:15 +01:00
Salvatore Sanfilippo
87f1e27b27
Merge pull request #2179 from sunheehnus/bitops-read
...
bitops.c/redisPopcount: optimization in loop
2014-12-09 12:46:15 +01:00
Salvatore Sanfilippo
cb1c8a4300
Merge pull request #2189 from jbergstroem/glibc_220_default_warn
...
Silence _BSD_SOURCE warnings in glibc 2.20 and forward
2014-12-09 12:24:04 +01:00
Salvatore Sanfilippo
b4b4192f19
Merge pull request #2189 from jbergstroem/glibc_220_default_warn
...
Silence _BSD_SOURCE warnings in glibc 2.20 and forward
2014-12-09 12:24:04 +01:00
antirez
ea53a9918e
Mark whatisdoing.sh as deprecated in top-comment.
2014-12-09 12:18:34 +01:00
antirez
5b2bbef9fc
Mark whatisdoing.sh as deprecated in top-comment.
2014-12-09 12:18:34 +01:00
Salvatore Sanfilippo
beb39015a0
Merge pull request #2192 from sergeyklay/patch-1
...
getting pid fixes
2014-12-09 12:09:08 +01:00
Salvatore Sanfilippo
4dab282145
Merge pull request #2192 from sergeyklay/patch-1
...
getting pid fixes
2014-12-09 12:09:08 +01:00
Salvatore Sanfilippo
f2af27f04c
Merge pull request #2197 from sunheehnus/sparkline
...
sparkline.c: mov label-ini into the AddSample Function
2014-12-09 11:27:40 +01:00
Salvatore Sanfilippo
4b03be6d2f
Merge pull request #2197 from sunheehnus/sparkline
...
sparkline.c: mov label-ini into the AddSample Function
2014-12-09 11:27:40 +01:00
Salvatore Sanfilippo
7e47299aa5
Merge pull request #2200 from badboy/iss2066-additional
...
Only ignore sigpipe in interactive mode
2014-12-09 08:59:49 +01:00
Salvatore Sanfilippo
b2eb202281
Merge pull request #2200 from badboy/iss2066-additional
...
Only ignore sigpipe in interactive mode
2014-12-09 08:59:49 +01:00
Jan-Erik Rediger
95f157c35a
Only ignore sigpipe in interactive mode
...
This allows shell pipes to correctly end redis-cli.
Ref #2066
2014-12-09 00:58:42 +01:00
Jan-Erik Rediger
7ecb880168
Only ignore sigpipe in interactive mode
...
This allows shell pipes to correctly end redis-cli.
Ref #2066
2014-12-09 00:58:42 +01:00
Sun He
a2d667d2b7
sparkline.c: AddSample skip Empty label
2014-12-08 11:43:32 +08:00
Sun He
07a9e44b86
sparkline.c: AddSample skip Empty label
2014-12-08 11:43:32 +08:00
Sun He
c965d0425d
sparkline.c: mov label-ini into the AddSample Function
2014-12-08 11:15:06 +08:00