accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Johannes Bauer (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-3380) MiniAccumuloCluster does not work with long classpath under Windows.
Date Thu, 04 Dec 2014 10:52:12 GMT


Johannes Bauer commented on ACCUMULO-3380:

Both problems relate to the classpath when new processes are started by MiniAccumuloClusterImpl
under Windows. 

> MiniAccumuloCluster does not work with long classpath under Windows. 
> ---------------------------------------------------------------------
>                 Key: ACCUMULO-3380
>                 URL:
>             Project: Accumulo
>          Issue Type: Bug
>          Components: mini
>    Affects Versions: 1.6.0, 1.6.1
>         Environment: MS Windows
>            Reporter: Johannes Bauer
> When I run the MiniAccumuloCluster in a bigger test environment, it happens, that the
classpath gets very long, in my example about 30,000 bytes. 
> When the MiniAccumuloCluster starts other processes, it gets the classpath in the {{getClasspath()}}
function of {{MiniAccumuloClusterImpl}} . 
> It basically takes the classpath of the running process, and adds the temp directory
and hands it to the new process with the {{-cp}} option in line 249 (1.6.0) : 
> {code}
>     argList.addAll(Arrays.asList(javaBin, "-Dproc=" + clazz.getSimpleName(), "-cp", classpath));
> {code}
> In my example, adding the tmp-directory just enlarges the length of the classpath over
the 32,768-limit for the java-commandline. My test ends with the error
> {code}
> Cannot run program "C:\Program Files\Java\jdk1.7.0_67\jre\bin\java":
CreateProcess error=206, The filename or extension is too long
> at java.lang.ProcessBuilder.start(
> at org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl._exec(
> at org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl._exec(
> at org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl.start(
> at org.apache.accumulo.minicluster.MiniAccumuloCluster.start(
> {code}
> I recommend to change the implementation to putting the classpath into the variable {{CLASSPATH}},
as described in 

This message was sent by Atlassian JIRA

View raw message