1. 22 Jul, 2014 5 commits
    • antirez's avatar
      Test: check sorted set elements order after union. · b9bb7e2d
      antirez authored
      This is not a regression but issue #1786 showed the need for this test.
      b9bb7e2d
    • antirez's avatar
      d74e422b
    • antirez's avatar
      ZUNIONSTORE reimplemented for speed. · 119813e9
      antirez authored
      The user @kjmph provided excellent ideas to improve speed of ZUNIONSTORE
      (in certain cases by many order of magnitude), together with an
      implementation of the ideas.
      
      While the ideas were sounding, the implementation could be improved both
      in terms of speed and clearness, so that's my attempt at reimplementing
      the speedup proposed, trying to improve by directly using just a
      dictionary with an embedded score inside, and reusing the single-pass
      aggregate + order-later approach.
      
      Note that you can't apply this commit without applying the previous
      commit in this branch that adds a double in the dictEntry value union.
      
      Issue #1786.
      119813e9
    • antirez's avatar
      Add double field in dict.c entry value union. · d1cb6a0f
      antirez authored
      d1cb6a0f
    • antirez's avatar
      CLUSTER RESET: Flush dataset if node is a slave. · 89af4631
      antirez authored
      For non-empty masters, CLUSTER RESET is denied, and the user requires to
      start to reset a node by explicitly clearing it with FLUSHALL.
      However CLUSTER RESET when executed with slaves don't have this
      restrictions since data is just a replica of the master, and with
      read-only slaves it is also not possible to remove the data set. However
      the node was turned from slave to master after a reset, without touching
      the old slave data. This is 99.99% of times not appropriate and forces
      full resets to follow this path to work with both slave and master
      nodes:
      
          FLUSHALL
          CLUSTER RESET HARD
          FLUSHALL
      
      Since we need the first flushall for masters, and the second for slaves.
      
      This commit changes the behavior so that CLUSTER RESET removes the data set
      of a slave node during a reset, in the moment it gets turned into a master,
      so the new pattern is simply:
      
          FLUSHALL (that may fail for slaves)
          CLUSTER RESET
      89af4631
  2. 21 Jul, 2014 3 commits
  3. 18 Jul, 2014 6 commits
  4. 16 Jul, 2014 3 commits
    • antirez's avatar
      Variadic PING with support for Pub/Sub. · 27839e5e
      antirez authored
      PING can now be called with an additional arugment, behaving exactly
      like the ECHO command. PING can now also be called in Pub/Sub mode (with
      one more more subscriptions to channels / patterns) in order to trigger
      the delivery of an asynchronous pong message with the optional payload.
      
      This fixes issue #420.
      27839e5e
    • antirez's avatar
      PubSub clients refactoring and new PUBSUB flag. · 59cf0824
      antirez authored
      The code tested many times if a client had active Pub/Sub subscriptions
      by checking the length of a list and dictionary where the patterns and
      channels are stored. This was substituted with a client flag called
      REDIS_PUBSUB that is simpler to test for. Moreover in order to manage
      this flag some code was refactored.
      
      This commit is believed to have no effects in the behavior of the
      server.
      59cf0824
    • antirez's avatar
  5. 14 Jul, 2014 1 commit
  6. 11 Jul, 2014 2 commits
  7. 10 Jul, 2014 5 commits
  8. 09 Jul, 2014 1 commit
  9. 08 Jul, 2014 6 commits
  10. 07 Jul, 2014 3 commits
  11. 05 Jul, 2014 2 commits
  12. 04 Jul, 2014 3 commits