1. 17 Jul, 2015 1 commit
  2. 21 Jan, 2015 1 commit
    • antirez's avatar
      AOF rewrite: set iterator var to NULL when freed. · 4433f5a7
      antirez authored
      The cleanup code expects that if 'di' is not NULL, it is a valid
      iterator that should be freed.
      
      The result of this bug was a crash of the AOF rewriting process if an
      error occurred after the DBs data are written and the iterator is no
      longer valid.
      4433f5a7
  3. 02 Jan, 2015 1 commit
  4. 29 Sep, 2014 3 commits
    • Matt Stancliff's avatar
      Clean up text throughout project · 12d0195b
      Matt Stancliff authored
        - Remove trailing newlines from redis.conf
        - Fix comment misspelling
        - Clarifies zipEncodeLength usage and a C API mention (#1243, #1242)
        - Fix cluster typos (inspired by @papanikge #1507)
        - Fix rewite -> rewrite in a few places (inspired by #682)
      
      Closes #1243, #1242, #1507
      12d0195b
    • zionwu's avatar
      Fix incorrect comments · a2583466
      zionwu authored
      error != success; and 0 != number of bytes written
      
      Closes #1806
      a2583466
    • Jan-Erik Rediger's avatar
      Fix many small typos · 0cb87481
      Jan-Erik Rediger authored
      Closes #1871
      0cb87481
  5. 16 Sep, 2014 2 commits
    • antirez's avatar
      Seek at the end of AOF after truncate call. · 878c089e
      antirez authored
      It is not clear if files open in append only mode will automatically fix
      their offset after a truncate(2) operation. This commit makes sure that
      we reposition the AOF file descriptor offset at the end of the file
      after a truncated AOF is loaded and trimmed to the last valid command.
      878c089e
    • antirez's avatar
      On AOF end of file, truncate the AOF to last valid command. · 0ba8fe1a
      antirez authored
      Recently we introduced the ability to load truncated AOFs, but
      unfortuantely the support was broken since the server, after loading the
      truncated AOF, continues appending to the file that is corrupted at the
      end. The problem is fixed only in the next AOF rewrite.
      
      This commit fixes the issue by truncating the AOF to the last valid
      opcode, and aborting if it is not possible to truncate the file
      correctly.
      0ba8fe1a
  6. 08 Sep, 2014 3 commits
  7. 13 Aug, 2014 1 commit
  8. 08 Jul, 2014 1 commit
  9. 05 Jul, 2014 2 commits
  10. 04 Jul, 2014 8 commits
  11. 02 Jul, 2014 2 commits
  12. 01 Jul, 2014 1 commit
  13. 28 Apr, 2014 1 commit
    • antirez's avatar
      CLIENT LIST speedup via peerid caching + smart allocation. · 0bcc7cb4
      antirez authored
      This commit adds peer ID caching in the client structure plus an API
      change and the use of sdsMakeRoomFor() in order to improve the
      reallocation pattern to generate the CLIENT LIST output.
      
      Both the changes account for a very significant speedup.
      0bcc7cb4
  14. 24 Apr, 2014 1 commit
    • antirez's avatar
      Process events with processEventsWhileBlocked() when blocked. · e29d3307
      antirez authored
      When we are blocked and a few events a processed from time to time, it
      is smarter to call the event handler a few times in order to handle the
      accept, read, write, close cycle of a client in a single pass, otherwise
      there is too much latency added for clients to receive a reply while the
      server is busy in some way (for example during the DB loading).
      e29d3307
  15. 24 Mar, 2014 1 commit
    • Matt Stancliff's avatar
      Fix data loss when save AOF/RDB with no free space · b47b343f
      Matt Stancliff authored
      Previously, the (!fp) would only catch lack of free space
      under OS X.  Linux waits to discover it can't write until
      it actually writes contents to disk.
      
      (fwrite() returns success even if the underlying file
      has no free space to write into.  All the errors
      only show up at flush/sync/close time.)
      
      Fixes antirez/redis#1604
      b47b343f
  16. 12 Feb, 2014 1 commit
    • antirez's avatar
      AOF: don't abort on write errors unless fsync is 'always'. · fe835254
      antirez authored
      A system similar to the RDB write error handling is used, in which when
      we can't write to the AOF file, writes are no longer accepted until we
      are able to write again.
      
      For fsync == always we still abort on errors since there is currently no
      easy way to avoid replying with success to the user otherwise, and this
      would violate the contract with the user of only acknowledging data
      already secured on disk.
      fe835254
  17. 14 Jan, 2014 1 commit
  18. 05 Dec, 2013 1 commit
  19. 03 Dec, 2013 1 commit
  20. 20 Aug, 2013 1 commit
  21. 22 Jul, 2013 1 commit
    • antirez's avatar
      Introduction of a new string encoding: EMBSTR · 894eba07
      antirez authored
      Previously two string encodings were used for string objects:
      
      1) REDIS_ENCODING_RAW: a string object with obj->ptr pointing to an sds
      stirng.
      
      2) REDIS_ENCODING_INT: a string object where the obj->ptr void pointer
      is casted to a long.
      
      This commit introduces a experimental new encoding called
      REDIS_ENCODING_EMBSTR that implements an object represented by an sds
      string that is not modifiable but allocated in the same memory chunk as
      the robj structure itself.
      
      The chunk looks like the following:
      
      +--------------+-----------+------------+--------+----+
      | robj data... | robj->ptr | sds header | string | \0 |
      +--------------+-----+-----+------------+--------+----+
                           |                       ^
                           +-----------------------+
      
      The robj->ptr points to the contiguous sds string data, so the object
      can be manipulated with the same functions used to manipulate plan
      string objects, however we need just on malloc and one free in order to
      allocate or release this kind of objects. Moreover it has better cache
      locality.
      
      This new allocation strategy should benefit both the memory usage and
      the performances. A performance gain between 60 and 70% was observed
      during micro-benchmarks, however there is more work to do to evaluate
      the performance impact and the memory usage behavior.
      894eba07
  22. 05 Jul, 2013 1 commit
  23. 24 Jun, 2013 1 commit
  24. 02 May, 2013 1 commit
  25. 24 Apr, 2013 2 commits