You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "ZHAO Wenfeng (JIRA)" <ji...@apache.org> on 2009/08/13 16:34:15 UTC

[jira] Created: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
-----------------------------------------------------------------------------------------------------------------------

                 Key: ODE-647
                 URL: https://issues.apache.org/jira/browse/ODE-647
             Project: ODE
          Issue Type: Bug
    Affects Versions: 1.3.3
         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
            Reporter: ZHAO Wenfeng
            Priority: Critical


Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:

ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
	at java.lang.Thread.run(Thread.java:595)

And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Alexis Midon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790574#action_12790574 ] 

Alexis Midon commented on ODE-647:
----------------------------------

Tammo,

thanks for the patch. I reviewed the code and here are my comments:

#1. the _axisServiceWatchDog is supposed to make sure the ServiceClient is updated if the service config file is updated. I think your patch breaks this in 2 places:
   a. the first time a CachedServiceClient is created, the config file is not applied (Cf. reconfigureService(null) ). 
   b. the ServiceFileObserver only updates the ServiceClient of the current thread while the associated WatchDog is shared by all threads. So let's say that thread t1 invokes _axisServiceWatchDog.check() and update its ServiceClient instance (ServiceFileObserver.onUpdate), thread t2 will not see the change for two potential reasons: WatchDog.check() actally checks the monitored resource only every 20 seconds and the service file has not changed since thread t1 checked.

So I think each CachedServiceClient should have its own WatchDog instance to monitor the service config file. 

#2 same thing for _axisOptionsWatchDog although the initialization is correct.

Alexis

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Alexis Midon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12758931#action_12758931 ] 

Alexis Midon commented on ODE-647:
----------------------------------

Let's upgrade to axis2 1.5 and see how it goes.

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Ciaran Jessup (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12787435#action_12787435 ] 

Ciaran Jessup commented on ODE-647:
-----------------------------------

I do as it happens, we subject ODE to a *LOT* of load when testing ;)

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tammo van Lessen resolved ODE-647.
----------------------------------

      Assignee: Tammo van Lessen  (was: Alexis Midon)
    Resolution: Fixed

fixed in r932995

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Tammo van Lessen
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647-trunk.patch, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "hbdrawn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12861676#action_12861676 ] 

hbdrawn commented on ODE-647:
-----------------------------

Tammo Van Lessen said it was fixed in r932995,this infor is here http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/SoapExternalService.java?r1=931512&r2=932995&diff_format=h
but i changed by it .and the result is that the time of its appearence reduces,but it still will appear sometimes.although it is normally normal. 


> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Tammo van Lessen
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647-trunk.patch, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Terry Mueller (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Terry Mueller updated ODE-647:
------------------------------

    Attachment: ODE-647-trunk.patch

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647-trunk.patch, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Alexis Midon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12788820#action_12788820 ] 

Alexis Midon commented on ODE-647:
----------------------------------

I checked the axis2 code as well and noticed the same pitfall. However the leak can be avoided if we make sure the AxisService is properly removed from AxisConfig when an AxisService instance is re-created. This happens in org.apache.ode.axis2.SoapExternalService.ServiceFileObserver#init when the the service config file is updated. At that time, we would have to remove the service instance from the AxisConfig without disturbing any current invocations.
In the current implementation, this is done when invoking ServiceClient#cleanUp.

With the solution a., I think each thread should have a service instance and a service client. On each invocation, the thread will check if the service config has changed. If so, the existing ServiceClient should be cleanUp (which removes the service instance from the axis config), then a new service instance (with a unique name) and a new ServiceClient would be created. 
In that case, I don't see any synchronization issue.

I like a. better of course, much more optimized than d. 

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Wenfeng Zhao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wenfeng Zhao updated ODE-647:
-----------------------------

    Attachment: ODE-647-outputs.txt

Thank Denis for confirming. 

For your reference, what I post this time is a newly gotten whole console output of ODE (and a seperate Axis2 running also in the Tomcat if any) of a run of Tomcat during which the fault took place, as posted into the mail list just now. 

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Priority: Critical
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "hbdrawn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12861676#action_12861676 ] 

hbdrawn edited comment on ODE-647 at 4/28/10 1:39 AM:
------------------------------------------------------

Tammo Van Lessen said it was fixed in r932995,this infor is here http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/SoapExternalService.java?r1=931512&r2=932995&diff_format=h


      was (Author: hbdrawn):
    Tammo Van Lessen said it was fixed in r932995,this infor is here http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/SoapExternalService.java?r1=931512&r2=932995&diff_format=h
but i changed by it .and the result is that the time of its appearence reduces,but it still will appear sometimes.although it is normally normal. 

  
> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Tammo van Lessen
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647-trunk.patch, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12788618#action_12788618 ] 

Tammo van Lessen commented on ODE-647:
--------------------------------------

Hi Alexis,
I checked the Axis2 source code and came to the conclusion that d) would basically lead to the same memory leak that r790694 tried to close. I think if ODE is hammered with requests that start lots of service invocations, the garbage collector will probably pretty busy with collecting one-time AxisClients. WDYT? If you don't mind, I'll create a patch for approach a).
--Tammo

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Ciaran Jessup (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762614#action_12762614 ] 

Ciaran Jessup commented on ODE-647:
-----------------------------------

I can confirm that Daniel Maier's change (uggghh!) also works for me, we've now pushed through over a million transactions with concurrencies of up to 10 at a time and not seen the issues (and crucially for the first time ever ODE is no longer running out of memory for us!) 

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Alexis Midon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12788426#action_12788426 ] 

Alexis Midon commented on ODE-647:
----------------------------------

I think option .d would be to create a new ServiceClient on each invocation.
Based on the feedback I got from axis2 mailing list [1], creating a ServiceClient is not that expensive.
I'll provide an implementation of this so that Ciaran can test the impact on performances.
Thanks in advance Ciaran! ;)

[1] http://markmail.org/message/2ijv5rcljiai4s6x

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Daniel Maier (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12757869#action_12757869 ] 

Daniel Maier commented on ODE-647:
----------------------------------

i had also the "name already exists in the system" problem. i solved it for me with replacing the org.apache.axis2.client.ServiceClient.class in the file axis2-kernel-1.3.jar with the latest one from axis2 (version 1.5 or 1.4.1). i know its quick and dirty  ;)  and i don't know if it causes new errors, but for me it works. perhaps for others also.

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Priority: Critical
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Denis Weerasiri (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12742951#action_12742951 ] 

Denis Weerasiri commented on ODE-647:
-------------------------------------

I had the same problem with the latest trunk.

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: ZHAO Wenfeng
>            Priority: Critical
>         Attachments: ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "William Liu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12854310#action_12854310 ] 

William Liu commented on ODE-647:
---------------------------------

Hi!

This bug still exists when using Axis2 1.5.1. And is it solved in 1.3.4? I have downloaded a 1.3.4 SNAPSHOT war from http://hudson.zones.apache.org/hudson/job/ODE-1.x/, and still encounters this exception. This war is provided by Rafał Rusin when helping me solve the event handler problem ODE634 (http://issues.apache.org/jira/browse/ODE-634).

Is there any suggestions for me as an ODE user to fix this problem? Thank you very much!

LIU

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647-trunk.patch, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Alexis Midon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexis Midon updated ODE-647:
-----------------------------

    Fix Version/s: 1.3.4
         Assignee: Alexis Midon

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Alexis Midon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790579#action_12790579 ] 

Alexis Midon commented on ODE-647:
----------------------------------

Tammo,

thanks for the patch. I reviewed the code and here are my comments:

#1. the _axisServiceWatchDog is supposed to make sure the ServiceClient is updated if the service config file is updated. I think your patch breaks this in 2 places:
   a. the first time a CachedServiceClient is created, the config file is not applied (Cf. reconfigureService(null) ). 
   b. the ServiceFileObserver only updates the ServiceClient of the current thread while the associated WatchDog is shared by all threads. So let's say that thread t1 invokes _axisServiceWatchDog.check() and update its ServiceClient instance (ServiceFileObserver.onUpdate), thread t2 will not see the change for two potential reasons: WatchDog.check() actally checks the monitored resource only every 20 seconds and the service file has not changed since thread t1 checked.

So I think each CachedServiceClient should have its own WatchDog instance to monitor the service config file. 

#2 same thing for _axisOptionsWatchDog although the initialization is correct.

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "ZHAO Wenfeng (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ZHAO Wenfeng updated ODE-647:
-----------------------------

    Attachment: ODE647.zip

The attached is all needed to replay the exception - the process, 3 component services(running in Axis2 - 1.4.1), and the SOAP request message to the process.      In runtime, 
first component service (fakeAmazonService) will be invoked once; then 
the 2nd  one(WriterInfoService)  4 times; and then 
the 3rd one(CountryInfoService) 4 times. 
The exception appeared during almost every run of the process, sometimes when invoking the 2nd service, sometimes the 3rd one.

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: ZHAO Wenfeng
>            Priority: Critical
>         Attachments: ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12787424#action_12787424 ] 

Tammo van Lessen commented on ODE-647:
--------------------------------------

I could reproduce this bug on ODE-trunk even with Axis 1.4.1. The issue is slightly different but still occurs. During a long debug session last night I could isolate the issue. See my findings below:

The issue has been introduced by r790694 which basically fixes a memory leak with Axis2. Without this change set, Axis2 didn't complain about an existing service with the same name, instead it removes the old ServiceClient and registeres the new one with a new ServiceGroupContext. This is probably leaking some memory.

The bug itself is a synchronization issue in SoapExternalService caused by a static thread-local object that serves as a cache for ServiceClient objects. SoapExternalServices represent external partner services and are called by the engine to invoke those partners. The invocation itself is deferred and may be executed concurrently by multiple threads (pooled by an ExecutorService). See also ODE-382. So theoretically it is possible to have two concurrent workers calling the same partner with different (or even the same) operation, hence the workers should not use the same axis2 service client as this would cause strange side-effects. From what I could get from the class' history, this scenario is the reason why a thread-local object has been introduced.

Back to bug: Having a thread-local cache basically means that each worker has it's own cache. Unfortunately, we don't route external invocations to the same thread but instead get randomly one from the pool.

Assume we have 2 of x threads {t1, t2} and 2 services {s1, s2}.
1. ODE calls s1, the pool chooses t1: (t1, s1).invoke
2. ODE calls s2, the pool chooses t2: (t2, s2).invoke

Now t1 has stored the ServiceClient for s1 in its thread-local cache and t2 the ServiceClient for s2

3. ODE calls s1 again, but this time the pool returns t2: (t2, s1).invoke

Now the thread-local cache for t2 returns s2, we run into the if-branch in SoapExternalService.getServiceClient(), clean up and discard the s2-ServiceClient (why?) and re-create s1, which is still registered with Axis2, hence it bitterly complains.

Now the question is, what would be the best fix?

I see two possibilities:
  a) Fix thread-local caching. The current caching strategy is IMO not really helpful as it is caching exactly 1 serviceclient instance per thread, and the chance that the same thread is interacting with this particular service again is not really high (depending on the pool size, /dev/urandom and the current weather conditions). An option would be to give each thread a cache set, so that each thread can have multiple service clients (in the worst case for each SoapExternalService). The services must have different names so that concurring workers interacting with the same external service use different service client instances. However, we have to find a way to release them again at some point in time.
  b) Drop the thread-local caching and synchronize access to the ServiceClient associated with SoapExternalService.
  c) you tell me.

As I currently don't know how expensive creation and storage of ServiceClient instances is, I'd like to know what you think. a), b), or even c)?

Thanks,
  Tammo


> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tammo van Lessen updated ODE-647:
---------------------------------

    Attachment: ODE-647.patch

I've attached a patch for this issue. Could you please test and/or review it? If it works as expected, I'm going to commit it to 1.x and trunk.

We decided to go for the thread-local cached solution, each thread is now maintaining its own list of service clients. They expire after 30 seconds and then need to be recreated.

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Ciaran Jessup (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12787429#action_12787429 ] 

Ciaran Jessup commented on ODE-647:
-----------------------------------

;) I described this in a mailing list post back in July (which was missed/ignored as they often seem to be :( ) : http://old.nabble.com/Subversion-update-has-killed-my-workflows-%3A%28-td24720145.html#a24720145 

Glad you've now traced this as well ;)  I'm interested that you say using the latest axis kernel jar does not fix it, but I suspect as I discuss in the mailing list *all* my invokes hit the same actual service it resolve that particular aspect of the bug for me in my special (brokerage) case!

I'm glad to see some work on this bug as its presence makes ODE unusable :( currently. (We're shipping with forked versions at the moment, but would prefer to be aligned with the official one!) 

As to a,b or c  I'd be a bit nervious about the performance hit of b (given I *do* hit the same service all the time!)  I'm currently investigating other synchronisation bottlenecks in ODE (around ChannelFactory) so adding more would be a bit bobbins :(  However I don't know the correct solution (otherwise I would have provided one back in July!)


> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Terry Mueller (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Terry Mueller updated ODE-647:
------------------------------

    Attachment:     (was: ODE-647-trunk.patch)

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647-trunk.patch, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Alexis Midon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexis Midon updated ODE-647:
-----------------------------

    Comment: was deleted

(was: Tammo,

thanks for the patch. I reviewed the code and here are my comments:

#1. the _axisServiceWatchDog is supposed to make sure the ServiceClient is updated if the service config file is updated. I think your patch breaks this in 2 places:
   a. the first time a CachedServiceClient is created, the config file is not applied (Cf. reconfigureService(null) ). 
   b. the ServiceFileObserver only updates the ServiceClient of the current thread while the associated WatchDog is shared by all threads. So let's say that thread t1 invokes _axisServiceWatchDog.check() and update its ServiceClient instance (ServiceFileObserver.onUpdate), thread t2 will not see the change for two potential reasons: WatchDog.check() actally checks the monitored resource only every 20 seconds and the service file has not changed since thread t1 checked.

So I think each CachedServiceClient should have its own WatchDog instance to monitor the service config file. 

#2 same thing for _axisOptionsWatchDog although the initialization is correct.)

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12787434#action_12787434 ] 

Tammo van Lessen commented on ODE-647:
--------------------------------------

Thanks, Ciaran. I read your post, however it took a while to deep dive into that issue (it's not just the check in axis but rather the caching mechanism). I just forgot to quote your mail, sorry for that and the delayed response. 

Do you currently have a setup handy that would allow you to test a patch (for a and/or b) wrt to performance and memory consumption?

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "Terry Mueller (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12801696#action_12801696 ] 

Terry Mueller commented on ODE-647:
-----------------------------------

Tammo's patch worked for me, although I had to manually apply the diff against trunk. I've attached the subsequent patch.

(Note: I haven't done anything about Alexis's two comments...)

> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647-trunk.patch, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (ODE-647) Multiple consecutive invocations to a service might incur an axis2.AxisFault of "two services cannot have same name".

Posted by "William Liu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12854310#action_12854310 ] 

William Liu edited comment on ODE-647 at 4/7/10 3:20 AM:
---------------------------------------------------------

Hi!

In your discussion, do you mean to change the axis2 inside ODE to 1.5 or the component service container to axis2 1.5? I have tested the later, which is upgrade the container of the component service to Axis2 v1.5, and the bug still exists.

And is it solved in 1.3.4? I have downloaded a 1.3.4 SNAPSHOT war from http://hudson.zones.apache.org/hudson/job/ODE-1.x/, and still encounters this exception. This war is provided by Rafał Rusin when helping me solve the event handler problem ODE634 (http://issues.apache.org/jira/browse/ODE-634).

Is there any suggestions for me as an ODE user to fix this problem? Thank you very much!

LIU

      was (Author: williamxliu):
    Hi!

This bug still exists when using Axis2 1.5.1. And is it solved in 1.3.4? I have downloaded a 1.3.4 SNAPSHOT war from http://hudson.zones.apache.org/hudson/job/ODE-1.x/, and still encounters this exception. This war is provided by Rafał Rusin when helping me solve the event handler problem ODE634 (http://issues.apache.org/jira/browse/ODE-634).

Is there any suggestions for me as an ODE user to fix this problem? Thank you very much!

LIU
  
> Multiple consecutive invocations to a service might  incur an axis2.AxisFault of  "two services cannot have same name".
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ODE-647
>                 URL: https://issues.apache.org/jira/browse/ODE-647
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.3.3
>         Environment: ODE1.3.3, Tomcat 5.5.9, Sun JVM 1.5, Windows XP SP3
>            Reporter: Wenfeng Zhao
>            Assignee: Alexis Midon
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ODE-647-outputs.txt, ODE-647-trunk.patch, ODE-647.patch, ODE647.zip
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Although version 1.3.2 and 2.0 are OK,   with ODE 1.3.3, it seems that multiple consecutive invocations to a same component service might incur the following exception:
> ERROR - GeronimoLog.error(108) | Error sending message to Axis2 for ODE mex {PartnerRoleMex#hqejbhcnphr4i3dscxlf10 [PID {http://scqr.bupt.edu.cn/solution}process_SyntheticBookService_sol2-12] calling null.operation1(...)}
> org.apache.axis2.AxisFault: Two services cannot have same name.  A service with the axis_service_for_{http://example.org/writerInfo}writerInfoService#writerInfoPort_hqejbhcnphr4i3dscxlf0r name already exists in the system.
> 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:172)
> 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:139)
> 	at org.apache.ode.axis2.SoapExternalService.getServiceClient(SoapExternalService.java:281)
> 	at org.apache.ode.axis2.SoapExternalService.invoke(SoapExternalService.java:140)
> 	at org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:52)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:781)
> 	at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> 	at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> 	at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> And I noted that a similar problem has been discussed in 2007( https://issues.apache.org/jira/browse/AXIS2-1182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476874 ).  But I'm not clear whether there are relations between the two problems.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.