1. 10 Jun, 2020 9 commits
  2. 21 Apr, 2020 1 commit
  3. 02 Apr, 2020 1 commit
  4. 01 Apr, 2020 1 commit
    • Guy Benoish's avatar
      Fix memory corruption in moduleHandleBlockedClients · c4dc5b80
      Guy Benoish authored
      By using a "circular BRPOPLPUSH"-like scenario it was
      possible the get the same client on db->blocking_keys
      twice (See comment in moduleTryServeClientBlockedOnKey)
      
      The fix was actually already implememnted in
      moduleTryServeClientBlockedOnKey but it had a bug:
      the funxction should return 0 or 1 (not OK or ERR)
      
      Other changes:
      1. Added two commands to blockonkeys.c test module (To
         reproduce the case described above)
      2. Simplify blockonkeys.c in order to make testing easier
      3. cast raxSize() to avoid warning with format spec
      c4dc5b80
  5. 31 Mar, 2020 2 commits
  6. 23 Mar, 2020 1 commit
  7. 18 Mar, 2020 1 commit
  8. 28 Feb, 2020 2 commits
  9. 23 Feb, 2020 1 commit
  10. 22 Feb, 2020 2 commits
  11. 16 Feb, 2020 1 commit
  12. 10 Feb, 2020 1 commit
  13. 06 Feb, 2020 4 commits
    • Oran Agra's avatar
      add no-slowlog option to RM_CreateCommand · 46216b0e
      Oran Agra authored
      46216b0e
    • Oran Agra's avatar
      RM_Scan disable dict rehashing · 28ef18a8
      Oran Agra authored
      The callback approach we took is very efficient, the module can do any
      filtering of keys without building any list and cloning strings, it can
      also read data from the key's value. but if the user tries to re-open
      the key, or any other key, this can cause dict re-hashing (dictFind does
      that), and that's very bad to do from inside dictScan.
      
      this commit protects the dict from doing any rehashing during scan, but
      also warns the user not to attempt any writes or command calls from
      within the callback, for fear of unexpected side effects and crashes.
      28ef18a8
    • Oran Agra's avatar
      moduleRDBLoadError, add key name, and use panic rather than exit · 85cc696f
      Oran Agra authored
      using panic rather than exit means you get s stack trace of the code
      path that experianced the error, and possibly other info.
      85cc696f
    • Oran Agra's avatar
      Fix client flags to be int64 in module.c · d454d5a4
      Oran Agra authored
      currently there's no bug since the flags these functions handle are
      always lower than 32bit, but still better fix the type to prevent future
      bugs.
      d454d5a4
  14. 05 Feb, 2020 1 commit
  15. 04 Feb, 2020 1 commit
  16. 03 Feb, 2020 2 commits
  17. 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
  18. 29 Jan, 2020 1 commit
  19. 30 Dec, 2019 1 commit
    • Guy Benoish's avatar
      Modules: Fix blocked-client-related memory leak · d7d13721
      Guy Benoish authored
      If a blocked module client times-out (or disconnects, unblocked
      by CLIENT command, etc.) we need to call moduleUnblockClient
      in order to free memory allocated by the module sub-system
      and blocked-client private data
      
      Other changes:
      Made blockedonkeys.tcl tests a bit more aggressive in order
      to smoke-out potential memory leaks
      d7d13721
  20. 23 Dec, 2019 2 commits
  21. 20 Dec, 2019 1 commit
  22. 18 Dec, 2019 3 commits