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

Reply via email to