[ https://issues.apache.org/jira/browse/UIMA-6015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16799371#comment-16799371 ]
Jerry Cwiklik commented on UIMA-6015: ------------------------------------- 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)