1. 13 Apr, 2017 1 commit
  2. 04 Apr, 2017 1 commit
  3. 31 Mar, 2017 14 commits
  4. 30 Mar, 2017 1 commit
  5. 23 Mar, 2017 9 commits
  6. 22 Mar, 2017 1 commit
  7. 21 Mar, 2017 1 commit
  8. 20 Mar, 2017 2 commits
  9. 18 Mar, 2017 1 commit
    • Julien Muchembled's avatar
      master: fix crash when a transaction begins while a storage node starts operation · 781b4eb5
      Julien Muchembled authored
      Traceback (most recent call last):
        ...
        File "neo/lib/handler.py", line 72, in dispatch
          method(conn, *args, **kw)
        File "neo/master/handlers/client.py", line 70, in askFinishTransaction
          conn.getPeerId(),
        File "neo/master/transactions.py", line 387, in prepare
          assert node_list, (ready, failed)
      AssertionError: (set([]), frozenset([]))
      
      Master log leading to the crash:
        PACKET    #0x0009 StartOperation                 > S1
        PACKET    #0x0004 BeginTransaction               < C1
        DEBUG     Begin <...>
        PACKET    #0x0004 AnswerBeginTransaction         > C1
        PACKET    #0x0001 NotifyReady                    < S1
      
      It was wrong to process BeginTransaction before receiving NotifyReady.
      
      The changes in the storage are cosmetics: the 'ready' attribute has become
      redundant with 'operational'.
      781b4eb5
  10. 17 Mar, 2017 3 commits
  11. 14 Mar, 2017 4 commits
  12. 07 Mar, 2017 1 commit
  13. 03 Mar, 2017 1 commit
    • Julien Muchembled's avatar
      qa: fix random failure of check_checkCurrentSerialInTransaction · fec9a3a5
      Julien Muchembled authored
      Generators are not thread-safe:
      
      Exception in thread T2:
      Traceback (most recent call last):
        ...
        File "ZODB/tests/StorageTestBase.py", line 157, in _dostore
          r2 = self._storage.tpc_vote(t)
        File "neo/client/Storage.py", line 95, in tpc_vote
          return self.app.tpc_vote(transaction)
        File "neo/client/app.py", line 507, in tpc_vote
          self.waitStoreResponses(txn_context)
        File "neo/client/app.py", line 500, in waitStoreResponses
          _waitAnyTransactionMessage(txn_context)
        File "neo/client/app.py", line 145, in _waitAnyTransactionMessage
          self._waitAnyMessage(queue, block=block)
        File "neo/client/app.py", line 128, in _waitAnyMessage
          conn, packet, kw = get(block)
        File "neo/lib/locking.py", line 203, in get
          self._lock()
        File "neo/tests/threaded/__init__.py", line 590, in _lock
          for i in TIC_LOOP:
      ValueError: generator already executing
      
      ======================================================================
      FAIL: check_checkCurrentSerialInTransaction (neo.tests.zodb.testBasic.BasicTests)
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File "neo/tests/zodb/testBasic.py", line 33, in check_checkCurrentSerialInTransaction
          super(BasicTests, self).check_checkCurrentSerialInTransaction()
        File "ZODB/tests/BasicStorage.py", line 294, in check_checkCurrentSerialInTransaction
          utils.load_current(self._storage, b'\0\0\0\0\0\0\0\xf4')[1])
      failureException: False is not true
      fec9a3a5