You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "vinay (JIRA)" <ji...@apache.org> on 2017/05/02 00:17:04 UTC

[jira] [Commented] (CMIS-1004) BridgeServiceFactory taking long time

    [ https://issues.apache.org/jira/browse/CMIS-1004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15991870#comment-15991870 ] 

vinay commented on CMIS-1004:
-----------------------------

Hello Muller,

Thanks for your suggestions but now we have a new issue.

 We are using apache chemistry v0.13.0 to build application. But with this version we are facing performance issue. 
 During performace and load test we observe that after 20 minutes threads are getting blocked and application becomes un-responsive.
 
 We incorporated multiple changes in our application to avoid thread block issue.Changes done
 1 ) upgraded xerces API from 2.8.0 to 2.11.0 
 2 ) Tomcat Class Loader : Using ParallelWebAppClassLoader, earlier it was set to WebAppClassLoader
 
 Even with the above changes, same issue persist.
 
 On further investigation we found out that threads are getting blocked on apache chemistry classes.
 We ran the same test using  chemistry-opencmis-bridge-0.13.0.war <<https://archive.apache.org/dist/chemistry/opencmis/0.13.0/>>
 In our Lab after running for almost (approx) 20 minutes, threads were blocked and on the same apache chemistry classes.
 Please find attached screen-shot of application thread analysis on which it was blocked.

Below is the environment details :
Server version: Apache Tomcat/8.0.21
Server built:   Mar 23 2015 14:11:21 UTC
Server number:  8.0.21.0
OS Name:        Linux
OS Version:     2.6.32-642.1.1.el6.x86_64
Architecture:   amd64
JVM Version:    1.8.0_25-b17
JVM Vendor:     Oracle Corporation

  
 Then we executed the same test using chemistry-opencmis-bridge-1.1.0.war. The test runs successfully (approx 1 hour) and found no issues.
 We tried to incorporate apache chemistry v1.1.0 jars into our application but it seems its a whole lot of changes needs to be done to upgrade it to latest version.
 
 Using apache chemistry v0.13.0, we are facing thread block. 
 Does apache chemistry team has any recommendation to be used to improve the performance and avoid this thread block issue while continue to use apache chemistry v0.13.0?

Thanks and Regards,
Vinay

> BridgeServiceFactory taking long time
> -------------------------------------
>
>                 Key: CMIS-1004
>                 URL: https://issues.apache.org/jira/browse/CMIS-1004
>             Project: Chemistry
>          Issue Type: Bug
>          Components: opencmis-bridge, opencmis-server
>    Affects Versions: OpenCMIS 1.1.0
>            Reporter: vinay
>
> Hi,
> We have a query around time taken by BridgeServiceFactory with every request. Below are the details of our implementation.
> We have created ServiceFactory class by extending AbstractBridgeServiceFactory and overriding below methods :
> 	@Override
> 	protected FilterCmisService createService(CallContext context)
> 	
> 	@Override
> 	public CmisService getService(CallContext context)
> 	@Override
> 	public void init(Map<String, String> parameters) : In this method we are enabling ServiceWrapper feature and then calling the super.init()
> 	
> We have observed that every SOAP request is taking more than 12 seconds to get the Service (i.e. getService(CallContext context) call)
> The overridden getService(CallContext context) method calls CachedBindingCmisService.setCallContext(CallContext context).
> Our assumtion was that since cache is in place first request will take time once cache gets warm up. And then all the subsequent call will utilize cache.
> But this is not happening and every request builds the cache.
> On further investigation we found that CachedBindingCmisService.getCmisBindingFromCache() method always return null. It is because the internal call to HttpSessionCmisService.getCmisBindingFromCache() not able to find the existing session 
> {
> 	HttpSession httpSession = getHttpSession(false) ---> This always return null.
> }
> Please let us know if there is way to improve and utilize the inbuilt cache mechanism. Or is it something missing while creating custom ServiceFactory class by extending AbstractBridgeServiceFactory.
> Thanks & Regards,
>  Vinay



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)