1. 30 10月, 2013 2 次提交
  2. 29 10月, 2013 23 次提交
  3. 09 10月, 2013 1 次提交
  4. 04 10月, 2013 4 次提交
    • A
      Replication: install the write handler when reusing a cached master. · df0c9600
      antirez 提交于
      Sometimes when we resurrect a cached master after a successful partial
      resynchronization attempt, there is pending data in the output buffers
      of the client structure representing the master (likely REPLCONF ACK
      commands).
      
      If we don't reinstall the write handler, it will never be installed
      again by addReply*() family functions as they'll assume that if there is
      already data pending, the write handler is already installed.
      
      This bug caused some slaves after a successful partial sync to never
      send REPLCONF ACK, and continuously being detected as timing out by the
      master, with a disconnection / reconnection loop.
      df0c9600
    • A
      Replication: fix master timeout. · d7fa6d9a
      antirez 提交于
      Since we started sending REPLCONF ACK from slaves to masters, the
      lastinteraction field of the client structure is always refreshed as
      soon as there is room in the socket output buffer, so masters in timeout
      are detected with too much delay (the socket buffer takes a lot of time
      to be filled by small REPLCONF ACK <number> entries).
      
      This commit only counts data received as interactions with a master,
      solving the issue.
      d7fa6d9a
    • A
      PSYNC: safer handling of PSYNC requests. · c8c1006c
      antirez 提交于
      There was a bug that over-esteemed the amount of backlog available,
      however this could only happen when a slave was asking for an offset
      that was in the "future" compared to the master replication backlog.
      
      Now this case is handled well and logged as an incident in the master
      log file.
      c8c1006c
    • A
      Add REWRITE to CONFIG subcommands help message. · 81f614ef
      antirez 提交于
      81f614ef
  5. 26 9月, 2013 1 次提交
  6. 17 9月, 2013 1 次提交
  7. 04 9月, 2013 1 次提交
  8. 03 9月, 2013 2 次提交
  9. 30 8月, 2013 3 次提交
  10. 29 8月, 2013 1 次提交
    • A
      Fixed critical memory leak from EVAL. · 752b1fca
      antirez 提交于
      Multiple missing calls to lua_pop prevented the error handler function
      pushed on the stack for lua_pcall() to be popped before returning,
      causing a memory leak in almost all the code paths of EVAL (both
      successful calls and calls returning errors).
      
      This caused two issues: Lua leaking memory (and this was very visible
      from INFO memory output, as the 'used_memory_lua' field reported an
      always increasing amount of memory used), and as a result slower and
      slower GC cycles resulting in all the CPU being used.
      
      Thanks to Tanguy Le Barzic for noticing something was wrong with his 2.8
      slave, and for creating a testing EC2 environment where I was able to
      investigate the issue.
      752b1fca
  11. 27 8月, 2013 1 次提交