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/21 19:23:00 UTC

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

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

Jerry Cwiklik updated UIMA-6015:
--------------------------------
    Description: 
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. It than switches context and using the classloader 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.

  was:
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. It than switches context and using the classloader 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)


> 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. It than switches context and using the classloader 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)