1. 05 Oct, 2015 1 commit
  2. 24 Sep, 2015 2 commits
  3. 15 Sep, 2015 1 commit
  4. 12 Aug, 2015 1 commit
  5. 24 Jun, 2015 1 commit
  6. 21 May, 2015 1 commit
  7. 07 Jan, 2014 1 commit
  8. 21 Aug, 2012 1 commit
  9. 20 Aug, 2012 2 commits
  10. 16 Aug, 2012 1 commit
  11. 01 Aug, 2012 1 commit
  12. 13 Jul, 2012 1 commit
  13. 05 Jul, 2012 1 commit
  14. 20 Mar, 2012 1 commit
  15. 16 Mar, 2012 1 commit
  16. 13 Mar, 2012 1 commit
  17. 12 Mar, 2012 1 commit
    • Julien Muchembled's avatar
      New feature to check that partitions are replicated properly · 04f72a4c
      Julien Muchembled authored
      This includes an API change of Node.isIdentified, which now tells whether
      identification packets have been exchanged or not.
      All handlers must be updated to implement '_acceptIdentification' instead of
      overriding EventHandler.acceptIdentification: this patch only does it for
      StorageOperationHandler
      04f72a4c
  18. 15 Feb, 2012 1 commit
  19. 26 Jan, 2012 1 commit
  20. 17 Jan, 2012 1 commit
  21. 09 Jan, 2012 1 commit
  22. 06 Jan, 2012 1 commit
  23. 26 Oct, 2011 1 commit
  24. 14 Sep, 2011 1 commit
  25. 08 Sep, 2011 1 commit
  26. 05 Sep, 2011 1 commit
  27. 10 Jun, 2011 1 commit
    • Julien Muchembled's avatar
      Introduce light functional tests, using threads and serialized processing · 1ef149c2
      Julien Muchembled authored
      This allows to setup an almost fully functional cluster without additional
      processes. Threads are scheduled so that they never run simultaneously,
      eliminating most random.
      There's still much improvement possible like controlled randomization,
      or easier debugging when switching from one thread to another.
      
      As mock objects are not usable in such tests, an API should be implemented to
      trace/count any method call we'd like to check.
      
      This fixes test_notifyNodeInformation_checkUnregisterStorage
      
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2775 71dcc9de-d417-0410-9af5-da40c76e7ee4
      1ef149c2
  28. 27 Apr, 2011 1 commit
    • Julien Muchembled's avatar
      connection: make close always call handler (connectionClosed or connectionFailed) · 4b6c1387
      Julien Muchembled authored
      Main reason is that it's difficult to know in advance which side really closes
      the connection. Network events can be chaotic and this could lead to many race
      conditions.
      Thus, handler can be used to update any database that is somewhat redundant
      to the connection status, i.e. node status usually. Safely and less duplicated
      code.
      
      This change is motivated by recurrent random failures during election.
      An example of race condition was that 2 fully connected master could close the
      extra connection (the primary -> secondary one) at the same time.
      
      In order to stabilize lower-level code and start with reliable election process,
      code has also been simplified to not care about node states. All connections
      without exception are closed at the end of the election and states are then
      updated 1 by 1 by identification handler.
      Note that during election, there may be 2 connection per node, which makes
      difficult to update node states by connectionFailed/connectionClosed events.
      
      timeoutExpired & peerBroken are dropped as they are unused for the moment.
      A new API should be designed so that connectionClosed know the reason of the
      close.
      BROKEN state becomes unused.
      
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2732 71dcc9de-d417-0410-9af5-da40c76e7ee4
      4b6c1387
  29. 23 Mar, 2011 2 commits
  30. 22 Mar, 2011 2 commits
    • Julien Muchembled's avatar
      admin: use 'boostrap' flag to discard partition changes received too early · a54aada5
      Julien Muchembled authored
      This should fix the following random failure:
      
      Traceback (most recent call last):
        File "neo/tests/functional/__init__.py", line 140, in start
          execfile(command, {"__name__": "__main__"})
        File "./neoadmin", line 22, in <module>
          main()
        File "neo/scripts/neoadmin.py", line 66, in main
          app.run()
        File "neo/admin/app.py", line 103, in run
          self.em.poll(1)
        File "neo/lib/event.py", line 100, in poll
          to_process.process()
        File "neo/lib/connection.py", line 532, in process
          self._handlers.handle(self, packet)
        File "neo/lib/connection.py", line 158, in handle
          self._handle(connection, packet)
        File "neo/lib/connection.py", line 174, in _handle
          handler.packetReceived(connection, packet)
        File "neo/lib/handler.py", line 93, in packetReceived
          self.dispatch(conn, packet)
        File "neo/admin/handler.py", line 142, in dispatch
          super(MasterEventHandler, self).dispatch(conn, packet)
        File "neo/lib/handler.py", line 57, in dispatch
          method(conn, *args)
        File "neo/admin/handler.py", line 156, in sendPartitionTable
          self.app.pt.load(ptid, row_list, self.app.nm)
        File "neo/lib/pt.py", line 219, in load
          assert node is not None
      AssertionError
      
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2680 71dcc9de-d417-0410-9af5-da40c76e7ee4
      a54aada5
    • Julien Muchembled's avatar
      admin: factorize code (re)initializing application · 5917e6e8
      Julien Muchembled authored
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2679 71dcc9de-d417-0410-9af5-da40c76e7ee4
      5917e6e8
  31. 25 Feb, 2011 1 commit
    • Olivier Cros's avatar
      Implementing ipv6 on neo · 0cdbf0ea
      Olivier Cros authored
      In order to synchronise neo with slapos, it has to work perfectly with ipv4
      and ipv6. This allows to integrate neo in erp5 and to prepare different buildout
      installations of neo.
      The protocol and connectors are no more generic but can now support IPv4 and
      IPv6 connections. We adopted a specific way of development which allow to
      easily add new protocols in the future.
      
      git-svn-id: https://svn.erp5.org/repos/neo/trunk@2654 71dcc9de-d417-0410-9af5-da40c76e7ee4
      0cdbf0ea
  32. 17 Jan, 2011 1 commit
  33. 05 Nov, 2010 1 commit
  34. 29 Oct, 2010 1 commit
  35. 27 Aug, 2010 2 commits