Oran Agra
1f2ed12d07
slave buffers were wasteful and incorrectly counted causing eviction
...
A) slave buffers didn't count internal fragmentation and sds unused space,
this caused them to induce eviction although we didn't mean for it.
B) slave buffers were consuming about twice the memory of what they actually needed.
- this was mainly due to sdsMakeRoomFor growing to twice as much as needed each time
but networking.c not storing more than 16k (partially fixed recently in 237a38737).
- besides it wasn't able to store half of the new string into one buffer and the
other half into the next (so the above mentioned fix helped mainly for small items).
- lastly, the sds buffers had up to 30% internal fragmentation that was wasted,
consumed but not used.
C) inefficient performance due to starting from a small string and reallocing many times.
what i changed:
- creating dedicated buffers for reply list, counting their size with zmalloc_size
- when creating a new reply node from, preallocate it to at least 16k.
- when appending a new reply to the buffer, first fill all the unused space of the
previous node before starting a new one.
other changes:
- expose mem_not_counted_for_evict info field for the benefit of the test suite
- add a test to make sure slave buffers are counted correctly and that they don't cause eviction
2018-07-16 16:43:42 +03:00
zhaozhao.zz
73306c6fed
Streams: correctly propagate xdel if needed
2018-07-16 20:48:07 +08:00
zhaozhao.zz
cdbe9d2c23
Streams: correctly propagate xdel if needed
2018-07-16 20:48:07 +08:00
antirez
103c5a1a3c
Add a few comments to streamIteratorRemoveEntry().
2018-07-16 12:41:55 +02:00
antirez
df8d210c7e
Add a few comments to streamIteratorRemoveEntry().
2018-07-16 12:41:55 +02:00
Salvatore Sanfilippo
a317f55d25
Merge pull request #5131 from soloestoy/optimize-xdel
...
Streams: free lp if all elements are deleted
2018-07-16 12:39:38 +02:00
Salvatore Sanfilippo
6c92429b55
Merge pull request #5131 from soloestoy/optimize-xdel
...
Streams: free lp if all elements are deleted
2018-07-16 12:39:38 +02:00
antirez
185e0d9cd8
Modify XINFO field from last-id to last-generated-id.
...
Related to #5129 .
2018-07-16 12:25:26 +02:00
antirez
1b9d47274a
Modify XINFO field from last-id to last-generated-id.
...
Related to #5129 .
2018-07-16 12:25:26 +02:00
zhaozhao.zz
c9324f81a2
Streams: free lp if all elements are deleted
2018-07-16 15:57:41 +08:00
zhaozhao.zz
97335c7baa
Streams: free lp if all elements are deleted
2018-07-16 15:57:41 +08:00
paule
b6ce7d5ddc
Update dict.c
...
change coding style.
2018-07-16 14:29:59 +08:00
paule
3fb051b8da
Update dict.c
...
change coding style.
2018-07-16 14:29:59 +08:00
zhaozhao.zz
b4ba5ac840
Streams: show last id for streams and groups
2018-07-16 13:24:54 +08:00
zhaozhao.zz
3c2425daf5
Streams: show last id for streams and groups
2018-07-16 13:24:54 +08:00
peterpaule
816fc6cbc6
remove one ineffective loop in dictGetSomeKeys.
2018-07-16 11:28:22 +08:00
peterpaule
0ef23ec9f1
remove one ineffective loop in dictGetSomeKeys.
2018-07-16 11:28:22 +08:00
Oran Agra
b05a22e261
bugfix in sdsReqType creating 64bit sds headers on 32bit systems
2018-07-15 18:24:18 +03:00
Oran Agra
72edb9426b
bugfix in sdsReqType creating 64bit sds headers on 32bit systems
2018-07-15 18:24:18 +03:00
dejun.xdj
491682a668
Streams: using streamCompareID() instead of direct compare in block.c.
2018-07-14 15:03:05 +08:00
dejun.xdj
369a6bd1e9
Streams: using streamCompareID() instead of direct compare in block.c.
2018-07-14 15:03:05 +08:00
dejun.xdj
a2177cd2b6
Streams: add streamCompareID() declaration in stream.h.
2018-07-14 15:02:24 +08:00
dejun.xdj
0484dbcf68
Streams: using streamCompareID() instead of direct compare.
2018-07-14 20:34:06 +08:00
dejun.xdj
80257dfa77
Streams: add streamCompareID() declaration in stream.h.
2018-07-14 15:02:24 +08:00
dejun.xdj
4b2b9999f0
Streams: using streamCompareID() instead of direct compare.
2018-07-14 20:34:06 +08:00
WuYunlong
2d4366c544
Accept write commands if persisting is disabled,
...
event if we do have problems persisting on disk
previously.
2018-07-14 09:06:23 +08:00
WuYunlong
d01a2d759e
Accept write commands if persisting is disabled,
...
event if we do have problems persisting on disk
previously.
2018-07-14 09:06:23 +08:00
andrewsensus
8dc08ae215
update leap year comment
2018-07-13 09:46:30 -06:00
andrewsensus
c16cdea67e
update leap year comment
2018-07-13 09:46:30 -06:00
Salvatore Sanfilippo
a44a59340c
Merge pull request #5119 from trevor211/fixSlowlogConfig
...
Fix slowlog config
2018-07-13 17:35:15 +02:00
Salvatore Sanfilippo
e7e70d9272
Merge pull request #5119 from trevor211/fixSlowlogConfig
...
Fix slowlog config
2018-07-13 17:35:15 +02:00
WuYunlong
d6ba4fd56d
Fix config set slowlog-log-slower-than and condition in createLatencyReport
2018-07-13 17:53:55 +08:00
WuYunlong
f8c4a65d99
Fix config set slowlog-log-slower-than and condition in createLatencyReport
2018-07-13 17:53:55 +08:00
artix
d4182a0a0d
Cluster Manager: more checks on --cluster-weight option.
2018-07-13 10:51:58 +02:00
artix
b81d389020
Cluster Manager: more checks on --cluster-weight option.
2018-07-13 10:51:58 +02:00
artix
d222eda9f0
Redis-trib deprecated: it no longer works and it
...
outputs a warning to the user.
2018-07-13 10:51:58 +02:00
artix
e2230c1c15
Redis-trib deprecated: it no longer works and it
...
outputs a warning to the user.
2018-07-13 10:51:58 +02:00
artix
513eb5728c
Cluster Manager: auth support (-a argument).
2018-07-13 10:51:58 +02:00
artix
d000b8f809
Cluster Manager: auth support (-a argument).
2018-07-13 10:51:58 +02:00
Shen Longxing
c2a85fb3c5
Delete unused role checking.
...
When check rdb file, it is unnecessary to check role.
2018-07-12 21:21:37 +08:00
Shen Longxing
4cb47f2e97
Delete unused role checking.
...
When check rdb file, it is unnecessary to check role.
2018-07-12 21:21:37 +08:00
Salvatore Sanfilippo
4cb5bd4e9d
Merge pull request #4820 from charpty/wip-serverc-simplify
...
Remove unnecessary return statements
2018-07-12 13:42:15 +02:00
Salvatore Sanfilippo
26e7d33b2c
Merge pull request #4820 from charpty/wip-serverc-simplify
...
Remove unnecessary return statements
2018-07-12 13:42:15 +02:00
antirez
b6260a0270
Streams: when re-delivering because of SETID, reset deliveries counter.
...
We don't want to increment the deliveries here, because the sysadmin
reset the consumer group so the desire is likely to restart processing,
and having the PEL polluted with old information is not useful but
probably confusing.
Related to #5111 .
2018-07-12 13:19:39 +02:00
antirez
5d98cedeb1
Streams: when re-delivering because of SETID, reset deliveries counter.
...
We don't want to increment the deliveries here, because the sysadmin
reset the consumer group so the desire is likely to restart processing,
and having the PEL polluted with old information is not useful but
probably confusing.
Related to #5111 .
2018-07-12 13:19:39 +02:00
antirez
a7c180e559
Simplify duplicated NACK #5112 fix.
...
We don't really need to distinguish between the case the consumer is the
same or is a different one.
2018-07-12 13:15:54 +02:00
antirez
eaf10517ec
Simplify duplicated NACK #5112 fix.
...
We don't really need to distinguish between the case the consumer is the
same or is a different one.
2018-07-12 13:15:54 +02:00
Salvatore Sanfilippo
bf4def0fbc
Merge pull request #5112 from 0xtonyxia/fix-xreadgroup-crash-after-setid
...
Streams: fix xreadgroup crash after xgroup SETID is sent.
2018-07-12 13:04:22 +02:00
Salvatore Sanfilippo
27229d1511
Merge pull request #5112 from 0xtonyxia/fix-xreadgroup-crash-after-setid
...
Streams: fix xreadgroup crash after xgroup SETID is sent.
2018-07-12 13:04:22 +02:00
tengfeng
9505dd2011
fix repeat argument issue and reduce unnessary loop times for redis-cli.
2018-07-10 20:58:01 +08:00