Commit e256ed97 authored by Kirill Smelkov's avatar Kirill Smelkov

wendelin.core: v↑ 0.13 -> 2.0.alpha1

Update to wendelin.core 2, which reached its alpha state.

Even though it is wendelin.core 2, it continues to work by default in
wendelin.core 1 mode with providing the same stability guarantees as
before. This mode works with all ZODB4, ZODB4-wc2 and ZODB5. However
every Zope has its own private cache for ZBigFile data which wastes RAM,
prevents us to use as many Zopes as there are CPU cores, and potentially
leads to OOM issues where one Zope tend to allocate whole memory while
other Zopes cannot allocate even a single page. This mode, as well as
previous Wendelin.core 1, is also subject to data-corruption that can
happen on ZBigFile's BTree topology change:

nexedi/wendelin.core@8c32c9f6

WCFS mode - that is what wendelin.core 2 actually provides over
wendelin.core 1 - is currently opt-in. When used in "WCFS mode", all
Zopes share cache for ZBigFile data and there should be no data
corruption. This mode works with both ZODB4-wc2 and ZODB5, but not with
plain ZODB4. The way to opt-in into this mode for a software-release is
to set `erp5-defaults:wcfs-enable-default = true`, like SlapOS Master
currently does:

    # SlapOS Master needs to use Wendelin.core 2.
    # Wendelin.core 2 works with either ZODB4-wc2, or ZODB5, but not with ZODB4.
    # ERP5 does not currently work with ZODB5.
    # -> this leaves ZODB4-wc2 as the only choice.
    [ZODB]
    major = 4-wc2

    [erp5-defaults]
    wcfs-enable-default = true

Remove activate-WC2-preview.cfg as wendelin.core 2 is no longer draft
and there should be no need to use my personal repository and dirty
branch anymore.
parent e870252f
# SlapOS extension that switches Wendelin.core to Wendelin.core 2 preview.
#
# Should go away once wendelin.core 2 lands to nexedi/wendelin.core@master.
# Must be extended from last, for example:
#
# [buildout]
# extends =
# .../stack/erp5/buildout.cfg
# .../component/wendelin.core/activate-WC2-preview.cfg
[wendelin.core-repository]
repository = https://lab.nexedi.com/kirr/wendelin.core.git
branch = t
revision =
# Wendelin.core 2 targets Go1.17
[gowork]
golang = ${golang1.17:location}
......@@ -50,7 +50,7 @@ CGO_LDFLAGS += -Wl,-rpath=${zlib:location}/lib
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/wendelin.core.git
branch = master
revision = v0.13-0-gb26ba55
revision = wendelin.core-2.0.alpha1-0-g49f826b1
# dir is pretty name as top-level recipe
location = ${buildout:parts-directory}/wendelin.core
git-executable = ${git:location}/bin/git
[buildout]
extends =
../../software/erp5/software.cfg
../../component/wendelin.core/activate-WC2-preview.cfg
buildout.hash.cfg
parts +=
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment