manifoldcf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Wright (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CONNECTORS-1143) Problem with cached versions of e.g. a repository connection
Date Wed, 14 Jan 2015 15:43:35 GMT

    [ 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: kwright@metacarta.com):
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)

Mime
View raw message