• Kirill Smelkov's avatar
    wcfs: v↑ neo/go · 5c2a7455
    Kirill Smelkov authored
    This brings ZODB/go updates to support Python3 from
    kirr/neo!8 that we will need to
    support Python3(*). For now do not add any py3 support on wcfs side - just
    update neo/go with preserving wcfs/py2 in working state.
    
    Note that this ZODB/go update brings backward incompatible changes to
    activate StrictUnicode and PyDict modes(+) on unpickling and also changes
    API of zodb.Map to follow that PyDict mode. We thus need to update
    go bits inside wcfs because else compilation and tests, expectedly,
    start to break in the following ways
    
        # lab.nexedi.com/nexedi/wendelin.core/wcfs/internal/xbtree/xbtreetest
        internal/xbtree/xbtreetest/treeenv.go:292:24: zroot.Data undefined (type *zodb.Map has no field or method Data)
    
        # lab.nexedi.com/nexedi/wendelin.core/wcfs/internal/zdata [lab.nexedi.com/nexedi/wendelin.core/wcfs/internal/zdata.test]
        ./δftail_test.go:737:16: zroot.Data undefined (type *zodb.Map has no field or method Data)
    
        --- FAIL: TestZBlk (0.00s)
            --- FAIL: TestZBlk/py2_pickle1 (0.00s)
        panic: ZBlk0(0000000000000002): loadBlkData: wendelin.bigfile.file_zodb.ZBlk0(0000000000000002): activate: pysetstate: expect str; got ogórek.ByteString [recovered]
                panic: ZBlk0(0000000000000002): loadBlkData: wendelin.bigfile.file_zodb.ZBlk0(0000000000000002): activate: pysetstate: expect str; got ogórek.ByteString
    
        --- FAIL: TestΔFtail (0.98s)
        panic: root['treegen/values']: key ["a"]: expected str, got ogórek.ByteString [recovered]
                panic: file:///tmp/TestΔFtail4275282346/001/1.fs: @03fb8a25642d1e88: get blktab: root['treegen/values']: key ["a"]: expected str, got ogórek.ByteString [recovered]
                panic: file:///tmp/TestΔFtail4275282346/001/1.fs: @03fb8a25642d1e88: get blktab: root['treegen/values']: key ["a"]: expected str, got ogórek.ByteString
    
        --- FAIL: TestΔBTail (1.13s)
        panic: root['treegen/values']: key ["a"]: expected str, got ogórek.ByteString [recovered]
                panic: file:///tmp/TestΔBTail3238267558/001/1.fs: @03fb8a212cd06933: get blktab: root['treegen/values']: key ["a"]: expected str, got ogórek.ByteString [recovered]
                panic: file:///tmp/TestΔBTail3238267558/001/1.fs: @03fb8a212cd06933: get blktab: root['treegen/values']: key ["a"]: expected str, got ogórek.ByteString
    
    The changes are minimal just to keep wcfs/py2 working ok. We will do more changes in the follow-up patches to support py3.
    
    All the changes in go.mod and go.sum are produced automatically by sole `go get lab.nexedi.com/kirr/neo/go@t+ypy3`.
    
    (*) see kirr/neo@efde5253...6235fb60 for full list of changes.
    (+) see kirr/neo@078b6262, kirr/neo@1e87fe5b,
        https://github.com/kisielk/og-rek/pull/68 and https://github.com/kisielk/og-rek/pull/75 for details.
    
    /proposed-for-review-at !27 (comment 217042)
    5c2a7455
zblk.go 13.3 KB