You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Jerry Cwiklik (JIRA)" <de...@uima.apache.org> on 2019/03/22 21:33:00 UTC

[jira] [Comment Edited] (UIMA-6015) UIMA-DUCC: Uima version detection not working

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

Jerry Cwiklik edited comment on UIMA-6015 at 3/22/19 9:32 PM:
--------------------------------------------------------------

Seems like the best place to handle uima version detection is in DuccJobSubmit which runs in user mode. Additional benefit of moving detection is that if there is a problem with user classpath the CLI will fail fast and job will not be submitted.


was (Author: cwiklik):
Seems like the best place to handle uima version detection is in DuccJobSubmit which runs in user mode. Additional benefit of moving detection is that if there is a problem with user classpath the CLI will fai

> UIMA-DUCC: Uima version detection not working
> ---------------------------------------------
>
>                 Key: UIMA-6015
>                 URL: https://issues.apache.org/jira/browse/UIMA-6015
>             Project: UIMA
>          Issue Type: Bug
>          Components: DUCC
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>            Priority: Major
>             Fix For: 3.0.0-Ducc
>
>
> Before deploying a child process, an agent tries to determine which version of uima user wants to run with. It takes user specified classpath and loads the jars and resources into a Classloader. Using the Classloader it tries to instantiate UimaVersion class from uima-core.jar. The bug is that an agent tries to load the jar as user ducc. When the jar is located in a place which is not readable to ducc, the operation fails with:
> java.lang.ClassNotFoundException: org.apache.uima.impl.UimaVersion
>          at java.net.URLClassLoader.findClass(URLClassLoader.java:610)
>          at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:925)
>          at java.lang.ClassLoader.loadClass(ClassLoader.java:870)
>          at java.lang.ClassLoader.loadClass(ClassLoader.java:853)
>          at
>  org.apache.uima.ducc.agent.launcher.DuccCommandExecutor.getDeployableCommandLine(DuccCommandExecutor.java:819)
>          at
>  org.apache.uima.ducc.agent.launcher.DuccCommandExecutor.exec(DuccCommandExecutor.java:142)
>          at
>  org.apache.uima.ducc.agent.launcher.CommandExecutor.call(CommandExecutor.java:226)
>          at
>  org.apache.uima.ducc.agent.launcher.CommandExecutor.call(CommandExecutor.java:36)
>          at java.util.concurrent.FutureTask.run(FutureTask.java:277)
>          at
>  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160)
>          at
>  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>          at java.lang.Thread.run(Thread.java:812)
>  
> Also, in case a user fails to provide uima-core.jar and the code fails as shown above, set the reason for failure so it is clear in duccmon why the process failed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)