1. 18 Jun, 2019 1 commit
  2. 14 Mar, 2019 2 commits
  3. 12 Feb, 2019 1 commit
    • Guy Benoish's avatar
      Trim SDS free space of retained module strings · bdd9a800
      Guy Benoish authored
      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).
      bdd9a800
  4. 09 Jan, 2019 2 commits
  5. 28 Nov, 2018 1 commit
    • zhaozhao.zz's avatar
      MEMORY command: make USAGE more accurate · d56c6313
      zhaozhao.zz authored
      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.
      d56c6313
  6. 06 Nov, 2018 1 commit
  7. 16 Oct, 2018 2 commits
  8. 11 Sep, 2018 1 commit
  9. 13 Aug, 2018 1 commit
  10. 23 Jul, 2018 1 commit
  11. 22 Jul, 2018 1 commit
  12. 02 Jul, 2018 1 commit
  13. 21 Jun, 2018 1 commit
  14. 20 Jun, 2018 1 commit
    • Guy Benoish's avatar
      Enhance RESTORE with RDBv9 new features · b5197f1f
      Guy Benoish authored
      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.
      b5197f1f
  15. 18 Jun, 2018 1 commit
  16. 07 Jun, 2018 1 commit
  17. 31 May, 2018 1 commit
  18. 27 May, 2018 1 commit
  19. 20 Mar, 2018 1 commit
  20. 12 Mar, 2018 1 commit
    • Oran Agra's avatar
      Adding real allocator fragmentation to INFO and MEMORY command + active defrag test · 806736cd
      Oran Agra authored
      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
      806736cd
  21. 23 Feb, 2018 1 commit
  22. 05 Jan, 2018 1 commit
  23. 15 Dec, 2017 2 commits
  24. 10 Dec, 2017 1 commit
  25. 06 Dec, 2017 1 commit
    • antirez's avatar
      Change indentation and other minor details of PR #4489. · 522760fa
      antirez authored
      The main change introduced by this commit is pretending that help
      arrays are more text than code, thus indenting them at level 0. This
      improves readability, and is an old practice when defining arrays of
      C strings describing text.
      
      Additionally a few useless return statements are removed, and the HELP
      subcommand capitalized when printed to the user.
      522760fa
  26. 01 Dec, 2017 3 commits
  27. 28 Nov, 2017 1 commit
    • Itamar Haber's avatar
      Standardizes the 'help' subcommand · 59d52f7f
      Itamar Haber authored
      This adds a new `addReplyHelp` helper that's used by commands
      when returning a help text. The following commands have been
      touched: DEBUG, OBJECT, COMMAND, PUBSUB, SCRIPT and SLOWLOG.
      
      WIP
      
      Fix entry command table entry for OBJECT for HELP option.
      
      After #4472 the command may have just 2 arguments.
      
      Improve OBJECT HELP descriptions.
      
      See #4472.
      
      WIP 2
      
      WIP 3
      59d52f7f
  28. 27 Nov, 2017 2 commits
    • zhaozhao.zz's avatar
      LFU: do some changes about LFU to find hotkeys · 583c3147
      zhaozhao.zz authored
      Firstly, use access time to replace the decreas time of LFU.
      For function LFUDecrAndReturn,
      it should only try to get decremented counter,
      not update LFU fields, we will update it in an explicit way.
      And we will times halve the counter according to the times of
      elapsed time than server.lfu_decay_time.
      Everytime a key is accessed, we should update the LFU
      including update access time, and increment the counter after
      call function LFUDecrAndReturn.
      If a key is overwritten, the LFU should be also updated.
      Then we can use `OBJECT freq` command to get a key's frequence,
      and LFUDecrAndReturn should be called in `OBJECT freq` command
      in case of the key has not been accessed for a long time,
      because we update the access time only when the key is read or
      overwritten.
      583c3147
    • antirez's avatar
      Improve OBJECT HELP descriptions. · 75fa7879
      antirez authored
      See #4472.
      75fa7879
  29. 24 Nov, 2017 2 commits
  30. 23 Nov, 2017 1 commit
    • Oran Agra's avatar
      fix string to double conversion, stopped parsing on \0 even if the string has more data. · adf2701c
      Oran Agra authored
      getLongLongFromObject calls string2ll which has this line:
      /* Return if not all bytes were used. */
      so if you pass an sds with 3 characters "1\01" it will fail.
      
      but getLongDoubleFromObject calls strtold, and considers it ok if eptr[0]==`\0`
      i.e. if the end of the string found by strtold ends with null terminator
      
      127.0.0.1:6379> set a 1
      OK
      127.0.0.1:6379> setrange a 2 2
      (integer) 3
      127.0.0.1:6379> get a
      "1\x002"
      127.0.0.1:6379> incrbyfloat a 2
      "3"
      127.0.0.1:6379> get a
      "3"
      adf2701c
  31. 08 Nov, 2017 1 commit
  32. 30 Oct, 2017 1 commit
    • antirez's avatar
      More robust object -> double conversion. · de474186
      antirez authored
      Certain checks were useless, at the same time certain malformed inputs
      were accepted without problems (emtpy strings parsed as zero).
      Cases where strtod() returns ERANGE but we still want to parse the input
      where ok in getDoubleFromObject() but not in the long variant.
      
      As a side effect of these fixes, this commit fixes #4391.
      de474186