- 22 Oct, 2021 1 commit
-
-
Vincent Pelletier authored
MariaDB seems to be using inconsistent lock acquisition order when executing the activity reservation queries. As a consequence, it produces internal deadlocks, which it detects. Upon detection, it kills one of the involved query, which causes message reservation to fail, despite the presence of executable activities. To avoid depending on MariaDB internal lock acquisition order, acquire an explicit table-scoped lock before running the activity reservation queries. On an otherwise-idle 31 processing node cluster with the following activities spawned, designed to stress activity reservation queries (many ultra-short activities being executed one at a time): active_getTitle = context.getPortalObject().portal_catalog.activate( activity='SQLQueue', priority=5, tag='foo', ).getTitle for _ in xrange(40000): active_getTitle() the results are: - a 26% shorter activity execution time: from 206s with the original code to 152s - a 100% reduction in reported deadlocks from 300 with the original code to 0 There is room for further improvements at a later time: - tweaking the amount of time spent waiting for this new lock to be available, set for now at 1s. - possibly bypassing this lock altogether when there are too few processing nodes simultaneously enabled, or even in an adaptive reaction to deadlock errors actually happening. - cover more write accesses to these tables with the same lock From a production environment, it appears that the getReservedMessageList method alone is involved in 95% of these deadlocks, so for now this change only targets this method.
-
- 18 Oct, 2021 2 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
testRestrictedPythonSecurity imports *_black_list variables.
-
- 15 Oct, 2021 3 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
- start supporting newer astroid (untested) - lxml so files can be installed with names like 'builder.x86_64-linux-gnu.so'
-
Julien Muchembled authored
This fixes commit ea53f23e. See also commit d4f6a2cb.
-
- 14 Oct, 2021 1 commit
-
-
Julien Muchembled authored
This fixes commit ea53f23e: ERROR Application Couldn't install ERP5Type Traceback (most recent call last): File "OFS/Application.py", line 691, in install_product initmethod(context) File "Products/ERP5Type/__init__.py", line 141, in initialize initializeProductDocumentRegistry() File "Products/ERP5Type/InitGenerator.py", line 62, in initializeProductDocumentRegistry importLocalDocument(class_id, class_path=class_path) File "Products/ERP5Type/Utils.py", line 994, in importLocalDocument module = __import__(module_path, {}, {}, (module_path,)) File "Products/ERP5/Document/ExternalMethod.py", line 38, in <module> class ExternalMethod(XMLObject, ZopeExternalMethod, ExpressionMixin): TypeError: Error when calling the metaclass bases metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases What happened is that the API of ExpressionMixin changed in commit df85ef46 and the backward compatibility code (product/ERP5/mixin/expression.py) was broken. Also fix 'filter' tab on in the catalog. See also commit 6ad56d89.
-
- 12 Oct, 2021 2 commits
-
-
Julien Muchembled authored
-
Nicolas Wavrant authored
-
- 11 Oct, 2021 2 commits
-
-
Romain Courteaud authored
-
Romain Courteaud authored
-
- 07 Oct, 2021 1 commit
-
-
Jérome Perrin authored
Quantity unit was not defined in default supply property sheet, so the fields were created local properties, because the accessors were not existant. This change make the accessors for quantity unit on default supply lines generated. The implementation details is that it replaces priced_quantity, which was defined twice
-
- 05 Oct, 2021 1 commit
-
-
Romain Courteaud authored
See 09e0bbcf
-
- 04 Oct, 2021 2 commits
-
-
Romain Courteaud authored
-
Romain Courteaud authored
erp5_smart_assistant and erp5_travel_expense have cross looping dependencies. Install both bt5 for the tests, but the real fix would be to clean up those bt5.
-
- 01 Oct, 2021 2 commits
-
-
Romain Courteaud authored
-
Ivan Tyagov authored
-
- 30 Sep, 2021 3 commits
-
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
- 27 Sep, 2021 2 commits
-
-
Ivan Tyagov authored
See merge request nexedi/erp5!1494
-
Ivan Tyagov authored
Update local frontend slave with backend balanver's IPv6 address if Test Suite is configured to use a local frontend slave. This allows a develop to use a local frontend (possible in same machine) and avoid network effect from generated test results.
-
- 23 Sep, 2021 6 commits
-
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
See 1b5e3c72
-
Romain Courteaud authored
See nexedi/erp5@1a807abb which removes one translated string
-
Boxiang Sun authored
Stabilize random failures
-
Boxiang Sun authored
Add some assertElementPresent right after the waitForElementPresent to stop the stop in case of missing element.
-
- 22 Sep, 2021 1 commit
-
-
Xiaowu Zhang authored
-
- 21 Sep, 2021 8 commits
-
-
Romain Courteaud authored
This page gathers all informations linked to the current user: preference, person, language, logout. Drop all other language/preference links from other gadgets.
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
Drop user informations from language page
-
Romain Courteaud authored
Firefox disables IndexedDB in private mode. Use memory storage in such case. This allows user to have a normal erp5js usage until the window is reloaded.
-
- 20 Sep, 2021 3 commits
-
-
Romain Courteaud authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
See merge request nexedi/erp5!1493
-