Gaffer icon indicating copy to clipboard operation
Gaffer copied to clipboard

Investigate intermittent RoadTrafficRestApiITs test failure

Open d47853 opened this issue 3 years ago • 1 comments

When run with maven, the RoadTrafficRestApiITs>RoadTrafficTestQueries.checkRoadJunctionsInSouthWestHeavilyUsedByBusesIn2000 test fails intermittently.

The error messages seem to indicate that the store is not returning correct number of expected elements:

[ERROR] Failures: 
[ERROR]   RoadTrafficRestApiITs>RoadTrafficTestQueries.checkRoadJunctionsInSouthWestHeavilyUsedByBusesIn2000:306 
expected: <[Junction,Bus Count, M32:2,1411, M5:LA Boundary,1067, M4:LA Boundary,1958]> 
but was: <[Junction,Bus Count, M5:LA Boundary,1060, M32:2,1411, M5:LA Boundary,1067, M4:LA Boundary,1958]>

This error only seems to happen when running using maven.

This could indicate something isn't right with the MiniAccumuloCluster but more investigation is needed.

d47853 avatar Dec 04 '20 15:12 d47853

Here's a dump of the logs from a failed attempt. The cause of the Accumulo Exception might be something to look into:

Dec 04, 2020 3:59:47 PM uk.gov.gchq.gaffer.traffic.listeners.DataLoader loadData
INFO: Loading data
client.impl.TabletServerBatchWriter ERROR  - Server side error on ubuntu:36533: org.apache.thrift.TApplicationException: Internal error processing closeUpdate
client.impl.TabletServerBatchWriter ERROR  - Failed to send tablet server ubuntu:36533 its batch : Error on server ubuntu:36533
org.apache.accumulo.core.client.impl.AccumuloServerException: Error on server ubuntu:36533
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.sendMutationsToTabletServer(TabletServerBatchWriter.java:1038)
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.access$2100(TabletServerBatchWriter.java:675)
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter$SendTask.send(TabletServerBatchWriter.java:896)
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter$SendTask.run(TabletServerBatchWriter.java:852)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.thrift.TApplicationException: Internal error processing closeUpdate
        at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:79)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.recv_closeUpdate(TabletClientService.java:459)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.closeUpdate(TabletClientService.java:445)
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.sendMutationsToTabletServer(TabletServerBatchWriter.java:997)
        ... 9 more
gaffer.accumulostore.AccumuloStore WARN  - Accumulo batch writer failed to close
org.apache.accumulo.core.client.MutationsRejectedException: # constraint violations : 0  security codes: {}  # server errors 1 # exceptions 1
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.checkForFailures(TabletServerBatchWriter.java:593)
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.close(TabletServerBatchWriter.java:373)
        at org.apache.accumulo.core.client.impl.BatchWriterImpl.close(BatchWriterImpl.java:54)
        at uk.gov.gchq.gaffer.accumulostore.AccumuloStore.insertGraphElements(AccumuloStore.java:479)
        at uk.gov.gchq.gaffer.accumulostore.AccumuloStore.addElements(AccumuloStore.java:424)
        at uk.gov.gchq.gaffer.accumulostore.operation.handler.AddElementsHandler.addElements(AddElementsHandler.java:47)
        at uk.gov.gchq.gaffer.accumulostore.operation.handler.AddElementsHandler.doOperation(AddElementsHandler.java:34)
        at uk.gov.gchq.gaffer.accumulostore.operation.handler.AddElementsHandler.doOperation(AddElementsHandler.java:29)
        at uk.gov.gchq.gaffer.store.Store.handleOperation(Store.java:941)
        at uk.gov.gchq.gaffer.store.operation.handler.OperationChainHandler.doOperation(OperationChainHandler.java:47)
        at uk.gov.gchq.gaffer.store.operation.handler.OperationChainHandler.doOperation(OperationChainHandler.java:35)
        at uk.gov.gchq.gaffer.store.Store.handleOperation(Store.java:941)
        at uk.gov.gchq.gaffer.store.Store.execute(Store.java:386)
        at uk.gov.gchq.gaffer.store.Store.execute(Store.java:380)
        at uk.gov.gchq.gaffer.graph.Graph._execute(Graph.java:334)
        at uk.gov.gchq.gaffer.graph.Graph.execute(Graph.java:184)
        at uk.gov.gchq.gaffer.graph.Graph.execute(Graph.java:157)
        at uk.gov.gchq.gaffer.traffic.generator.RoadTrafficDataLoader.load(RoadTrafficDataLoader.java:88)
        at uk.gov.gchq.gaffer.traffic.generator.RoadTrafficDataLoader.load(RoadTrafficDataLoader.java:61)
        at uk.gov.gchq.gaffer.traffic.listeners.DataLoader.loadData(DataLoader.java:58)
        at uk.gov.gchq.gaffer.traffic.listeners.DataLoader.contextInitialized(DataLoader.java:43)
        at uk.gov.gchq.gaffer.traffic.RoadTrafficRestApiITs.prepareRestApi(RoadTrafficRestApiITs.java:72)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:686)
        at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
        at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
        at org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:126)
        at org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeAllMethod(TimeoutExtension.java:68)
        at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
        at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
        at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
        at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllMethods$8(ClassBasedTestDescriptor.java:375)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethods(ClassBasedTestDescriptor.java:373)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:193)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:78)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:132)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
        at java.util.ArrayList.forEach(ArrayList.java:1259)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:248)
        at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$5(DefaultLauncher.java:211)
        at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:226)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:199)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:132)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:188)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:154)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:128)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:428)
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
        at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:562)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:548)
Caused by: org.apache.accumulo.core.client.impl.AccumuloServerException: Error on server ubuntu:36533
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.sendMutationsToTabletServer(TabletServerBatchWriter.java:1038)
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.access$2100(TabletServerBatchWriter.java:675)
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter$SendTask.send(TabletServerBatchWriter.java:896)
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter$SendTask.run(TabletServerBatchWriter.java:852)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.thrift.TApplicationException: Internal error processing closeUpdate
        at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:79)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.recv_closeUpdate(TabletClientService.java:459)
        at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.closeUpdate(TabletClientService.java:445)
        at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.sendMutationsToTabletServer(TabletServerBatchWriter.java:997)
        ... 9 more
Dec 04, 2020 4:00:05 PM uk.gov.gchq.gaffer.traffic.listeners.DataLoader loadData
INFO: Sample data has been loaded
Dec 04, 2020 4:00:08 PM org.glassfish.grizzly.http.server.NetworkListener shutdownNow
INFO: Stopped listener bound to [localhost:8080]
[ERROR] Tests run: 4, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 38.144 s <<< FAILURE! - in uk.gov.gchq.gaffer.traffic.RoadTrafficRestApiITs
[ERROR] uk.gov.gchq.gaffer.traffic.RoadTrafficRestApiITs.checkM4Junction17To16RoadUse  Time elapsed: 0.533 s  <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>

[ERROR] uk.gov.gchq.gaffer.traffic.RoadTrafficRestApiITs.checkRoadJunctionsInSouthWestHeavilyUsedByBusesIn2000  Time elapsed: 1.275 s  <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <[Junction,Bus Count, M32:2,1411, M5:LA Boundary,1067, M4:LA Boundary,1958]> but was: <[Junction,Bus Count, M5:LA Boundary,1067, M4:LA Boundary,1958]>

d47853 avatar Dec 04 '20 16:12 d47853

I have never seen this error. @GCHQDev404 @t92549 - Have you seen this at all? If not I think this should be closed as no longer an issue.

GCHQDeveloper314 avatar May 12 '23 09:05 GCHQDeveloper314

@GCHQDeveloper314 Nope, would close

t92549 avatar May 12 '23 10:05 t92549

Possibly gone away.

n3101 avatar May 14 '23 16:05 n3101