lib/zodb/zstor_2zurl/NEO: support > 1 master nodes
The old code raised an explicit exception when converting a NEO storage with > 1 master nodes into a URI. Perhaps the rationale for this exception was that there isn't any agreed on order of master nodes in a NEO URI, which means that building a URI from such a storage could potentially break the invariant that any client which points to the same storage should result in the same WCFS mountpoint. With 6f5196fa we can now rely on WCFS mountpoint calculation to always return the same mountpoint even if the order of master node addresses differ. Therefore we can drop this exception and allow WCFS to support NEO clusters with more than one master. -------- kirr: support for multiple masters was simply not implemented because in a05db040 (lib/zodb: Teach zstor_2zurl about ZEO, NEO and Demo storages) I though that we do not yet actually need it and wanted to have something minimal first. I agree that in WCFS context it is ok and makes sense to normalize zurl to have masters coming in particular order. But at zstor_2zurl level we rely on the order of masters that app.nm.getMasterList gives us. The normalization is separate function. /reviewed-by @kirr /reviewed-on nexedi/wendelin.core!17
Showing
Please register or sign in to comment