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

Karl Wright edited comment on CONNECTORS-1143 at 1/14/15 3:42 PM:
------------------------------------------------------------------

Inspecting the code, I think I may understand the issue.  Basically, the 
connector instances are pooled.  New connector instances are created in a 
ManifoldCF process only when an instance can't be found to use in the pool.  
Each local pool is periodically apportioned among all MCF processes, based on 
usage patterns over the previous five seconds.

So, what I'm saying is this: unless your agents process(es) STOP using 
connector instances for a given connection name for a while (in which case the 
pool is definitely flushed), the old connector instances based on the previous 
version of the connection configuration will stick around and be reused.  This 
has been the case since MCF 1.5.

I can envision making this more robust, by keeping the configuration along with 
the connection name for each pooled connector instance.  Then, it should be 
possible to recognize when a connector instance pulled from the pool is not one 
that can be used, and create a new one instead.

However, please continue to confirm that caching is really the culprit in your 
case.


was (Author: [email protected]):
Inspecting the code, I think I may understand the issue.  Basically, the 
connector instances are pooled.  New connector instances are created in a 
ManifoldCF process only when an instance can't be found to use in the pool.  
Each local pool is periodically apportioned among all MCF processes, based on 
usage patterns over the previous five seconds.

So, what I'm saying is this: unless your agents process(es) STOP using 
connector instances for a given connection name for a while (in which case the 
pool is definitely flushed), the old connector instances based on the previous 
version of the connection configuration will stick around and be reused.  This 
has been the case since MCF 1.5.

I can envision making this more robust, by keeping the configuration along with 
the connection name for each pooled connector instance.  Then, it should be 
possible to recognize when a connection pulled from the pool is not one that 
can be used, and create a new one instead.

However, please continue to confirm that caching is really the culprit in your 
case.

> Problem with cached versions of e.g. a repository connection
> ------------------------------------------------------------
>
>                 Key: CONNECTORS-1143
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-1143
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Framework core
>    Affects Versions: ManifoldCF 1.5.1, ManifoldCF 1.6.1, ManifoldCF 1.7.2, 
> ManifoldCF 1.8, ManifoldCF 2.0
>            Reporter: Daniel Aschauer
>            Assignee: Karl Wright
>             Fix For: ManifoldCF 1.9, ManifoldCF 2.1
>
>
> I have some issues when i change settings in repository connection:
> I had to change the password for my connection (JIRA), i review the 
> connection and it works.
> However the related job(s) keep failing because of an unautorized error. What 
> is more i created a new job with the repository connection and it failed too.
> I don't know how these things are kept cached in Manifold. Is this a bug or 
> do I have to do some regular cleanup??



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to