• Kirill Smelkov's avatar
    wcfs: v↑ neo/go · f237dc35
    Kirill Smelkov authored
    This brings ZODB/go updates to support Python3 from
    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 neo@efde5253...6235fb60 for full list of changes.
    (+) see neo@078b6262, neo@1e87fe5b,
        https://github.com/kisielk/og-rek/pull/68 and https://github.com/kisielk/og-rek/pull/75 for details.
    f237dc35
treeenv.go 11.9 KB