You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by "Byung-Gon Chun (JIRA)" <ji...@apache.org> on 2014/12/17 18:21:13 UTC

[jira] [Closed] (REEF-75) Local runtime drops the last classpath entry when creating Driver

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

Byung-Gon Chun closed REEF-75.
------------------------------
    Resolution: Fixed

> Local runtime drops the last classpath entry when creating Driver
> -----------------------------------------------------------------
>
>                 Key: REEF-75
>                 URL: https://issues.apache.org/jira/browse/REEF-75
>             Project: REEF
>          Issue Type: Bug
>          Components: REEF Runtime Local
>         Environment: Seen on Mac OS X, probably applies to other environments.
>            Reporter: Brian Cho
>            Assignee: Brian Cho
>
> I've noticed that the local runtime drops the last classpath entry when creating the Driver command.
> TLDR; The fix is removing double quotes from the classpath. Apparently, java does not do any quote removal or anything of that sort for its options.
> {{JavaLaunchCommandBuilder#setClassPath}} adds double quotes to the classpath. But, {{LocalClasspathProvider}} doesn't remove these double quotes, so the first and last entry have a fleeting quote (e.g. {{last-entry.jar"}}) and thus discarded when the file is not found. By chance, the first entry is always {{reef/local/*}} which isn't a file, and gets added back anyway via {{ClasspathProvider}}!
> As far as I can tell, {{LocalClasspathProvider}} isn't wrong to use the string as-is (with the quotes). It's really {{JavaLaunchCommandBuilder#setClassPath}}'s fault for adding them.
> I found this while tracking down a bug with [~yunseong]. Ironically, we've also been discussing {{JavaLaunchCommandBuilder}} at REEF-69.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)