- 13 Oct, 2020 1 commit
-
-
Kirill Smelkov authored
-
- 12 Oct, 2020 3 commits
-
-
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
-
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.
-
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.
-
- 30 Sep, 2020 1 commit
-
-
Kirill Smelkov authored
-
- 29 Sep, 2020 1 commit
-
-
Kirill Smelkov authored
-
- 27 Sep, 2020 1 commit
-
-
Kirill Smelkov authored
-
- 25 Sep, 2020 13 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 24 Sep, 2020 4 commits
-
-
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.
-
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.
-
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.
-
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.
-
- 15 Sep, 2020 3 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
-
- 03 Aug, 2020 4 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
* master: go/neo/neonet: Don't avoid defer anymore go/zodb/fs1: Don't avoid defer anymore
-
Kirill Smelkov authored
Starting from Go1.14 defer is no longer slow: https://golang.org/doc/go1.14#runtime
-
Kirill Smelkov authored
Starting from Go1.14 defer is no longer slow: https://golang.org/doc/go1.14#runtime
-
- 14 Jul, 2020 9 commits
-
-
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 ...
-
Kirill Smelkov authored
This turns zeo tests to pass. The bug is reported upstream here: https://github.com/zopefoundation/ZODB/issues/318
-
Kirill Smelkov authored
This turns zeo tests to pass. The bug is reported upstream here: https://github.com/zopefoundation/ZODB/issues/318
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
If xres fails to convert to tuple, we should error about xres, not res which is always tuple(nil).
-
Kirill Smelkov authored
Receive invalidation from server and send corresponding events to watchq. Care to send only events with tid > at0 that we initially returned when opening. Tests pass, but they need https://github.com/zopefoundation/ZEO/pull/160
-
Kirill Smelkov authored
This will be used in the next patch to handle invalidateTransaction messages.
-
Kirill Smelkov authored
ZEO5 adds way for messages to be encoded via either pickles or MessagePack. However until now we were always using pickles. Let's add msgpack support to be able to e.g. use wire encoding that server prefers. MsgPack support is almost fully localized in encoding. We use tinylib/msgp runtime routines to decode/encode msg fields with known types, and shamaton/msgpack to decode/encode msg.arg, which is interface{}, because msgp does not generally work for arbitrary reflections. For msgpack=true, tests state is the same as with pickles: handshake works, but load fails when verifying that Load returns correct error for deleted object: TestLoad/py/msgpack=false: xtesting.go:272: load 0285cbacc06d3a4c:0000000000000007: returned err unexpected: have: /tmp/zeo170183943/1.fs.zeosock: load 0285cbacc06d3a4c:0000000000000007: 0000000000000007: no such object want: /tmp/zeo170183943/1.fs.zeosock: load 0285cbacc06d3a4c:0000000000000007: 0000000000000007: object was deleted @0285cbacc06d3a4c TestLoad/py/msgpack=false: xtesting.go:272: load 0285cbad858bf2e6:0000000000000006: returned err unexpected: have: /tmp/zeo170183943/1.fs.zeosock: load 0285cbad858bf2e6:0000000000000006: 0000000000000006: no such object want: /tmp/zeo170183943/1.fs.zeosock: load 0285cbad858bf2e6:0000000000000006: 0000000000000006: object was deleted @0285cbad858bf2e6 TestLoad/py/msgpack=false: xtesting.go:290: load 7fffffffffffffff:0000000000000007: returned err unexpected: have: /tmp/zeo170183943/1.fs.zeosock: load 7fffffffffffffff:0000000000000007: 0000000000000007: no such object want: /tmp/zeo170183943/1.fs.zeosock: load 7fffffffffffffff:0000000000000007: 0000000000000007: object was deleted @0285cbacc06d3a4c TestLoad/py/msgpack=false: xtesting.go:290: load 7fffffffffffffff:0000000000000006: returned err unexpected: have: /tmp/zeo170183943/1.fs.zeosock: load 7fffffffffffffff:0000000000000006: 0000000000000006: no such object want: /tmp/zeo170183943/1.fs.zeosock: load 7fffffffffffffff:0000000000000006: 0000000000000006: object was deleted @0285cbad858bf2e6 TestLoad/py/msgpack=true: xtesting.go:272: load 0285cbacc06d3a4c:0000000000000007: returned err unexpected: have: /tmp/zeo247652538/1.fs.zeosock: load 0285cbacc06d3a4c:0000000000000007: 0000000000000007: no such object want: /tmp/zeo247652538/1.fs.zeosock: load 0285cbacc06d3a4c:0000000000000007: 0000000000000007: object was deleted @0285cbacc06d3a4c TestLoad/py/msgpack=true: xtesting.go:272: load 0285cbad858bf2e6:0000000000000006: returned err unexpected: have: /tmp/zeo247652538/1.fs.zeosock: load 0285cbad858bf2e6:0000000000000006: 0000000000000006: no such object want: /tmp/zeo247652538/1.fs.zeosock: load 0285cbad858bf2e6:0000000000000006: 0000000000000006: object was deleted @0285cbad858bf2e6 TestLoad/py/msgpack=true: xtesting.go:290: load 7fffffffffffffff:0000000000000007: returned err unexpected: have: /tmp/zeo247652538/1.fs.zeosock: load 7fffffffffffffff:0000000000000007: 0000000000000007: no such object want: /tmp/zeo247652538/1.fs.zeosock: load 7fffffffffffffff:0000000000000007: 0000000000000007: object was deleted @0285cbacc06d3a4c TestLoad/py/msgpack=true: xtesting.go:290: load 7fffffffffffffff:0000000000000006: returned err unexpected: have: /tmp/zeo247652538/1.fs.zeosock: load 7fffffffffffffff:0000000000000006: 0000000000000006: no such object want: /tmp/zeo247652538/1.fs.zeosock: load 7fffffffffffffff:0000000000000006: 0000000000000006: object was deleted @0285cbad858bf2e6 This is due to https://github.com/zopefoundation/ZODB/issues/318
-