Page 1 of 1

3.5.77 TrackStudio DevPack Soap calls File Lock Error

PostPosted: Sat Feb 13, 2016 1:28 am
by ECRStevens
Hello,

I'm working on soap commands for Track Studio 3, and 5. My current problem has to do with the 3.5.77
TrackStudio DevPack.

I have a simple recursive function which attempts to print information about the Parent Tasks (any task that ins't based off of a workflow and category, but has children which do use a workflow/category set up). I'm running into an issue on 5-6 specific Parent Tasks which produce the following error when I attempt to get the children.

Code is similar to the below.
Code: Select all
Task task;
TaskBean parentTask;
TaskBean[] children=task.getChildren(sessionId,parentTask.getId())

My code runs fine if I have it avoid calling this function on the specific parent tasks that break it (meaning it can run this function on over 90% of the parent tasks, just not a specific subset which appear to not have much in common aside from the error).

What does this error mean, and how can it be addressed?
Code: Select all
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: com.trackstudio.exception.GranException: Lock obtain timed out: Lock@/jcaps/appserver/apache-tomcat-7.0.29/temp/lucene-918540e7ac00b41743393ab7907f40c5-write.lock
 faultActor:
 faultNode:
 faultDetail:
   {http://xml.apache.org/axis/}stackTrace:com.trackstudio.exception.GranException: Lock obtain timed out: Lock@/jcaps/appserver/apache-tomcat-7.0.29/temp/lucene-918540e7ac00b41743393ab7907f40c5-write.lock
   at com.trackstudio.kernel.cache.TaskCacheItem.getAttachments(TaskCacheItem.java:547)
   at com.trackstudio.secured.SecuredTaskBean.hasAttachments(SecuredTaskBean.java:574)
   at com.trackstudio.secured.SecuredTaskBean.getSOAP(SecuredTaskBean.java:643)
   at com.trackstudio.soap.service.Task.getChildren(Task.java:146)
   at sun.reflect.GeneratedMethodAccessor246.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:601)
   at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
   at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
   at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
   at com.trackstudio.soap.TSAxisServlet.doPost(TSAxisServlet.java:21)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
   at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:124)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)



Thanks!

Re: 3.5.77 TrackStudio DevPack Soap calls File Lock Error

PostPosted: Sun Feb 14, 2016 2:39 pm
by Petr
Hello. Unfortunately, we don't support the version 3.5 more. We can help to migrate your db and script to TrackStudio version 5.

Re: 3.5.77 TrackStudio DevPack Soap calls File Lock Error

PostPosted: Thu Feb 18, 2016 9:45 pm
by ECRStevens
Just in case anybody else is running into this error, I'm still not sure about the root cause but the issue has mostly been resolved.

Last night Track Studio was brought down, and brought back up this morning, and now the subset of tasks I was encountering the error on upon calling task.getChildren(sessionId,parentTask.getId()) has been reduced from about 6 tasks, to just 2. Luckily for the me, we have little interest concerning soap commands in the two tasks that refuse to list their children.