[
https://issues.apache.org/jira/browse/FLUME-2625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14327503#comment-14327503
]
Tony Reix commented on FLUME-2625:
----------------------------------
About TestLoadBalancingRpcClient, I got an error once, in first test log, which
seems "special".
And it seems related to "Too many open files". So not sure it is not related to
something not reproducible.
Since the first test log (mvn.Test.OpenJDK.res) is very different from the 7
others, please focus on this short list:
.source.avroLegacy.TestLegacyAvroSource
.sink.TestAvroSink
.channel.TestSpillableMemoryChannel
.source.TestExecSource
.channel.file.TestFileChannelRestart
# ./BuildUnstable.sh mvn.Test.OpenJDK.res4 mvn.Test.OpenJDK.res5
mvn.Test.OpenJDK.res6 mvn.Test.OpenJDK.res7 mvn.Test.OpenJDK.res8
mvn.Test.OpenJDK.res9 mvn.Test.OpenJDK.res10
Files:
0: mvn.Test.OpenJDK.res4
1: mvn.Test.OpenJDK.res5
2: mvn.Test.OpenJDK.res6
3: mvn.Test.OpenJDK.res7
4: mvn.Test.OpenJDK.res8
5: mvn.Test.OpenJDK.res9
6: mvn.Test.OpenJDK.res10
Unstable Tests:
.source.avroLegacy.TestLegacyAvroSource
.sink.TestAvroSink
.channel.TestSpillableMemoryChannel
.source.TestExecSource
.channel.file.TestFileChannelRestart
$ ./BuildUnstable.sh -A mvn.Test.OpenJDK.res4 mvn.Test.OpenJDK.res5
mvn.Test.OpenJDK.res6 mvn.Test.OpenJDK.res7 mvn.Test.OpenJDK.res8
mvn.Test.OpenJDK.res9 mvn.Test.OpenJDK.res10
Files:
0: mvn.Test.OpenJDK.res4
1: mvn.Test.OpenJDK.res5
2: mvn.Test.OpenJDK.res6
3: mvn.Test.OpenJDK.res7
4: mvn.Test.OpenJDK.res8
5: mvn.Test.OpenJDK.res9
6: mvn.Test.OpenJDK.res10
Unstable Tests:
--------------------------------------- T F E S |
.channel.TestSpillableMemoryChannel 0: 0 0 0 0 |
.channel.TestSpillableMemoryChannel 1: 14 0 0 0 |
.channel.TestSpillableMemoryChannel 2: 0 0 0 0 |
.channel.TestSpillableMemoryChannel 3: 0 0 0 0 |
.channel.TestSpillableMemoryChannel 4: 0 0 0 0 |
.channel.TestSpillableMemoryChannel 5: 14 0 0 0 |
.channel.TestSpillableMemoryChannel 6: 0 0 0 0 |
--------------------------------------- T F E S |
.source.avroLegacy.TestLegacyAvroSource 0: 2 0 2 0 |
.source.avroLegacy.TestLegacyAvroSource 1: 2 0 1 0 |
.source.avroLegacy.TestLegacyAvroSource 2: 2 0 1 0 |
.source.avroLegacy.TestLegacyAvroSource 3: 2 0 1 0 |
.source.avroLegacy.TestLegacyAvroSource 4: 2 0 1 0 |
.source.avroLegacy.TestLegacyAvroSource 5: 2 0 1 0 |
.source.avroLegacy.TestLegacyAvroSource 6: 2 0 1 0 |
--------------------------------------- T F E S |
.source.TestExecSource 0: 10 0 0 0 |
.source.TestExecSource 1: 10 0 0 0 |
.source.TestExecSource 2: 10 0 0 0 |
.source.TestExecSource 3: 10 1 0 0 |
.source.TestExecSource 4: 10 0 0 0 |
.source.TestExecSource 5: 10 0 0 0 |
.source.TestExecSource 6: 10 1 0 0 |
--------------------------------------- T F E S |
.channel.file.TestFileChannelRestart 0: 40 0 0 0 |
.channel.file.TestFileChannelRestart 1: 40 0 0 0 |
.channel.file.TestFileChannelRestart 2: 40 0 0 0 |
.channel.file.TestFileChannelRestart 3: 40 1 0 0 |
.channel.file.TestFileChannelRestart 4: 40 0 0 0 |
.channel.file.TestFileChannelRestart 5: 40 0 0 0 |
.channel.file.TestFileChannelRestart 6: 40 0 0 0 |
--------------------------------------- T F E S |
.sink.TestAvroSink 0: 15 0 15 0 |
.sink.TestAvroSink 1: 15 0 0 0 |
.sink.TestAvroSink 2: 15 0 0 0 |
.sink.TestAvroSink 3: 15 0 0 0 |
.sink.TestAvroSink 4: 15 0 0 0 |
.sink.TestAvroSink 5: 15 0 0 0 |
.sink.TestAvroSink 6: 15 0 0 0 |
==================================================================
Running org.apache.flume.channel.TestSpillableMemoryChannel
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
Maven was unable to capture the result of the 14 tests.
==================================================================
Running org.apache.flume.source.avroLegacy.TestLegacyAvroSource
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.408 sec <<<
FAILURE!
testLifecycle(org.apache.flume.source.avroLegacy.TestLegacyAvroSource) Time
elapsed: 324 sec <<< ERROR!
org.apache.avro.AvroRuntimeException: java.net.BindException: Address already
in use
at org.apache.avro.ipc.HttpServer.start(HttpServer.java:102)
at
org.apache.flume.source.avroLegacy.AvroLegacySource.start(AvroLegacySource.java:114)
at
org.apache.flume.source.avroLegacy.TestLegacyAvroSource.testLifecycle(TestLegacyAvroSource.java:93)
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:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:444)
at sun.nio.ch.Net.bind(Net.java:436)
at
sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at
org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
at
org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:315)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.Server.doStart(Server.java:235)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.apache.avro.ipc.HttpServer.start(HttpServer.java:100)
... 32 more
==================================================================
Running org.apache.flume.source.TestExecSource
Tests run: 10, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 16.899 sec <<<
FAILURE!
testMonitoredCounterGroup(org.apache.flume.source.TestExecSource) Time
elapsed: 1093 sec <<< FAILURE!
org.junit.ComparisonFailure: Expected Value: 5 expected:<[5]> but was:<[0]>
at org.junit.Assert.assertEquals(Assert.java:125)
at
org.apache.flume.source.TestExecSource.testMonitoredCounterGroup(TestExecSource.java:273)
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:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Same error appeared 2 times.
Running org.apache.flume.source.TestExecSource
Tests run: 10, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 16.899 sec <<<
FAILURE!
testMonitoredCounterGroup(org.apache.flume.source.TestExecSource) Time
elapsed: 1091 sec <<< FAILURE!
org.junit.ComparisonFailure: Expected Value: 5 expected:<[5]> but was:<[0]>
==================================================================
Running org.apache.flume.sink.TestAvroSink
Tests run: 15, Failures: 0, Errors: 15, Skipped: 0, Time elapsed: 0.737 sec <<<
FAILURE!
testSslSinkWithNonSslServer(org.apache.flume.sink.TestAvroSink) Time elapsed:
329 sec <<< ERROR!
org.jboss.netty.channel.ChannelException: Failed to bind to: /127.0.0.1:41414
at
org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:297)
at org.apache.avro.ipc.NettyServer.<init>(NettyServer.java:106)
at org.apache.avro.ipc.NettyServer.<init>(NettyServer.java:119)
at org.apache.avro.ipc.NettyServer.<init>(NettyServer.java:74)
at org.apache.avro.ipc.NettyServer.<init>(NettyServer.java:68)
at
org.apache.flume.sink.TestAvroSink.createServer(TestAvroSink.java:447)
at
org.apache.flume.sink.TestAvroSink.testSslSinkWithNonSslServer(TestAvroSink.java:558)
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:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:444)
at sun.nio.ch.Net.bind(Net.java:436)
at
sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at
org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.bind(NioServerSocketPipelineSink.java:140)
at
org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleServerSocket(NioServerSocketPipelineSink.java:90)
at
org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:64)
at org.jboss.netty.channel.Channels.bind(Channels.java:569)
at
org.jboss.netty.channel.AbstractChannel.bind(AbstractChannel.java:189)
at
org.jboss.netty.bootstrap.ServerBootstrap$Binder.channelOpen(ServerBootstrap.java:342)
at org.jboss.netty.channel.Channels.fireChannelOpen(Channels.java:170)
at
org.jboss.netty.channel.socket.nio.NioServerSocketChannel.<init>(NioServerSocketChannel.java:80)
at
org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.newChannel(NioServerSocketChannelFactory.java:158)
at
org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.newChannel(NioServerSocketChannelFactory.java:86)
at
org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:276)
... 35 more
==================================================================
Running org.apache.flume.channel.file.TestFileChannelRestart
Tests run: 40, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 120.723 sec
<<< FAILURE!
testCorruptInflightPutsWithBackup(org.apache.flume.channel.file.TestFileChannelRestart)
Time elapsed: 2649 sec <<< FAILURE!
java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:92)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.junit.Assert.assertTrue(Assert.java:54)
at
org.apache.flume.channel.file.TestFileChannelRestart.doTestCorruptInflights(TestFileChannelRestart.java:523)
at
org.apache.flume.channel.file.TestFileChannelRestart.testCorruptInflightPutsWithBackup(TestFileChannelRestart.java:423)
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:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
> There are several unstable tests within FLUME
> ---------------------------------------------
>
> Key: FLUME-2625
> URL: https://issues.apache.org/jira/browse/FLUME-2625
> Project: Flume
> Issue Type: Bug
> Components: Test
> Affects Versions: v1.5.0.1
> Environment: RHEL 7.1 / x86_64 / Open JDK 1.7
> Reporter: Tony Reix
>
> Hi,
> I'm working on porting FLUME in a RHEL 7.1 / PPC64LE / IBM JVM 1.7
> environment.
> As an example, I've found that the test .source.TestSyslogUdpSource fails,
> but not always, only 7 times out of 10 tries. Testing on RHEL 7.1 / x86_64 /
> IBM JVM, I've also had random failures.
> Running the same .source.TestSyslogUdpSource test in RHEL 7.1 / x86_64 / Open
> JDK 1.7 environment, I've found that this test fails only once out of 30
> tries: it is an "unstable" test.
> In order to find which test issues are specific to PPC64 or IBMJVM
> environment, I've run 10 times all the FLUME tests in the RHEL 7.1 / x86_64 /
> Open JDK 1.7 environment, which I call my "reference" environment.
> Then, using a tool that compares all the results, I've found that there are
> 16 tests that are "unstable" in my "reference" (x86_64/OpenJDK) .
> By "unstable", I mean to say that the results vary, though the environment is
> exactly the same.
> These tests are:
> .api.TestLoadBalancingRpcClient
> .api.TestThriftRpcClient
> .channel.file.TestFileChannelRestart
> .channel.TestSpillableMemoryChannel
> .instrumentation.http.TestHTTPMetricsServer
> .sink.TestAvroSink
> .sink.TestThriftSink
> .source.avroLegacy.TestLegacyAvroSource
> .source.http.TestHTTPSource
> .source.TestAvroSource
> .source.TestExecSource
> .source.TestMultiportSyslogTCPSource
> .source.TestSyslogTcpSource
> .source.TestSyslogUdpSource
> .source.TestThriftSource
> .source.thriftLegacy.TestThriftLegacySource
> About ".source.TestSyslogUdpSource" test, my analysis is that the test code
> is not reliable since the test checks that some data is correct without
> checking that all the "messages" have arrived (sometimes, a message has not
> arrived in time, and a reference is NULL).
> Adding "sleep(1000) to the test with IBM JVM, the test then failed only 3
> times out of 10.
> So, I think that several FLUME tests are coded in a way that is not 100%
> reliable. Or it could also be that some core code of FLUME is not 100%
> reliable.
> I mean to say that some code may have been written based on the specific
> behaviour of the OpenJDK Java Virtual Machine, which was used for testing.
> Some change about how the order of threads are launched, or about the time
> needed to send messages in the JVM/OS, may lead to issues that are not
> correctly handled by the code (mainly test code, but maybe core code too).
> And it seems that, though being perfectly correct, the IBM JVM does not work
> the same way compared to OpenJDK.
> So, this is a pain. Mainly in my PPC64LE/IBMJVM environment.
> I think that these 16 tests must be analysed and improved.
> Also, running tests with OpenJDK AND IBM JVM in your development and
> test/Jenkins environments would help to see these random issues.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)