accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-2400) race condition in ExamplesIT
Date Tue, 25 Feb 2014 17:36:26 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-2400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13911764#comment-13911764
] 

ASF subversion and git services commented on ACCUMULO-2400:
-----------------------------------------------------------

Commit 0e746a29aba50d67d42d09d4a6be5fcb4b951b91 in accumulo's branch refs/heads/1.6.0-SNAPSHOT
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)

Mime
View raw message