1. 09 Dec, 2020 1 commit
  2. 04 Dec, 2020 1 commit
  3. 29 Nov, 2020 3 commits
  4. 27 Nov, 2020 2 commits
  5. 20 Nov, 2020 6 commits
  6. 18 Nov, 2020 1 commit
  7. 17 Nov, 2020 1 commit
  8. 09 Nov, 2020 4 commits
  9. 08 Nov, 2020 2 commits
  10. 05 Nov, 2020 4 commits
  11. 04 Nov, 2020 3 commits
  12. 03 Nov, 2020 12 commits
    • Kirill Smelkov's avatar
      . · 066d7203
      Kirill Smelkov authored
      066d7203
    • Kirill Smelkov's avatar
      X bigfile/_file_zodb: Fix logic around ZSync usage · 8bf8f23b
      Kirill Smelkov authored
      The logic inside ZSync was correct, but it was incorrect to attach zsync
      to zconn to stay alive and react when that zconn is garbage collected:
      zsync._on_zconn_dealloc was not called because zsync itself was garbage
      collected too.
      
      This fixes many failures where wconn and associated pinner was not
      released even though ZODB DB was correctly closed.
      8bf8f23b
    • Kirill Smelkov's avatar
      X wcfs: tests: Run `fusermount -u` the second time if we had to kill wcfs · 3a6bd764
      Kirill Smelkov authored
      This makes sure to cleanup /proc/mounts from stale / broken FUSE
      connection, and removes uninformational `assert not is_mountpoint` from
      raising, thus, adding more noise in already very verbose wcfs-kill-dump.
      3a6bd764
    • Kirill Smelkov's avatar
      bigfile/_file_zodb: Test for ZSync · 75857c32
      Kirill Smelkov authored
      Excercise the logic that keeps wconn <-> zconn in sync.
      75857c32
    • Kirill Smelkov's avatar
      X wcfs: client: Provide Conn.at() · 24378c46
      Kirill Smelkov authored
      To known to which DB state WCFS connection corresponds. This is similar
      to zodb.Connection.At() in ZODB/go and to zconn_at in ZODB/py.
      
      wconn.at() will be used in the next patch to verify ZSync.
      24378c46
    • Kirill Smelkov's avatar
      . · 2be847c4
      Kirill Smelkov authored
      2be847c4
    • Kirill Smelkov's avatar
      f118617b
    • Kirill Smelkov's avatar
      X setup: Add build dependency information · 84404f8f
      Kirill Smelkov authored
      Manaully, because there is no automatic dependency tracking in
      setuptools...
      
      Dependency tracking is needed to avoid miscompilation after incremental
      update under SlapOS/buildout/testnode/... when e.g. only .h was changed.
      84404f8f
    • Kirill Smelkov's avatar
      X tests: Stop wcfs spawned during tests · f622e751
      Kirill Smelkov authored
      Tests inside wcfs/ care to do this, but e.g. test.py/fs-wcfs autospawns
      wcfs servers during regular bigfile tests. If we don't stop spawned
      wcfs, those processes will leak, and also they keep `nxdtest
      test.py/*-wcfs` in "hung" state, because nxdtest is waiting for wcfs to
      stop as wcfs stdout is connected to nxdtest input.
      
      Currently kills wcfs in abrupt way, because graceful pinner shutdown is
      not yet implemented there.
      f622e751
    • Kirill Smelkov's avatar
      X wcfs: tests: Split tDB into -> tDB + tWCFS · 6dec74e7
      Kirill Smelkov authored
      tWCFS is responsible for starting/mounting/unmounting/stopping wcfs
      tDB uses tWCFS and provides commit/test service on top.
      
      We'll use tWCFS in the next patch to unmount/stop WCFS processes that
      are automatically spawned during test.py
      6dec74e7
    • Kirill Smelkov's avatar
      X wcfs: tests: Don't use testmntpt everywhere · bc9eb16f
      Kirill Smelkov authored
      Once WCFS instance is created, use wc.mountpoint to refer to where this
      wcfs is mounted. It does not change anything right now, but in a
      follow-up patches we'll reuse the code from wcfs_test to work on any wc,
      not neccessarily mounted on testmntpt.
      bc9eb16f
    • Kirill Smelkov's avatar
      X bigfile/_file_zodb: Import wendelin.wcfs, not just wcfs · 2ba7cb52
      Kirill Smelkov authored
      Else, when runing tests intree `import wcfs` and `import wendelin.wcfs`
      will give two different modules, and inspecting e.g. wendelin.wcfs at
      teardown will see fresh module state (_wcregistry) because it was wcfs
      which was used.
      
      Also just `import wcfs` will raise ImportError when run out of tree.
      2ba7cb52