Hi John,

this thing is driving me crazy: yesterday evening I was triing to write a
flow_test to highlight this (supposed) issue but i couldn't get it. All the
tests worked fine....


I noticed this problem on a larger process definition, while testing it on
densha/ruote-web, so I throw away all and reduced to the test i posted, that
gave the problem here.

This is the process version tested:

<process-definition name="concurrent iterator problem" revision="1">

    <concurrent-iterator on-value="1, 2, 3" to-field="x">

        <sequence>
            <sequence>
                <participant ref="alpha" />
                <cancel-process if="${f:stop_here}" />
            </sequence>

            <participant ref="bravo" />
        </sequence>

    </concurrent-iterator>

</process-definition>


After launched, I edited the branch 1 creating the field stop_here = true.
After proceed this is the engine log:


OpenWFE::ExpressionPool 'expressionPool' - reply() to   (fei
concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0.0 participant)
OpenWFE::ExpressionPool 'expressionPool' - reply() from (fei
concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0.0 participant)
OpenWFE::Extras::ActivityFeedService 'activityFeedService' - call() c
'alpha' entries count : 3
OpenWFE::ParticipantExpression - unschedule_timeout() @timeout_job_id is
(oid 23456278094740)
OpenWFE::ExpressionPool 'expressionPool' - reply_to_parent() for (fei
concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0.0 participant)
OpenWFE::ExpressionPool 'expressionPool' - remove() fe  (fei
concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0.0 participant)
OpenWFE::CacheExpressionStorage 'expressionStorage' - :delete  for (fei
0.9.17 engine public/process_definitions/simple_sequence_2.xml
concurrent_iterator_problem 1 20080523-gutzupuguri.1 participant 0.0.0.0.0)
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' - :remove
for (fei concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0.0
participant)
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' - queue()
ops 1 size 0 -> 1
OpenWFE::ExpressionPool 'expressionPool' - reply() to   (fei
concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0 sequence)
OpenWFE::ExpressionPool 'expressionPool' - reply() from (fei
concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0.0 participant)
OpenWFE::CancelProcessExpression - store_itself() for  (fei
concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0.1
cancel-process)
OpenWFE::ExpressionPool 'expressionPool' - update() for (fei
concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0.1
cancel-process)
OpenWFE::CacheExpressionStorage 'expressionStorage' - :update  for (fei
0.9.17 engine public/process_definitions/simple_sequence_2.xml
concurrent_iterator_problem 1 20080523-gutzupuguri.1 cancel-process
0.0.0.0.1)
OpenWFE::CacheExpressionStorage 'expressionStorage' - []= caching (fei
0.9.17 engine public/process_definitions/simple_sequence_2.xml
concurrent_iterator_problem 1 20080523-gutzupuguri.1 cancel-process
0.0.0.0.1)
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' - :update
for (fei concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0.1
cancel-process)
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' - queue()
ops 2 size 1 -> 2
OpenWFE::CancelProcessExpression - do_eval_condition() 0 for  >true<
OpenWFE::CancelProcessExpression - do_eval_condition() 1 for  >true<
OpenWFE::CancelProcessExpression - to_boolean() o is _true_
OpenWFE::ExpressionPool 'expressionPool' - cancel_process()
'20080523-gutzupuguri.1'
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' - [] didn't
find file at
work_development/expool/gu/ri/20080523-gutzupuguri.1__0_process-definition.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.0__0.0.0.0.0_participant.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.0__0.0.0.0.1_cancel-process.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri__0.0_concurrent-iterator.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.2__0.0.0.0.1_cancel-process.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.1__0.0.0.0.0_participant.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri__0_process-definition.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.1__0.0.0_sequence.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.0__0.0.0.0_sequence.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri__0.0.0_sequence.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.1__0.0.0.0_sequence.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.0__0.0.0.1_participant.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.2__0.0.0.0_sequence.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.2__0.0.0.0.0_participant.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.1__0.0.0.0.1_cancel-process.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.1__0.0.0.1_participant.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.2__0.0.0_environment.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri__0_environment.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.0__0.0.0_sequence.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.2__0.0.0.1_participant.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.1__0.0.0_environment.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.0__0.0.0_environment.yaml
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
each_object_path() considering
work_development/expool/gu/ri/20080523-gutzupuguri.2__0.0.0_sequence.yaml
OpenWFE::ExpressionPool 'expressionPool' - expressionPool operation
:do_apply on (fei 0.9.17 engine
public/process_definitions/simple_sequence_2.xml concurrent_iterator_problem
1 20080523-gutzupuguri.1 cancel-process 0.0.0.0.1) failed with
exception : no process to cancel '20080523-gutzupuguri.1'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/expool/expressionpool.rb:419:in
`cancel_process'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/expressions/fe_cancel.rb:100:in
`apply'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/expressions/raw.rb:137:in
`apply'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/expool/expressionpool.rb:838:in
`do_apply'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/expool/expressionpool.rb:804:in
`send'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/expool/expressionpool.rb:804:in
`do_process_workelement'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/util/workqueue.rb:66:in
`start_workqueue'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/util/workqueue.rb:65:in
`loop'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/util/workqueue.rb:65:in
`start_workqueue'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/utils.rb:307:in
`call'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/utils.rb:307:in
`call_in_thread'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/utils.rb:295:in
`initialize'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/utils.rb:295:in
`new'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/utils.rb:295:in
`call_in_thread'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/util/workqueue.rb:64:in
`start_workqueue'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/expool/expressionpool.rb:121:in
`initialize'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/contextual.rb:78:in
`new'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/contextual.rb:78:in
`init_service'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/engine/engine.rb:852:in
`build_expression_pool'
/var/www/processmasterdevel/openwferu-densha-0.9.17/vendor/openwfe/engine/engine.rb:116:in
`initialize'
./config/openwferu_engine.rb:58:in `new'
./config/openwferu_engine.rb:58
/usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
/usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in
`require'
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342:in
`new_constants_in'
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in
`require'
./script/../config/../config/environment.rb:62
/usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
/usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in
`require'
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342:in
`new_constants_in'
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in
`require'
/usr/lib64/ruby/gems/1.8/gems/rails-1.2.5/lib/commands/servers/webrick.rb:52
/usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
/usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in
`require'
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342:in
`new_constants_in'
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in
`require'
/usr/lib64/ruby/gems/1.8/gems/rails-1.2.5/lib/commands/server.rb:39
/usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
/usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
script/server:3
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' -
process_queue() 2 events 2 ops
OpenWFE::ThreadedYamlFileExpressionStorage 'expressionStorage.1' - delete()
   for (fei concurrent_iterator_problem 1 20080523-gutzupuguri.1 0.0.0.0.0
participant)
   at
work_development/expool/gu/ri/20080523-gutzupuguri.1__0.0.0.0.0_participant.yaml


as result: the whole process goes in error state and the two participants
are still containing their workitems

Please give me some advice...

Thanks

Tomaso


On Fri, May 23, 2008 at 2:52 AM, John Mettraux <[EMAIL PROTECTED]>
wrote:

>
> Hello Tomaso,
>
> I have added a test for your bug report :
>
> http://rubyforge.org/tracker/index.php?func=detail&aid=20307&group_id=2609&atid=10023
>
> The test is at :
> http://github.com/jmettraux/ruote/tree/master/test/ft_45b_citerator.rb
>
> Seems like it's working fine on Ruote 0.9.18, I can't reproduce the issue.
>
>
> Just a quick note, the "cancel-process" expression accepts the "if"
> attribute, so you can write
>
> ---8<---
> <process-definition name="bug_20307" revision="0">
>  <concurrent-iterator on-value="1, 2, 3" to-field="x">
>    <sequence>
>      <participant ref="alpha" />
>      <cancel-process if="${f:stop_here}" />
>      <participant ref="bravo" />
>    </sequence>
>  </concurrent-iterator>
> </process-definition>
> --->8---
>
> http://openwferu.rubyforge.org/expressions.html#exp_cancel-process
>
>
> I will close the bug in a few days unless you have more information,
> thanks a lot,
>
> --
> John Mettraux - http://jmettraux.wordpress.com
>
> >
>


-- 
www.amicidelballoliscio.it

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"OpenWFEru users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/openwferu-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to