184 Commits

Author SHA1 Message Date
John Sully
aa76a89a9a Merge branch 'unstable' of https://github.com/antirez/redis into unstable
Former-commit-id: be3cb1ad3386f382ed7506dbfd1adb810e327007
2019-03-14 14:22:27 -04:00
antirez
e8568bb341 Fix objectSetLRUOrLFU() when LFU underflows. 2019-03-14 17:06:59 +01:00
antirez
9c504573f1 Improve comments after merging #5834. 2019-03-14 12:47:36 +01:00
John Sully
25c2050c3a Module threading fixes
Former-commit-id: 2785a8b4d40b09caea5e209ab49fc5f1484981a8
2019-03-07 19:13:01 -05:00
John Sully
93ac479418 Crash in Memory Doctor when all clients are slaves
Former-commit-id: f6814aa82564ad1b095edefeda9541859cbbb804
2019-03-03 13:56:47 -05:00
John Sully
554012085c All tests pass single thread 2019-02-23 00:09:34 -05:00
John Sully
dbd82f6bfc Lock use after free 2019-02-22 21:00:14 -05:00
John Sully
174e9fe809 fix corruption in object size optimization 2019-02-22 17:45:50 -05:00
John Sully
30e8a859c0 Prevent mixed up client replies, and deadlocks 2019-02-22 01:24:16 -05:00
John Sully
627c19e02f Multithreading works! 2019-02-20 01:20:26 -05:00
Guy Benoish
9cd3b12cdf Trim SDS free space of retained module strings
In some cases processMultibulkBuffer uses sdsMakeRoomFor to
expand the querybuf, but later in some cases it uses that query
buffer as is for an argv element (see "Optimization"), which means
that the sds in argv may have a lot of wasted space, and then in case
modules keep that argv RedisString inside their data structure, this
space waste will remain for long (until restarted from rdb).
2019-02-12 14:21:21 +01:00
John Sully
f6736cd713 Reduce memory usage for in place strings by 8 bytes 2019-02-09 13:04:18 -05:00
John Sully
cd8145e314 Make main headers C++ safe, and change rdb to use file descriptor instead of FILE pointer 2019-02-05 23:36:40 -05:00
John Sully
3e61388df3 complete malloc memory class work, and pass tests 2019-02-04 16:56:13 -05:00
John Sully
4a84628bf0 Support configurable file backed scratch 2019-02-01 13:54:59 -05:00
John Sully
bac51d5ac4 Custom flash heap 2019-01-29 18:10:46 -05:00
antirez
c8304b099d RESP3: most null replies converted. 2019-01-09 17:00:29 +01:00
antirez
711abc03f1 RESP3: Use new deferred len API in object.c. 2019-01-09 17:00:29 +01:00
zhaozhao.zz
1e8605400b MEMORY command: make USAGE more accurate
In MEMORY USAGE command, we count the key argv[2] into usage,
but the argument in command may contains free spaces because of
sdsMakeRoomFor. But the key in db never contains free spaces
because we use sdsdup when dbAdd, so using the real key to
count the usage is more accurate.
2018-11-29 01:01:51 +08:00
antirez
3fd976a78c MEMORY command: make strcasecmp() conditional like the following. 2018-11-06 18:15:51 +01:00
Salvatore Sanfilippo
5dd561b484 Merge pull request #4526 from itamarhaber/memory_help
Standardizes `MEMORY HELP` subcommand
2018-11-06 18:13:17 +01:00
Salvatore Sanfilippo
f588805a52 Merge pull request #5453 from damz/pr/aof-buffer-evict
Overhead is the allocated size of the AOF buffer, not its length
2018-10-24 12:28:28 +02:00
Damien Tournoud
8b3154a0ea Overhead is the allocated size of the AOF buffer, not its length 2018-10-16 11:47:42 -07:00
hujiecs
57e64d5e62 several typos fixed, optimize MSETNX to avoid unnecessary loop 2018-10-16 15:48:03 +08:00
Salvatore Sanfilippo
159531c1c9 Merge pull request #5242 from oranagra/script_mem
script cache memory in INFO and MEMORY includes both script code and overheads
2018-10-02 16:03:05 +02:00
antirez
e670825ef9 Slave removal: remove slave from object.c. 2018-09-11 15:32:28 +02:00
Oran Agra
cdda01edef script cache memory in INFO and MEMORY includes both script code and overheads 2018-08-13 17:36:54 +03:00
antirez
d1e07d021e Change 42 to 1000 as warning level for cached scripts.
Related to #4883.
2018-07-23 18:44:58 +02:00
Salvatore Sanfilippo
63171b81b0 Merge pull request #4883 from itamarhaber/lua_scripts-in-info-memory
Adds memory information about the scripts' cache to INFO
2018-07-23 18:43:05 +02:00
Itamar Haber
a3c4ec8a84 Adds Lua overheads to MEMORY STATS, smartens the MEMORY DOCTOR 2018-07-22 21:16:00 +03:00
antirez
938d879c2a addReplySubSyntaxError() renamed to addReplySubcommandSyntaxError(). 2018-07-02 18:49:34 +02:00
Salvatore Sanfilippo
c44be0ab9b Merge pull request #4998 from itamarhaber/module_command_help
Module command help
2018-07-02 18:46:56 +02:00
Salvatore Sanfilippo
782db3117e Merge pull request #5051 from oranagra/streams_mem_estimate
fix streams memory estimation, missing raxSeek
2018-06-21 17:36:28 +02:00
Oran Agra
74c1fbbb9b fix streams memory estimation, missing raxSeek 2018-06-21 17:58:29 +03:00
Guy Benoish
4330bc3e3a Enhance RESTORE with RDBv9 new features
RESTORE now supports:
1. Setting LRU/LFU
2. Absolute-time TTL

Other related changes:
1. RDB loading will not override LRU bits when RDB file
   does not contain the LRU opcode.
2. RDB loading will not set LRU/LFU bits if the server's
   maxmemory-policy does not match.
2018-06-20 15:11:08 +07:00
antirez
1c783a2051 Refactor createObjectFromLongLong() to be suitable for value objects. 2018-06-18 16:55:16 +02:00
Itamar Haber
8f2e77dd23 Globally applies addReplySubSyntaxError 2018-06-07 18:39:36 +03:00
Salvatore Sanfilippo
bd1cba552f Merge pull request #4953 from soloestoy/fix-memory-overhead
MEMORY: fix the missing of monitor clients buffers
2018-05-31 17:31:24 +02:00
antirez
eb71d70571 Capitalize OBJECT HELP subcommands. 2018-05-31 17:11:46 +02:00
zhaozhao.zz
562a2931e7 MEMORY: fix the missing of monitor clients buffers 2018-05-27 16:34:58 +08:00
Salvatore Sanfilippo
2ceff42a53 Merge pull request #4703 from gechunlin/unstable
Update object.c
2018-03-22 16:32:45 +01:00
Salvatore Sanfilippo
d799fdf733 Merge pull request #4691 from oranagra/active_defrag_v2
Active defrag v2
2018-03-22 09:16:32 +01:00
antirez
18b62c3abd Streams: improve MEMORY USAGE computation, include CGs. 2018-03-20 17:50:40 +01:00
Oran Agra
5805907825 Adding real allocator fragmentation to INFO and MEMORY command + active defrag test
other fixes / improvements:
- LUA script memory isn't taken from zmalloc (taken from libc malloc)
  so it can cause high fragmentation ratio to be displayed (which is false)
- there was a problem with "fragmentation" info being calculated from
  RSS and used_memory sampled at different times (now sampling them together)

other details:
- adding a few more allocator info fields to INFO and MEMORY commands
- improve defrag test to measure defrag latency of big keys
- increasing the accuracy of the defrag test (by looking at real grag info)
  this way we can use an even lower threshold and still avoid false positives
- keep the old (total) "fragmentation" field unchanged, but add new ones for spcific things
- add these the MEMORY DOCTOR command
- deduct LUA memory from the rss in case of non jemalloc allocator (one for which we don't "allocator active/used")
- reduce sampling rate of the rss and allocator info
2018-03-12 15:08:52 +02:00
Salvatore Sanfilippo
601420cb73 Merge pull request #3828 from oranagra/sdsnewlen_pr
add SDS_NOINIT option to sdsnewlen to avoid unnecessary memsets.
2018-02-27 04:04:32 -08:00
gechunlin
c3ea278f44 Update object.c 2018-02-22 20:57:54 -06:00
Salvatore Sanfilippo
65c86ab4a4 Merge pull request #3745 from guybe7/unstable
enlarged buffer given to ld2string
2018-02-13 15:50:21 +01:00
gnuhpc
35b38d789a Fix memory usage list bug 2018-01-05 12:16:24 +08:00
Itamar Haber
8f4aff385c Uppercases subcommands in OBJECT HELP 2017-12-15 21:21:12 +02:00
Itamar Haber
3c860af353 Uppercases subcommands in MEMORY HELP 2017-12-15 21:19:41 +02:00