1. 24 Jun, 2015 1 commit
    • Julien Muchembled's avatar
      Prevent nodes from reconnecting too fast · c05e65ac
      Julien Muchembled authored
      This happened between storage nodes of different clusters because they're not
      informed about their state, e.g. a dead upstream storage node.
      
      In any case, logs were flooded at 100% cpu usage.
      c05e65ac
  2. 23 Jun, 2015 1 commit
  3. 09 Jun, 2015 1 commit
  4. 21 May, 2015 1 commit
  5. 05 May, 2015 1 commit
  6. 26 Apr, 2015 1 commit
    • Julien Muchembled's avatar
      importer: speed up txn lookup when migrating from FileStorage · cd33de9f
      Julien Muchembled authored
      This speeds up 2 operations that were horribly slow (linear scan
      of source database, from the beginning or from the end):
      - read access to not yet migrated data
      - resumption (restart of storage node whereas import was not finshed)
      
      Testing will tell if this patch is enough, or if more efficient solutions are
      required, like:
      - building a preliminary {tid->file_pos} index while the source DB is still
        in use (in this case, NEO may have to deal with a small gap at the end)
      - disabling ZODB features requiring data_serial (undo)
      cd33de9f
  7. 05 Dec, 2014 1 commit
  8. 07 Nov, 2014 1 commit
    • Julien Muchembled's avatar
      logger: new RTMIN+1 signal to reopen the log · 3428da3c
      Julien Muchembled authored
      RTMIN+1 & RTMIN+2 signals, which were previously used for debugging,
      have been remapped to RTMIN+2 & RTMIN+3
      
      No journal on disk anymore because this is incompatible with the
      rename+reopen way to rotate logs, and we want to support logrotate.
      Of course in case of crash the log may be corrupt or entries may be lost,
      but we currenty don't think NEO logs would be useful to debug such failure.
      3428da3c
  9. 27 Oct, 2014 1 commit
  10. 30 Jul, 2014 1 commit
  11. 03 Jun, 2014 1 commit
  12. 29 May, 2014 1 commit
  13. 07 Jan, 2014 1 commit
  14. 04 Jan, 2014 1 commit
  15. 17 Dec, 2013 2 commits
    • Julien Muchembled's avatar
      Close connection in case of AssertionError while processing a packet · 17e5ac38
      Julien Muchembled authored
      This may help client to recover after an assertion failure.
      For example, this should fix the following bug:
      
      ERROR ZODB.Connection Couldn't load state for 0x13b6
      Traceback (most recent call last):
        File "ZODB/Connection.py", line 851, in setstate
          self._setstate(obj)
        File "ZODB/Connection.py", line 901, in _setstate
          p, serial = self._storage.load(obj._p_oid, '')
        File "neo/client/Storage.py", line 85, in load
          return self.app.load(oid)[:2]
        File "neo/client/app.py", line 435, in load
          result = self._loadFromStorage(oid, tid, before_tid)
        File "neo/client/app.py", line 450, in _loadFromStorage
          for node, conn in self.cp.iterateForObject(oid, readable=True):
        File "neo/client/pool.py", line 130, in iterateForObject
          conn = getConnForNode(node)
        File "neo/client/pool.py", line 155, in getConnForNode
          conn = self._initNodeConnection(node)
        File "neo/client/pool.py", line 61, in _initNodeConnection
          connector=app.connector_handler(), dispatcher=app.dispatcher)
        File "neo/lib/connection.py", line 749, in __init__
          super(MTClientConnection, self).__init__(*args, **kwargs)
        File "neo/lib/connection.py", line 685, in __init__
          node.setConnection(self)
        File "neo/lib/node.py", line 119, in setConnection
          attributeTracker.whoSet(self, '_connection')
      AssertionError
      17e5ac38
    • Vincent Pelletier's avatar
      lib.profiling: Remove. · 772266f2
      Vincent Pelletier authored
      Use a non-intrusive code profiling tool with NEO instead, like pprofile.
      772266f2
  16. 12 Nov, 2013 1 commit
  17. 08 Nov, 2013 2 commits
  18. 28 Oct, 2013 1 commit
  19. 27 Aug, 2012 1 commit
  20. 23 Aug, 2012 2 commits
  21. 22 Aug, 2012 1 commit
  22. 21 Aug, 2012 1 commit
  23. 20 Aug, 2012 4 commits
  24. 16 Aug, 2012 1 commit
  25. 14 Aug, 2012 1 commit
  26. 12 Aug, 2012 1 commit
    • Julien Muchembled's avatar
      master: check backup master behaves properly when upstream master is unreachable · f49bf829
      Julien Muchembled authored
      This fixes the following assertion failure:
      
      PACKET #0x021d Ping                           > M1 (10.0.114.64:14001)
      INFO   timeout for #0x0000021d with <ClientConnection(uuid=M1, address=10.0.114.64:14001, closed=0, handler=BackupHandler) at 2955590>
      DEBUG  connection closed for <ClientConnection(uuid=M1, address=10.0.114.64:14001, closed=1, handler=BackupHandler) at 2955590>
      ERROR  upstream master is down: connection lost
      ERROR  Pre-mortem data:
      ERROR  Traceback (most recent call last):
      ERROR    File "neo/master/app.py", line 134, in run
      ERROR      self._run()
      ERROR    File "neo/master/app.py", line 154, in _run
      ERROR      self.playPrimaryRole()
      ERROR    File "neo/master/app.py", line 344, in playPrimaryRole
      ERROR      self.backup_app.provideService()
      ERROR    File "neo/master/backup_app.py", line 129, in provideService
      ERROR      conn.close()
      ERROR    File "neo/lib/connection.py", line 541, in close
      ERROR      assert not self.isPending()
      ERROR  AssertionError
      f49bf829
  27. 08 Aug, 2012 1 commit
  28. 01 Aug, 2012 1 commit
  29. 26 Jul, 2012 1 commit
  30. 24 Jul, 2012 1 commit
  31. 20 Jul, 2012 1 commit
  32. 18 Jul, 2012 2 commits
  33. 17 Jul, 2012 1 commit