Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
slapos slapos
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 123
    • Merge requests 123
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedi
  • slaposslapos
  • Merge requests
  • !661

Merged
Created Dec 01, 2019 by Julien Muchembled@jmOwner

NEO/ERP5: new schema of parameters, with overriding mechanism

  • Overview 5
  • Commits 5
  • Pipelines 9
  • Changes 13

The main change is a new and unique way to override parameters depending on where these parameters are used:

  • for NEO, the goal is to avoid a huge node_list value (in particular with MyRocks settings), whereas most of the time all values in the list are the same
  • for ERP5, we need a way to define different ZODB cache settings depending on the zope id (e.g. huge cache for some specialized zopes, a small cache for the validation node, etc. whereas currently a huge cache for all nodes would waste a lot of RAM)

For any key=value parameter that can be overridden, overriding is done as follows:

  • key defines the default value (not required if the SR already defines one)
  • key!=[[pattern, value],...]: the SR takes the value of the first 2-tuple whose some reference matches the pattern

For NEO:

  • new node_count and node parameters
  • node! can be used to override node: the reference is the partition reference (node-<i> for standalone NEO, and neo-<i> for ERP5)
  • node_list is deprecated (if still passed, the new parameters must not be present)

For ERP5 ZODB settings, parameters can be overridden at both:

  • zodb level (e.g. pool-size, cache-size... oh, I've just discovered there exists cache-size-bytes)
  • storage level (e.g. compress, cache-size, etc. in the case of NEO)

Here, the reference is the zope id (e.g. actitivies-0)

The pattern is a Python regex that must match the whole reference.

Another not-so-small change is that the schema is fixed to only require NEO cluster parameter when instanciating a standalone NEO.

And a few fixes.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: override_parameters
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7