[ 
https://issues.apache.org/jira/browse/UIMA-2143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bruno Freudensprung updated UIMA-2143:
--------------------------------------

    Description: 
If you have this remote Vinci cas processor (configured to continue in case of 
error) in a CPE (that has 4 processing pipelines):
    {{<casProcessors casPoolSize="5" processingUnitThreadCount="4">
        <casProcessor deployment="remote" name="Analytics2">
            <descriptor>
                <include href="Default_Analytics2.xml"/>
            </descriptor>
            <deploymentParameters>
                <parameter name="vnsHost" type="string" value="localhost"/>
                <parameter name="vnsPort" type="string" value="9000"/>
                <parameter name="service-access" type="string" 
value="exclusive"/>
            </deploymentParameters>
            <errorHandling>
                <errorRateThreshold action="continue" value="3/1000"/>
                <maxConsecutiveRestarts action="continue" value="5" 
waitTimeBetweenRetries="30000"/>
                <timeout max="2700000" default="-1"/>
            </errorHandling>
            <checkpoint batch="1" time="1000ms"/>
        </casProcessor>}}

When the corresponding Vinci service is restarted during the CPE execution, the 
CPE cannot correctly reconnect the 4 pipelines to the 4 instances of the Vinci 
service. This happens only in a multiple processing units environment.
This is due to the fact that, in case of error, the failed CasProcessors are 
put in a list of failed processors and that processors are never removed from 
this list. The consequence is the CPE always try to fix the first processor.

The problem seems to be located in: 
uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/container/deployer/vinci/VinciCasProcessorDeployer.java

Patch proposal attached.



  was:
If you have this remote Vinci cas processor (configured to continue in case of 
error) in a CPE (that has 4 processing pipelines):
    <casProcessors casPoolSize="5" processingUnitThreadCount="4">
        <casProcessor deployment="remote" name="Analytics2">
            <descriptor>
                <include href="Default_Analytics2.xml"/>
            </descriptor>
            <deploymentParameters>
                <parameter name="vnsHost" type="string" value="localhost"/>
                <parameter name="vnsPort" type="string" value="9000"/>
                <parameter name="service-access" type="string" 
value="exclusive"/>
            </deploymentParameters>
            <errorHandling>
                <errorRateThreshold action="continue" value="3/1000"/>
                <maxConsecutiveRestarts action="continue" value="5" 
waitTimeBetweenRetries="30000"/>
                <timeout max="2700000" default="-1"/>
            </errorHandling>
            <checkpoint batch="1" time="1000ms"/>
        </casProcessor>

When the corresponding Vinci service is restarted during the CPE execution, the 
CPE cannot correctly reconnect the 4 pipelines to the 4 instances of the Vinci 
service. This happens only in a multiple processing units environment.
This is due to the fact that, in case of error, the failed CasProcessors are 
put in a list of failed processors and that processors are never removed from 
this list. The consequence is the CPE always try to fix the first processor.




> CPE can't reconnect to restarted instances of a Vinci service 
> --------------------------------------------------------------
>
>                 Key: UIMA-2143
>                 URL: https://issues.apache.org/jira/browse/UIMA-2143
>             Project: UIMA
>          Issue Type: Bug
>          Components: Collection Processing
>    Affects Versions: 2.3.1SDK
>         Environment: Window XP
>            Reporter: Bruno Freudensprung
>
> If you have this remote Vinci cas processor (configured to continue in case 
> of error) in a CPE (that has 4 processing pipelines):
>     {{<casProcessors casPoolSize="5" processingUnitThreadCount="4">
>         <casProcessor deployment="remote" name="Analytics2">
>             <descriptor>
>                 <include href="Default_Analytics2.xml"/>
>             </descriptor>
>             <deploymentParameters>
>                 <parameter name="vnsHost" type="string" value="localhost"/>
>                 <parameter name="vnsPort" type="string" value="9000"/>
>                 <parameter name="service-access" type="string" 
> value="exclusive"/>
>             </deploymentParameters>
>             <errorHandling>
>                 <errorRateThreshold action="continue" value="3/1000"/>
>                 <maxConsecutiveRestarts action="continue" value="5" 
> waitTimeBetweenRetries="30000"/>
>                 <timeout max="2700000" default="-1"/>
>             </errorHandling>
>             <checkpoint batch="1" time="1000ms"/>
>         </casProcessor>}}
> When the corresponding Vinci service is restarted during the CPE execution, 
> the CPE cannot correctly reconnect the 4 pipelines to the 4 instances of the 
> Vinci service. This happens only in a multiple processing units environment.
> This is due to the fact that, in case of error, the failed CasProcessors are 
> put in a list of failed processors and that processors are never removed from 
> this list. The consequence is the CPE always try to fix the first processor.
> The problem seems to be located in: 
> uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/container/deployer/vinci/VinciCasProcessorDeployer.java
> Patch proposal attached.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to