1. 16 Oct, 2020 5 commits
    • Kirill Smelkov's avatar
      . · 6410356a
      Kirill Smelkov authored
      6410356a
    • Kirill Smelkov's avatar
      . · 8b37a895
      Kirill Smelkov authored
      8b37a895
    • Kirill Smelkov's avatar
      Merge branch 'master' into t · bd1e3d27
      Kirill Smelkov authored
      * master:
        go/zodb/zeo: Skip handshake/py/msgpack=true on ZEO4
      bd1e3d27
    • Kirill Smelkov's avatar
      go/zodb/zeo: Skip handshake/py/msgpack=true on ZEO4 · 6d9a8046
      Kirill Smelkov authored
      ZEO4 does not have msgpack support and does not take $ZEO_MSGPACK into
      account. With ZEO4 this test was failing before:
      
      	--- FAIL: TestHandshake (0.46s)
      	    --- FAIL: TestHandshake/py/msgpack=true (0.24s)
      	        zeo_test.go:241: handshake: encoding=Z  ; want M
      
      We don't have infrastructure to check python packages versions, so
      check it by verifying ZEO.asyncio presence.
      6d9a8046
    • Julien Muchembled's avatar
      Fix a few issues with ZODB5 · d7f3bc57
      Julien Muchembled authored
      In the Importer storage backend, the repickler code never really worked with
      ZODB 5 (use of protocol > 1), and now the test does not pass anymore.
      
      The other issues caused by ZODB commit 12ee41c47310156027a674932df34b60de86ba36
      are fixed:
      
        TypeError: list indices must be integers, not binary
      
        ValueError: unsupported pickle protocol: 3
      
      Although not necessary as long as we don't support Python 3,
      this commit also replaces `str` by `bytes` in a few places.
      d7f3bc57
  2. 13 Oct, 2020 2 commits
  3. 12 Oct, 2020 3 commits
    • Kirill Smelkov's avatar
      Merge branch 'master' into t · 28494187
      Kirill Smelkov authored
      * master:
        go/zodb/zeo: Fix initialization when server database is empty
        neotest: info-local: Fix NIC display for virtio devices
        neotest: info-local: Fix it when CPU frequence/idle information is not available
      28494187
    • Kirill Smelkov's avatar
      go/zodb/zeo: Fix initialization when server database is empty · 1df5acab
      Kirill Smelkov authored
      In that case at0 was initialized as 0 and still considered uninitialized
      by flushEventq0:
      
          (neo) (z-dev) (g.env) kirr@deco:~/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo$ go test -run Empty
          ------
          2020-10-12T07:39:25 INFO ZEO.runzeo (146240) opening storage '1' using FileStorage
          ------
          2020-10-12T07:39:25 INFO ZEO.StorageServer StorageServer created RW with storages: 1:RW:/tmp/zeo905263273/1.fs
          ------
          2020-10-12T07:39:25 INFO ZEO.asyncio.server listening on /tmp/zeo905263273/1.fs.zeosock
          ------
          2020-10-12T07:39:25 INFO ZEO.asyncio.base Connected server protocol
          ------
          2020-10-12T07:39:25 INFO ZEO.asyncio.server received handshake 'Z5'
          2020/10/12 07:39:25 /tmp/zeo905263273/1.fs.zeosock: EOF
          --- FAIL: TestEmptyDB (0.22s)
              --- FAIL: TestEmptyDB/py/msgpack=false (0.22s)
          panic: flush, but .at0 not yet initialized [recovered]
                  panic: flush, but .at0 not yet initialized
      
          goroutine 7 [running]:
          testing.tRunner.func1.1(0x644a60, 0x6e1a50)
                  /home/kirr/src/tools/go/go/src/testing/testing.go:1072 +0x30d
          testing.tRunner.func1(0xc000001e00)
                  /home/kirr/src/tools/go/go/src/testing/testing.go:1075 +0x41a
          panic(0x644a60, 0x6e1a50)
                  /home/kirr/src/tools/go/go/src/runtime/panic.go:969 +0x175
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.(*zeo).flushEventq0(0xc00018a000)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo.go:180 +0xf3
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.openByURL(0x6e9ca0, 0xc000016108, 0xc000138120, 0xc000153d98, 0x0, 0x0, 0x0, 0x0, 0x0)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo.go:488 +0x5ba
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.zeoOpen(0xc000018740, 0x1e, 0xc000049d98, 0x0, 0x0, 0x0, 0x0)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo_test.go:285 +0x17b
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.withZEO.func1(0xc000001e00, 0x6e9ea0, 0xc00005e6c0)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo_test.go:219 +0xd0
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.withZEOSrv.func2.1(0xc0000185c0, 0x16)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo_test.go:205 +0xfb
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.withZEOSrv.func1(0xc000001e00, 0xc00000e5a0)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo_test.go:185 +0x129
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.withZEOSrv.func2(0xc000001e00)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo_test.go:197 +0x105
          testing.tRunner(0xc000001e00, 0xc00000e440)
                  /home/kirr/src/tools/go/go/src/testing/testing.go:1123 +0xef
          created by testing.(*T).Run
                  /home/kirr/src/tools/go/go/src/testing/testing.go:1168 +0x2b3
          exit status 2
          FAIL    lab.nexedi.com/kirr/neo/go/zodb/storage/zeo     0.227s
      
      -> Fix it by using dedicated field marking whether .at0 was initialized or not yet.
      1df5acab
    • Kirill Smelkov's avatar
      go/zodb/zeo: Fix initialization when server database is empty · dcdf98c0
      Kirill Smelkov authored
      In that case at0 was initialized as 0 and still considered uninitialized
      by flushEventq0:
      
          (neo) (z-dev) (g.env) kirr@deco:~/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo$ go test -run Empty
          ------
          2020-10-12T07:39:25 INFO ZEO.runzeo (146240) opening storage '1' using FileStorage
          ------
          2020-10-12T07:39:25 INFO ZEO.StorageServer StorageServer created RW with storages: 1:RW:/tmp/zeo905263273/1.fs
          ------
          2020-10-12T07:39:25 INFO ZEO.asyncio.server listening on /tmp/zeo905263273/1.fs.zeosock
          ------
          2020-10-12T07:39:25 INFO ZEO.asyncio.base Connected server protocol
          ------
          2020-10-12T07:39:25 INFO ZEO.asyncio.server received handshake 'Z5'
          2020/10/12 07:39:25 /tmp/zeo905263273/1.fs.zeosock: EOF
          --- FAIL: TestEmptyDB (0.22s)
              --- FAIL: TestEmptyDB/py/msgpack=false (0.22s)
          panic: flush, but .at0 not yet initialized [recovered]
                  panic: flush, but .at0 not yet initialized
      
          goroutine 7 [running]:
          testing.tRunner.func1.1(0x644a60, 0x6e1a50)
                  /home/kirr/src/tools/go/go/src/testing/testing.go:1072 +0x30d
          testing.tRunner.func1(0xc000001e00)
                  /home/kirr/src/tools/go/go/src/testing/testing.go:1075 +0x41a
          panic(0x644a60, 0x6e1a50)
                  /home/kirr/src/tools/go/go/src/runtime/panic.go:969 +0x175
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.(*zeo).flushEventq0(0xc00018a000)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo.go:180 +0xf3
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.openByURL(0x6e9ca0, 0xc000016108, 0xc000138120, 0xc000153d98, 0x0, 0x0, 0x0, 0x0, 0x0)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo.go:488 +0x5ba
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.zeoOpen(0xc000018740, 0x1e, 0xc000049d98, 0x0, 0x0, 0x0, 0x0)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo_test.go:285 +0x17b
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.withZEO.func1(0xc000001e00, 0x6e9ea0, 0xc00005e6c0)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo_test.go:219 +0xd0
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.withZEOSrv.func2.1(0xc0000185c0, 0x16)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo_test.go:205 +0xfb
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.withZEOSrv.func1(0xc000001e00, 0xc00000e5a0)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo_test.go:185 +0x129
          lab.nexedi.com/kirr/neo/go/zodb/storage/zeo.withZEOSrv.func2(0xc000001e00)
                  /home/kirr/src/neo/src/lab.nexedi.com/kirr/neo/go/zodb/storage/zeo/zeo_test.go:197 +0x105
          testing.tRunner(0xc000001e00, 0xc00000e440)
                  /home/kirr/src/tools/go/go/src/testing/testing.go:1123 +0xef
          created by testing.(*T).Run
                  /home/kirr/src/tools/go/go/src/testing/testing.go:1168 +0x2b3
          exit status 2
          FAIL    lab.nexedi.com/kirr/neo/go/zodb/storage/zeo     0.227s
      
      -> Fix it by using dedicated field marking whether .at0 was initialized or not yet.
      dcdf98c0
  4. 30 Sep, 2020 1 commit
  5. 29 Sep, 2020 1 commit
  6. 27 Sep, 2020 1 commit
  7. 25 Sep, 2020 13 commits
  8. 24 Sep, 2020 4 commits
    • Kirill Smelkov's avatar
      neotest: info-local: Fix NIC display for virtio devices · fe6e6107
      Kirill Smelkov authored
      For virtio NICs /sys/class/net/<NIC>/device lead to $pcidev/virtioX, not just $pcidev, e.g.:
      
      	$ realpath /sys/class/net/ens3/device
      	/sys/devices/pci0000:00/0000:00:03.0/virtio0
      
      and we were extracting virtio0 instead of 0000:00:03.0 as PCI device identifier.
      
      -> Fix it by recognizing and stripping /virtioX suffix.
      fe6e6107
    • Kirill Smelkov's avatar
      neotest: info-local: Fix it when CPU frequence/idle information is not available · 3c2b7d3d
      Kirill Smelkov authored
      For example under KVM it was failing as
      
          cpu:	Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz
          cat: /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq: No such file or directory
            File "<string>", line 1
              print '%.2fGHz' % ( / 1E6)
                                  ^
          SyntaxError: invalid syntax
      
          $ lscpu
          Architecture:        x86_64
          CPU op-mode(s):      32-bit, 64-bit
          Byte Order:          Little Endian
          Address sizes:       40 bits physical, 48 bits virtual
          CPU(s):              40
          On-line CPU(s) list: 0-39
          Thread(s) per core:  1
          Core(s) per socket:  1
          Socket(s):           40
          NUMA node(s):        1
          Vendor ID:           GenuineIntel
          CPU family:          6
          Model:               63
          Model name:          Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz
          Stepping:            2
          CPU MHz:             2494.238
          BogoMIPS:            4988.47
          Virtualization:      VT-x
          Hypervisor vendor:   KVM
          Virtualization type: full
          L1d cache:           32K
          L1i cache:           32K
          L2 cache:            4096K
          L3 cache:            16384K
          NUMA node0 CPU(s):   0-39
          Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
      
      -> Fix it by checking whether cpufreq/cpuidle directories are available, and display "?" if they are not.
      3c2b7d3d
    • Kirill Smelkov's avatar
      X neotest: info-local: Fix NIC display for virtio devices · f2beeb95
      Kirill Smelkov authored
      For virtio NICs /sys/class/net/<NIC>/device lead to $pcidev/virtioX, not just $pcidev, e.g.:
      
      	$ realpath /sys/class/net/ens3/device
      	/sys/devices/pci0000:00/0000:00:03.0/virtio0
      
      and we were extracting virtio0 instead of 0000:00:03.0 as PCI device identifier.
      
      -> Fix it by recognizing and stripping /virtioX suffix.
      f2beeb95
    • Kirill Smelkov's avatar
      X neotest: info-local: Fix it when CPU frequence/idle information is not available · 4942c900
      Kirill Smelkov authored
      For example under KVM it was failing as
      
          cpu:	Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz
          cat: /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq: No such file or directory
            File "<string>", line 1
              print '%.2fGHz' % ( / 1E6)
                                  ^
          SyntaxError: invalid syntax
      
          $ lscpu
          Architecture:        x86_64
          CPU op-mode(s):      32-bit, 64-bit
          Byte Order:          Little Endian
          Address sizes:       40 bits physical, 48 bits virtual
          CPU(s):              40
          On-line CPU(s) list: 0-39
          Thread(s) per core:  1
          Core(s) per socket:  1
          Socket(s):           40
          NUMA node(s):        1
          Vendor ID:           GenuineIntel
          CPU family:          6
          Model:               63
          Model name:          Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz
          Stepping:            2
          CPU MHz:             2494.238
          BogoMIPS:            4988.47
          Virtualization:      VT-x
          Hypervisor vendor:   KVM
          Virtualization type: full
          L1d cache:           32K
          L1i cache:           32K
          L2 cache:            4096K
          L3 cache:            16384K
          NUMA node0 CPU(s):   0-39
          Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
      
      -> Fix it by checking whether cpufreq/cpuidle directories are available, and display "?" if they are not.
      4942c900
  9. 15 Sep, 2020 3 commits
  10. 03 Aug, 2020 4 commits
  11. 14 Jul, 2020 3 commits
    • Kirill Smelkov's avatar
      Merge branch 'master' into t · 242455f7
      Kirill Smelkov authored
      * master: (31 commits)
        go/zodb/zeo: Make "no serial on load after object deleted" to be a known bug
        go/zodb/zeo: Cosmetics
        go/zodb/zeo: Load: Fix thinko when rejecting result
        go/zodb/zeo: Add support for invalidations
        go/zodb/zeo: Teach zlink to serve incoming notification and requests
        go/zodb/zeo: MsgPack support
        go/zodb/zeo: Accept both int|bool for pickled message flags
        go/zodb/zeo: Factor-out tuple handling into encoding
        go/zodb/zeo: Factor-out string|bytes handling into encoding
        go/zodb/zeo: proto: Use enc.<X> and enc.as<X> to encode/decode type X
        go/zodb/zeo: Introduce notion of encoding
        go/zodb/zeo: Factor-out code to prepare pkt from message into pktEncode
        go/zodb/zeo: Start moving things related to protocol and messages encoding into proto.go
        go/zodb/zeo: Shutdown zlink on first error
        go/zodb/zeo: Use zlink as term for link in between peers
        go/zodb/zeo: Don't avoid defer
        go/zodb/zeo: errgroup -> xsync.WorkGroup
        go/zodb/zeo: Initial tests
        go/zodb/zeo: Fix thinko in openByURL error context
        go/internal/xtesting: LoadDBHistory
        ...
      242455f7
    • Kirill Smelkov's avatar
      go/zodb/zeo: Make "no serial on load after object deleted" to be a known bug · 049cb9a0
      Kirill Smelkov authored
      This turns zeo tests to pass.
      The bug is reported upstream here: https://github.com/zopefoundation/ZODB/issues/318
      049cb9a0
    • Kirill Smelkov's avatar
      go/zodb/zeo: Make "no serial on load after object deleted" to be a known bug · 90332630
      Kirill Smelkov authored
      This turns zeo tests to pass.
      The bug is reported upstream here: https://github.com/zopefoundation/ZODB/issues/318
      90332630