Engineering request for testing: stateful operations

Author Message

Bertrand Dunogier

Friday 14 January 2011 3:30:57 am

Hi !

Yesterday, we came across an issue in the workflow/operation system. While operations interrupted by a workflow (for instance approval) will be resumed where they left off, interruptions from an operation method will restart the operation from scratch. This is quite severe, even though it fortunately only affects the kernel aspect of operations. No default method that I know of halts an operation by default, and therefore it had never been seen.

You can see the issue here, as well as the proposed patch: http://issues.ez.no/IssueView.php?Id=17840.

If you have a possibility to test it, please do ! I'm especially interested in tests on systems where real life workflows are used, interactive or not, and whatever the operation is. If it is a custom operation, it is even bettter !

Please let me know here.

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

Gaetano Giunta

Friday 14 January 2011 5:10:46 am

1. Care to explain the interaction between interactions and operations, for the people who rae not that deep into them (or just forgopt ;-) ) ?

2. while working on this one thing that should be added to the current workflow events api is support for XA transactions: if an event at the end of the workflow ends in ABORT, the db transaction is currently rolled back, but the event handlers that previously executed get no chance to rollback their work

Principal Consultant International Business
Member of the Community Project Board

Bertrand Dunogier

Friday 14 January 2011 5:38:07 am

2) honestly, I can't add much more. I've already spent quite some time on this while it was unplanned, and really won't be able to fit more right now :(

1) which aspect exactly do you wish I elaborate upon here ? Just guide me, I'm a little slow today :)

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

Gaetano Giunta

Saturday 15 January 2011 4:55:00 am

About point 1: just general info about "operations" will do

- some operations have triggers (and thus can have workflows added to them), while some olthers do not declare triggers. Correct? The list of operations that have triggers is found in workflow.ini

- operations are grouped in modules; the ggsysinfo extension can be used to show all of the operations available on a given install

- operations are declared in a operation_definition.php file inside the module directory; every operation can consist of a series of php methods that will be invoked one after the other (eg. content/publish has 19 php methods in it)

- what are the expected return values for those php methods that are declared as part of oeprations, and how can they "interrupt" the operation?

Principal Consultant International Business
Member of the Community Project Board

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 29 2025 23:49:15
Script start
Timing: Jan 29 2025 23:49:15
Module start 'layout'
Timing: Jan 29 2025 23:49:15
Module start 'content'
Timing: Jan 29 2025 23:49:16
Module end 'content'
Timing: Jan 29 2025 23:49:16
Script end

Main resources:

Total runtime1.0299 sec
Peak memory usage4,096.0000 KB
Database Queries61

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0044 588.2813151.2266
Module start 'layout' 0.00440.0023 739.507836.6875
Module start 'content' 0.00671.0224 776.1953502.5547
Module end 'content' 1.02900.0008 1,278.750015.8125
Script end 1.0298  1,294.5625 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00300.2909160.0002
Check MTime0.00130.1260160.0001
Mysql Total
Database connection0.00060.062610.0006
Mysqli_queries0.990596.1795610.0162
Looping result0.00040.0397590.0000
Template Total1.001597.320.5008
Template load0.00220.210020.0011
Template processing0.999497.039420.4997
Template load and register function0.00010.007810.0001
states
state_id_array0.00090.083410.0009
state_identifier_array0.00110.108620.0006
Override
Cache load0.00180.1755250.0001
Sytem overhead
Fetch class attribute can translate value0.00090.091520.0005
Fetch class attribute name0.00090.089860.0002
XML
Image XML parsing0.00200.195720.0010
class_abstraction
Instantiating content class attribute0.00000.001080.0000
General
dbfile0.00340.3333220.0002
String conversion0.00000.000840.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
4content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
4content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
5content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1content/datatype/view/ezxmltags/link.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/link.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 16
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs