1. 02 Aug, 2020 1 commit
  2. 09 Apr, 2020 1 commit
  3. 07 Apr, 2020 1 commit
    • antirez's avatar
      Speedup INFO by counting client memory incrementally. · f6987628
      antirez authored
      Related to #5145.
      
      Design note: clients may change type when they turn into replicas or are
      moved into the Pub/Sub category and so forth. Moreover the recomputation
      of the bytes used is problematic for obvious reasons: it changes
      continuously, so as a conservative way to avoid accumulating errors,
      each client remembers the contribution it gave to the sum, and removes
      it when it is freed or before updating it with the new memory usage.
      f6987628
  4. 06 Feb, 2020 1 commit
  5. 30 Jan, 2020 1 commit
    • Guy Benoish's avatar
      ld2string should fail if string contains \0 in the middle · 2deb5551
      Guy Benoish authored
      This bug affected RM_StringToLongDouble and HINCRBYFLOAT.
      I added tests for both cases.
      
      Main changes:
      1. Fixed string2ld to fail if string contains \0 in the middle
      2. Use string2ld in getLongDoubleFromObject - No point of
         having duplicated code here
      
      The two changes above broke RM_SaveLongDouble/RM_LoadLongDouble
      because the long double string was saved with length+1 (An innocent
      mistake, but it's actually a bug - The length passed to
      RM_SaveLongDouble should not include the last \0).
      2deb5551
  6. 31 Dec, 2019 1 commit
  7. 10 Nov, 2019 1 commit
    • Oran Agra's avatar
      rename RN_SetLRUOrLFU -> RM_SetLRU and RN_SetLFU · 28c20b4e
      Oran Agra authored
      - the API name was odd, separated to two apis one for LRU and one for LFU
      - the LRU idle time was in 1 second resolution, which might be ok for RDB
        and RESTORE, but i think modules may need higher resolution
      - adding tests for LFU and for handling maxmemory policy mismatch
      28c20b4e
  8. 03 Nov, 2019 2 commits
    • Oran Agra's avatar
      Module API for loading and saving long double · 779aebc9
      Oran Agra authored
      looks like each platform implements long double differently (different bit count)
      so we can't save them as binary, and we also want to avoid creating a new RDB
      format version, so we save these are hex strings using "%La".
      
      This commit includes a change in the arguments of ld2string to support this.
      as well as tests for coverage and short reads.
      
      coded by @guybe7
      779aebc9
    • Oran Agra's avatar
      Add module api for looking into INFO fields · 4d580438
      Oran Agra authored
      - Add RM_GetServerInfo and friends
      - Add auto memory for new opaque struct
      - Add tests for new APIs
      
      other minor fixes:
      - add const in various char pointers
      - requested_section in modulesCollectInfo was actually not sds but char*
      - extract new string2d out of getDoubleFromObject for code reuse
      
      Add module API for
      4d580438
  9. 29 Oct, 2019 1 commit
  10. 04 Oct, 2019 1 commit
  11. 20 Sep, 2019 1 commit
  12. 18 Sep, 2019 1 commit
  13. 31 Jul, 2019 1 commit
  14. 22 Jul, 2019 1 commit
  15. 04 Jul, 2019 1 commit
  16. 14 Mar, 2019 2 commits
  17. 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
  18. 09 Jan, 2019 2 commits
  19. 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
  20. 06 Nov, 2018 1 commit
  21. 16 Oct, 2018 2 commits
  22. 11 Sep, 2018 1 commit
  23. 13 Aug, 2018 1 commit
  24. 23 Jul, 2018 1 commit
  25. 22 Jul, 2018 1 commit
  26. 02 Jul, 2018 1 commit
  27. 21 Jun, 2018 1 commit
  28. 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
  29. 18 Jun, 2018 1 commit
  30. 07 Jun, 2018 1 commit
  31. 31 May, 2018 1 commit
  32. 27 May, 2018 1 commit
  33. 20 Mar, 2018 1 commit
  34. 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
  35. 23 Feb, 2018 1 commit
  36. 05 Jan, 2018 1 commit