[
https://issues.apache.org/jira/browse/ACCUMULO-3380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14234115#comment-14234115
]
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: https://issues.apache.org/jira/browse/ACCUMULO-3380
> 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}
> java.io.IOException: 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(ProcessBuilder.java:1047)
> at
> org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl._exec(MiniAccumuloClusterImpl.java:277)
> at
> org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl._exec(MiniAccumuloClusterImpl.java:300)
> at
> org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl.start(MiniAccumuloClusterImpl.java:442)
> at
> org.apache.accumulo.minicluster.MiniAccumuloCluster.start(MiniAccumuloCluster.java:72)
> {code}
> I recommend to change the implementation to putting the classpath into the
> variable {{CLASSPATH}}, as described in
> http://unserializableone.blogspot.de/2007/10/solution-to-classpath-too-long-aka.html
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)