1. 21 May, 2019 4 commits
    • Vincent Pelletier's avatar
      ERP5Type.Core.Folder: Split _count on large containers. · 5dfae179
      Vincent Pelletier authored
      Divide conflict hot-spot to improve write performance: now, conflict risk
      will not be proportional to the number of zope processes, but only to the
      number of threads within considered process (...because there is no
      stable thread name, if there is one day and conflict splitting is needed,
      it will be easy to implement: just concatenate that name to node name in
      FragmentedLength._map).
      Automatically migrate to FragmentedCount on containers larger than 1k
      objects (this threshold may evolve).
      5dfae179
    • Vincent Pelletier's avatar
      ERP5Type.Base: Implement decentralised in-ZODB id generator. · 4f2f9487
      Vincent Pelletier authored
      Provide a way to generate ids on specific documents when they make sense.
      Reduces the risk of conflicts that portal_ids's in-ZODB id generator
      creates.
      Reset generator state on any copy (both copy/pase and clone), but not on
      move (cut/paste and setId).
      4f2f9487
    • Vincent Pelletier's avatar
      ERP5.Tool.CategoryTool, Folder: Resolve multi-inheritance from CopyContainer · c5cd1820
      Vincent Pelletier authored
      These two classes inherits from two classes implementing CopyContainer API:
      - ours, via low-priority bases
      - another one, via higher-priority bases, because these classes need
        some non-ERP5 methods to override ERP5 methods.
      So after defining these classes, resolve inheritance priority by binding
      all CopyContainer methods provided by their ERP5 base class, overriding
      the ones provided by their non-ERP5 bases while still allowing their ERP5
      base class to override the CopyContainer method.
      c5cd1820
    • Vincent Pelletier's avatar
      IdTool: Add poisoning support. · 564cca95
      Vincent Pelletier authored
      Allows for safe migration to another id generator, by preventing silent
      success of any piece of code still using the former generator, allowing
      its detection and resolution before duplicate ids are emitted.
      As a consequence, also allows on-demand and partial migration of id
      generators.
      564cca95
  2. 20 May, 2019 1 commit
  3. 16 May, 2019 4 commits
  4. 15 May, 2019 5 commits
  5. 13 May, 2019 3 commits
  6. 10 May, 2019 1 commit
  7. 06 May, 2019 2 commits
  8. 03 May, 2019 5 commits
  9. 02 May, 2019 5 commits
  10. 29 Apr, 2019 3 commits
  11. 26 Apr, 2019 2 commits
  12. 25 Apr, 2019 1 commit
  13. 24 Apr, 2019 4 commits
    • Sebastien Robin's avatar
      task_distribution: better distribute the work depending on the priority of test suites · 245e514a
      Sebastien Robin authored
      Before we were looking only create date of test results to give priority of work to do for a test nodes.
      So we had cases where some test suites with medium priority had 5 testnodes, and test suites with
      high priority having only 3 testnodes.
      
      So clearly distribute the work depending on the maximum quantity of testnode we want.
      245e514a
    • Sebastien Robin's avatar
      test result: immediately redraft test result line on task failure · fe3bf27f
      Sebastien Robin authored
      Right now we have this scenario:
      - test result line is started
      - sometimes, runTestSuite fails (like timeout), failure is reported
        but test result line remains started (we don't know yet which
        line is associated with testnode)
      - when a test result line is "started" since more than 4 hours,
        test result line is redrafted
      - test can be reexecuted
      Speed up by removing the need of waiting alarm, by knowing which
      test result line is executed by which test node, and by redrafting
      immediately the test result line on test node failure
      fe3bf27f
    • Vincent Pelletier's avatar
      ERP5Type: Allow overriding _getAcquireLocalRoles . · 58d4ab8e
      Vincent Pelletier authored
      Put auto-generated _getAcquireLocalRoles at the end of mro, removing it
      from Base.
      Also, document why it is treated specially here.
      Also, add _getAcquireLocalRoles methods on a few leaf classes whose
      instances fake being portal types, without actually being proper document
      instances. At least, the ones which are detected in unit tests. The
      proper fix would likely rather be to make them proper document classes,
      but this carries data migration concerns which go beyond the scope of
      this regression fix (_getAcquireLocalRoles was not possible to override
      anymore).
      58d4ab8e
    • Vincent Pelletier's avatar
      839e69d9