1. 08 Jul, 2019 3 commits
    • Oran Agra's avatar
      diskless replication on slave side (don't store rdb to file), plus some other related fixes · 2de544cf
      Oran Agra authored
      The implementation of the diskless replication was currently diskless only on the master side.
      The slave side was still storing the received rdb file to the disk before loading it back in and parsing it.
      
      This commit adds two modes to load rdb directly from socket:
      1) when-empty
      2) using "swapdb"
      the third mode of using diskless slave by flushdb is risky and currently not included.
      
      other changes:
      --------------
      distinguish between aof configuration and state so that we can re-enable aof only when sync eventually
      succeeds (and not when exiting from readSyncBulkPayload after a failed attempt)
      also a CONFIG GET and INFO during rdb loading would have lied
      
      When loading rdb from the network, don't kill the server on short read (that can be a network error)
      
      Fix rdb check when performed on preamble AOF
      
      tests:
      run replication tests for diskless slave too
      make replication test a bit more aggressive
      Add test for diskless load swapdb
      2de544cf
    • Salvatore Sanfilippo's avatar
      Merge pull request #6116 from AngusP/scan-types · 72244651
      Salvatore Sanfilippo authored
      SCAN: New Feature `SCAN cursor [TYPE type]` modifier suggested in issue #6107
      72244651
    • Angus Pearson's avatar
  2. 07 Jul, 2019 4 commits
  3. 05 Jul, 2019 2 commits
  4. 04 Jul, 2019 2 commits
  5. 03 Jul, 2019 3 commits
  6. 30 Jun, 2019 2 commits
  7. 29 Jun, 2019 1 commit
  8. 13 Jun, 2019 2 commits
  9. 12 Jun, 2019 1 commit
  10. 10 Jun, 2019 1 commit
  11. 07 Jun, 2019 2 commits
  12. 05 Jun, 2019 2 commits
  13. 22 May, 2019 1 commit
    • Angus Pearson's avatar
      Implement `SCAN cursor [TYPE type]` modifier suggested in issue #6107. · bf963253
      Angus Pearson authored
      Add tests to check basic functionality of this optional keyword, and also tested with
      a module (redisgraph). Checked quickly with valgrind, no issues.
      
      Copies name the type name canonicalisation code from `typeCommand`, perhaps this would
      be better factored out to prevent the two diverging and both needing to be edited to
      add new `OBJ_*` types, but this is a little fiddly with C strings.
      
      The [redis-doc](https://github.com/antirez/redis-doc/blob/master/commands.json) repo
      will need to be updated with this new arg if accepted.
      
      A quirk to be aware of here is that the GEO commands are backed by zsets not their own
      type, so they're not distinguishable from other zsets.
      
      Additionally, for sparse types this has the same behaviour as `MATCH` in that it may
      return many empty results before giving something, even for large `COUNT`s.
      bf963253
  14. 15 May, 2019 5 commits
  15. 14 May, 2019 1 commit
    • antirez's avatar
      Test: fix slowlog test false positive. · 1a1ba483
      antirez authored
      In fast systems "SLOWLOG RESET" is fast enough to don't be logged even
      when the time limit is "1" sometimes. Leading to false positives such
      as:
      
      [err]: SLOWLOG - can be disabled in tests/unit/slowlog.tcl
      Expected '1' to be equal to '0'
      1a1ba483
  16. 13 May, 2019 2 commits
    • antirez's avatar
    • antirez's avatar
      Fix test false positive introduced by threaded I/O. · 4f4676a1
      antirez authored
      Now clients that are ready to be terminated asynchronously are processed
      more often in beforeSleep() instead of being processed in serverCron().
      This means that the test will not be able to catch the moment the client
      was terminated, also note that the 'omem' figure now changes in big
      steps, because of the new client output buffers layout.
      
      So we have to change the test range in order to accomodate for that.
      Yet the test is useful enough to be worth taking, even if its precision
      is reduced by this commit. Probably if we get more problems, a thing
      that makes sense is just to check that the limit is < 200k. That's more
      than enough actually.
      4f4676a1
  17. 10 May, 2019 6 commits