Products.CMFActivity.ActivityTool: Improve behaviour on single-node instances.
- Ignore node preference when spawning activities. Otherwise, activities which are not spawned with a preferred node will get an effective priority penalty compared to same-priority activities spawned *with* a node preference, despite both being to execute by the same processing node. - Break activity processing loop when the current processing node is also the activity validation node. This avoids pathological cases of activity accumulation, for example when reindexing an entire site: _recurseCallMethod is spawned in processing_node=0, but immediateReindexObject is spawned in processing_node=-1 because of serialization_tag dependency, so with such loop _recurseCallMethod will be executed over and over, piling indexation activities up until _recurseCallMethod does not self-respawn. In turn, such activity accumulation lead to an increased overhead, and decreased activity processing efficiency. This may also allow multi-node instances to more reliably use the validation node as a processing node. The cost for multi-node instances of these changes should be absolutely minimal (no extra IO necessary, minimal extra code). A possible drawback on single-node instances is that tic period may become more important because process_timer will return more often.
Status | Job ID | Name | Coverage | ||||||
---|---|---|---|---|---|---|---|---|---|
External | |||||||||
failed |
#306387
external
|
ERP5.CodingStyleTest-Master |
01:16:24
|
||||||
failed |
#306404
external
|
ERP5.PerformanceTest-Master |
00:23:42
|
||||||
failed |
#306423
external
|
ERP5.UnitTest-Master |
01:28:33
|
||||||
failed |
#306388
external
|
ERP5.UnitTest-Master.Medusa |
04:16:30
|
||||||
failed |
#305648
external
|
ERP5.UnitTest-TestRunner3 |
02:19:14
|
||||||
passed |
#306511
external
|
SlapOS.Eggs.UnitTest-Master.Python2 |
00:10:33
|
||||||
passed |
#306494
external
|
SlapOS.Eggs.UnitTest-Master.Python3 |
00:12:56
|
||||||
failed |
#306386
external
retried
|
ERP5.UnitTest-Master |
01:58:15
|
||||||
passed |
#306395
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python2 |
00:10:41
|
||||||
passed |
#306437
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python2 |
00:10:14
|
||||||
passed |
#306380
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python3 |
00:12:07
|
||||||
passed |
#306439
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python3 |
00:10:28
|
||||||