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

Johannes Bauer updated ACCUMULO-3380:
-------------------------------------
    Description: 
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


  was:
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}} 


> 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)

Reply via email to