Thanks Karl, Here is quick summary on how I embedded Manifold in my application.
- All the required manifold jar dependencies are in pom. - The properties.xml is served through org.apache.manifoldcf.configfile settings in catalina.properties - There is an application ready Lister where I do following things. IThreadContext tc = ThreadContextFactory.make(); ManifoldCF.initializeEnvironment(tc); ManifoldCF.registerThisAgent(tc); ManifoldCF.reregisterAllConnectors(tc); AgentsDaemon.startAgents(threadContext) One thing which I observed is that the "threadContext" which is using for API *AgentsDaemon.startAgents( threadContext )* is different than the other initialization APIs. Is this causing this issue?. But I can create jobs and its running for while (may be weeks or months) until I am start getting this exception. I mean I don't know the pattern which this is happening. And I am still trying to understand that overlapping of thread that you mentioned in previous mail. On Thu, Nov 7, 2019 at 10:57 PM Karl Wright <daddy...@gmail.com> wrote: > How are you embedding ManifoldCF in your application? > > What looks like is happening is that thread contexts are being lost > somehow. ManifoldCF uses thread contexts to keep track of worker > thread-local information, and it appears that you are calling into > ManifoldCF code assuming that (for example) Thread A can close Thread B's > transactions. That doesn't work. > > Karl > > > On Thu, Nov 7, 2019 at 12:22 PM SREEJITH va <va.sreej...@gmail.com> wrote: > >> Hi All, >> >> I have an spring based application in which Manifold is embedded and >> running in tomcat. At some point I am getting below exceptions. Any lead >> on why this happening would be greatly appreciated. >> >> One scenario in which I can see this in my logs is while shutting down >> the tomcat. And if it happens during the run time, Any further call to >> manifold services will all fail with the same exception. >> >> org.apache.manifoldcf.core.interfaces.ManifoldCFException: Illegal parent >> transaction ID: 1573141219180 >> at >> org.apache.manifoldcf.core.cachemanager.CacheManager.startTransaction(CacheManager.java:696) >> at >> org.apache.manifoldcf.core.database.Database.beginTransaction(Database.java:241) >> at >> org.apache.manifoldcf.core.database.DBInterfacePostgreSQL.beginTransaction(DBInterfacePostgreSQL.java:1188) >> at >> org.apache.manifoldcf.core.database.DBInterfacePostgreSQL.beginTransaction(DBInterfacePostgreSQL.java:1158) >> at >> org.apache.manifoldcf.crawler.jobs.JobManager.manualAbort(JobManager.java:6900) >> >> Caused by: org.apache.manifoldcf.core.interfaces.ManifoldCFException: >> Illegal transaction ID: '1573140884596' >> at >> org.apache.manifoldcf.core.cachemanager.CacheManager.enterCache(CacheManager.java:288) >> at >> org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:100) >> at >> org.apache.manifoldcf.core.database.Database.executeQuery(Database.java:204) >> at >> org.apache.manifoldcf.core.database.DBInterfacePostgreSQL.performQuery(DBInterfacePostgreSQL.java:837) >> at >> org.apache.manifoldcf.core.database.BaseTable.performQuery(BaseTable.java:221) >> at >> org.apache.manifoldcf.agents.transformationconnmgr.TransformationConnectorManager.getConnectors(TransformationConnectorManager.java:253) >> >> -- >> Regards >> -Sreejith >> > -- Regards -Sreejith