1. 30 May, 2021 1 commit
    • ny0312's avatar
      Always replicate time-to-live(TTL) as absolute timestamps in milliseconds (#8474) · 53d1acd5
      ny0312 authored
      Till now, on replica full-sync we used to transfer absolute time for TTL,
      however when a command arrived (EXPIRE or EXPIREAT),
      we used to propagate it as is to replicas (possibly with relative time),
      but always translate it to EXPIREAT (absolute time) to AOF.
      
      This commit changes that and will always use absolute time for propagation.
      see discussion in #8433
      
      Furthermore, we Introduce new commands: `EXPIRETIME/PEXPIRETIME`
      that allow extracting the absolute TTL time from a key.
      53d1acd5
  2. 26 May, 2021 1 commit
    • YaacovHazan's avatar
      unregister AE_READABLE from the read pipe in backgroundSaveDoneHandlerSocket (#8991) · 501d7755
      YaacovHazan authored
      In diskless replication, we create a read pipe for the RDB, between the child and the parent.
      When we close this pipe (fd), the read handler also needs to be removed from the event loop (if it still registered).
      Otherwise, next time we will use the same fd, the registration will be fail (panic), because
      we will use EPOLL_CTL_MOD (the fd still register in the event loop), on fd that already removed from epoll_ctl
      501d7755
  3. 24 May, 2021 1 commit
  4. 23 May, 2021 1 commit
  5. 22 May, 2021 1 commit
  6. 20 May, 2021 3 commits
    • YaacovHazan's avatar
      stabilize tests that involved with load handlers (#8967) · 32a2584e
      YaacovHazan authored
      When test stop 'load handler' by killing the process that generating the load,
      some commands that already in the input buffer, still might be processed by the server.
      This may cause some instability in tests, that count on that no more commands
      processed after we stop the `load handler'
      
      In this commit, new proc 'wait_load_handlers_disconnected' added, to verify that no more
      cammands from any 'load handler' prossesed, by checking that the clients who
      genreate the load is disconnceted.
      
      Also, replacing check of dbsize with wait_for_ofs_sync before comparing debug digest, as
      it would fail in case the last key the workload wrote was an overridden key (not a new one).
      
      Affected tests
      Race fix:
      - failover command to specific replica works
      - Connect multiple replicas at the same time (issue #141), master diskless=$mdl, replica diskless=$sdl
      - AOF rewrite during write load: RDB preamble=$rdbpre
      
      Cleanup and speedup:
      - Test replication with blocking lists and sorted sets operations
      - Test replication with parallel clients writing in different DBs
      - Test replication partial resync: $descr (diskless: $mdl, $sdl, reconnect: $reconnect
      32a2584e
    • Wang Yuan's avatar
      Make aof buf alloc size more accurate in overhead (#8970) · 8627751e
      Wang Yuan authored
      
      
      In theory we should have used zmalloc_usable_size, but it may be slower,
      and now after #7875, there's no actual difference.
      So this change isn't making a dramatic change.
      Co-authored-by: default avatarOran Agra <oran@redislabs.com>
      8627751e
    • Wang Yuan's avatar
      Make full use of replication backlog memory (#8966) · 0b2d0be3
      Wang Yuan authored
      According jemalloc size classes, we may allocate much more memory
      than our setting of repl_backlog_size, but we don't make full use of it.
      0b2d0be3
  7. 19 May, 2021 5 commits
  8. 18 May, 2021 8 commits
  9. 17 May, 2021 3 commits
  10. 15 May, 2021 1 commit
  11. 14 May, 2021 1 commit
  12. 13 May, 2021 1 commit
  13. 11 May, 2021 1 commit
  14. 10 May, 2021 3 commits
  15. 09 May, 2021 3 commits
  16. 07 May, 2021 1 commit
  17. 06 May, 2021 3 commits
    • Huang Zhw's avatar
      redis-cli when SELECT fails, we should reset dbnum to 0 (#8898) · 6b475989
      Huang Zhw authored
      
      
      when SELECT fails, we should reset dbnum to 0, so the prompt will not
      display incorrectly.
      
      Additionally when SELECT and HELLO fail, we output message to inform
      it.
      
      Add config.input_dbnum which means the dbnum about to select.
      And config.dbnum means currently selected dbnum. When users succeed to
      select db, config.dbnum and config.input_dbnum will be the same. When
      users select db failed, config.input_dbnum will be kept. Next time if users
      auth success, config.input_dbnum will be automatically selected.
      When reconnect, we should select the origin dbnum.
      Co-authored-by: default avatarOran Agra <oran@redislabs.com>
      6b475989
    • Oran Agra's avatar
      fix redis-benchmark to ignore unsupported configs (#8916) · 4d1094e8
      Oran Agra authored
      Redis Enterprise supports the CONFIG GET command, but it replies with am
      empty array since the save and appendonly configs are not supported.
      before this fix redis-benchmark would segfault for trying to access the
      error string on an array type reply.
      see #8869
      4d1094e8
    • Wang Yuan's avatar
      Fix wrong COW memory in log (#8917) · 81e2d727
      Wang Yuan authored
      Always 0 MB of memory used by copy-on-write, introduced in #8645.
      81e2d727
  18. 05 May, 2021 1 commit
  19. 04 May, 2021 1 commit