[
https://issues.apache.org/jira/browse/ACCUMULO-2400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13911765#comment-13911765
]
ASF subversion and git services commented on ACCUMULO-2400:
-----------------------------------------------------------
Commit 0e746a29aba50d67d42d09d4a6be5fcb4b951b91 in accumulo's branch
refs/heads/master from [~ecn]
[ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=0e746a2 ]
ACCUMULO-2400 read the output file, not stdout
> race condition in ExamplesIT
> ----------------------------
>
> Key: ACCUMULO-2400
> URL: https://issues.apache.org/jira/browse/ACCUMULO-2400
> Project: Accumulo
> Issue Type: Bug
> Environment: 6395840418046d8b3a923a4bfb3e4ba486c5dcd0
> Reporter: Keith Turner
> Assignee: Eric Newton
> Fix For: 1.6.0
>
>
> Saw ExamplesIT fail with the following exception. Looking at the code I
> think there is a race condition. The test calls the MAC.exec() function to
> create a process and then reads from stdout of the process. The MAC exec
> function starts a background thread to read from stdout. If this background
> thread reads stdout before the test I think it will fail in the following
> way. Probably need to fix everywhere MAC exec is used in this way. Could
> either read from the file MAC creates or pass an option to MAC.exec() to not
> start the background thread.
> {noformat}
> java.io.IOException: Stream closed
> at
> java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:162)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:325)
> at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
> at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
> at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
> at java.io.InputStreamReader.read(InputStreamReader.java:184)
> at java.io.BufferedReader.fill(BufferedReader.java:154)
> at java.io.BufferedReader.readLine(BufferedReader.java:317)
> at java.io.BufferedReader.readLine(BufferedReader.java:382)
> at
> org.apache.accumulo.test.functional.ExamplesIT.testClasspath(ExamplesIT.java:172)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at
> org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)