You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by Igor Vorobiov <ig...@gmail.com> on 2013/06/01 11:51:37 UTC

Cleanup problem when service is destroyed with axis2 1.6

Hi,

After migration ODE to axis2 1.6.1 I faced with the service cleanup problem. 
The problem is appeared when we redeploy process. After this redeployment
all services are cleaned up and we have only redeployed service. 
I've reviewed ode-axis2 sources and found the place where this cleanup is
happened. It is destroyService method of BindingContextImpl class. 
There we have axis configuration cleanup(_server._axisConfig.cleanup()) from
axis2-kernel library. 
Then I analyzed changes in kernel lib of cleanup() from AxisConfiguration
class (1.3 vs 1.6)  and found that in 1.6 there was added following code :
        if (clusteringAgent != null) {
            clusteringAgent.finalize();
        }
        this.policySupportedModules.clear();
        this.moduleConfigmap.clear();
        this.allEndpoints.clear();
        this.allModules.clear();
 -->  this.allServices.clear();
        this.outPhases.clear();
        this.messageReceivers.clear();
        this.targetResolvers.clear();
        if (this.engagedModules != null) {
            this.engagedModules.clear();
        }
        this.configurator = null;

Seems that we can't call _server._axisConfig.cleanup() when we use axis 1.6.

Is it correct to do cleanup of all axis config instead of cleanup only
related to destroyed service data?
If not then what should we clean for destroyed service?

Thanks,
Igor.
-- 
View this message in context: http://old.nabble.com/Cleanup-problem-when-service-is-destroyed-with-axis2-1.6-tp35577831p35577831.html
Sent from the Apache Ode Dev mailing list archive at Nabble.com.


Re: Cleanup problem when service is destroyed with axis2 1.6

Posted by Sathwik B P <sa...@gmail.com>.
Hi Igor,

Would you be able to raise a Jira for this.

regards,
sathwik

On Wed, Jun 5, 2013 at 3:54 PM, Sathwik B P <sa...@gmail.com> wrote:

> Hi Igor,
>
> Thanks for reporting about this issue. In my opinion call to cleanup the
> axisconfig should not happen, and absolutely not for axis2 1.6. I am not
> very sure why this call has been made.
> Seems like people faced some memory leaks in older versions and hence to
> cleanup this call might have been made. After some debugging on the ode
> trunk the only cleanup that happens is a timer object which is used by
> by a Scheduler within axis2 DeploymentEngine.
>
> regards,
> sathwik
>
>
> On Sat, Jun 1, 2013 at 3:21 PM, Igor Vorobiov <ig...@gmail.com>wrote:
>
>>
>> Hi,
>>
>> After migration ODE to axis2 1.6.1 I faced with the service cleanup
>> problem.
>> The problem is appeared when we redeploy process. After this redeployment
>> all services are cleaned up and we have only redeployed service.
>> I've reviewed ode-axis2 sources and found the place where this cleanup is
>> happened. It is destroyService method of BindingContextImpl class.
>> There we have axis configuration cleanup(_server._axisConfig.cleanup())
>> from
>> axis2-kernel library.
>> Then I analyzed changes in kernel lib of cleanup() from AxisConfiguration
>> class (1.3 vs 1.6)  and found that in 1.6 there was added following code :
>>         if (clusteringAgent != null) {
>>             clusteringAgent.finalize();
>>         }
>>         this.policySupportedModules.clear();
>>         this.moduleConfigmap.clear();
>>         this.allEndpoints.clear();
>>         this.allModules.clear();
>>  -->  this.allServices.clear();
>>         this.outPhases.clear();
>>         this.messageReceivers.clear();
>>         this.targetResolvers.clear();
>>         if (this.engagedModules != null) {
>>             this.engagedModules.clear();
>>         }
>>         this.configurator = null;
>>
>> Seems that we can't call _server._axisConfig.cleanup() when we use axis
>> 1.6.
>>
>> Is it correct to do cleanup of all axis config instead of cleanup only
>> related to destroyed service data?
>> If not then what should we clean for destroyed service?
>>
>> Thanks,
>> Igor.
>> --
>> View this message in context:
>> http://old.nabble.com/Cleanup-problem-when-service-is-destroyed-with-axis2-1.6-tp35577831p35577831.html
>> Sent from the Apache Ode Dev mailing list archive at Nabble.com.
>>
>>
>

Re: Cleanup problem when service is destroyed with axis2 1.6

Posted by Sathwik B P <sa...@gmail.com>.
Hi Igor,

Thanks for reporting about this issue. In my opinion call to cleanup the
axisconfig should not happen, and absolutely not for axis2 1.6. I am not
very sure why this call has been made.
Seems like people faced some memory leaks in older versions and hence to
cleanup this call might have been made. After some debugging on the ode
trunk the only cleanup that happens is a timer object which is used by
by a Scheduler within axis2 DeploymentEngine.

regards,
sathwik

On Sat, Jun 1, 2013 at 3:21 PM, Igor Vorobiov <ig...@gmail.com>wrote:

>
> Hi,
>
> After migration ODE to axis2 1.6.1 I faced with the service cleanup
> problem.
> The problem is appeared when we redeploy process. After this redeployment
> all services are cleaned up and we have only redeployed service.
> I've reviewed ode-axis2 sources and found the place where this cleanup is
> happened. It is destroyService method of BindingContextImpl class.
> There we have axis configuration cleanup(_server._axisConfig.cleanup())
> from
> axis2-kernel library.
> Then I analyzed changes in kernel lib of cleanup() from AxisConfiguration
> class (1.3 vs 1.6)  and found that in 1.6 there was added following code :
>         if (clusteringAgent != null) {
>             clusteringAgent.finalize();
>         }
>         this.policySupportedModules.clear();
>         this.moduleConfigmap.clear();
>         this.allEndpoints.clear();
>         this.allModules.clear();
>  -->  this.allServices.clear();
>         this.outPhases.clear();
>         this.messageReceivers.clear();
>         this.targetResolvers.clear();
>         if (this.engagedModules != null) {
>             this.engagedModules.clear();
>         }
>         this.configurator = null;
>
> Seems that we can't call _server._axisConfig.cleanup() when we use axis
> 1.6.
>
> Is it correct to do cleanup of all axis config instead of cleanup only
> related to destroyed service data?
> If not then what should we clean for destroyed service?
>
> Thanks,
> Igor.
> --
> View this message in context:
> http://old.nabble.com/Cleanup-problem-when-service-is-destroyed-with-axis2-1.6-tp35577831p35577831.html
> Sent from the Apache Ode Dev mailing list archive at Nabble.com.
>
>