Re: Illegal transaction ID/parent transaction ID

2019-11-07 Thread SREEJITH va
Ok thanks Karl.

On Fri, Nov 8, 2019, 02:20 Karl Wright  wrote:

> Have you tried deploying the combined war on tomcat instead?
>
> I honestly do not know what is wrong but if the combined war works you
> have something to compare/contrast against.
>
> Karl
>
>
> On Thu, Nov 7, 2019 at 2:45 PM SREEJITH va  wrote:
>
>> 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  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 
>>> 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
>>
>


Re: Illegal transaction ID/parent transaction ID

2019-11-07 Thread Karl Wright
Have you tried deploying the combined war on tomcat instead?

I honestly do not know what is wrong but if the combined war works you have
something to compare/contrast against.

Karl


On Thu, Nov 7, 2019 at 2:45 PM SREEJITH va  wrote:

> 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  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 
>> 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
>


Re: Illegal transaction ID/parent transaction ID

2019-11-07 Thread SREEJITH va
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  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  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


Re: Illegal transaction ID/parent transaction ID

2019-11-07 Thread Karl Wright
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  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
>