Closed DomGarguilo closed 1 year ago
I am in the process of getting things working with 2.1 but am running into some issues that I'm having trouble debugging. So far I've updated accumulo to version 2.1 and thrift to version 0.17 to match accumulo. When running the ITs, TCompactProxyIT
passes fine but the other 3 ITs fail.
TTupleProxyIT
fails with:
org.apache.thrift.TApplicationException: don't know what type: 15
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:81)
at org.apache.accumulo.proxy.thrift.AccumuloProxy$Client.recv_login(AccumuloProxy.java:476)
at org.apache.accumulo.proxy.thrift.AccumuloProxy$Client.login(AccumuloProxy.java:462)
at org.apache.accumulo.proxy.its.SimpleProxyBase.setup(SimpleProxyBase.java:320)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
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.api.AssertTimeoutPreemptively.lambda$submitTask$3(AssertTimeoutPreemptively.java:95)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
TJsonProtocolProxyIT
and TBinartProxtIT
fail with:
org.apache.thrift.transport.TTransportException: Socket is closed by peer.
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:176)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:100)
at org.apache.thrift.transport.layered.TFramedTransport.readFrame(TFramedTransport.java:132)
at org.apache.thrift.transport.layered.TFramedTransport.read(TFramedTransport.java:100)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:100)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:457)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:359)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:243)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:79)
at org.apache.accumulo.proxy.thrift.AccumuloProxy$Client.recv_login(AccumuloProxy.java:476)
at org.apache.accumulo.proxy.thrift.AccumuloProxy$Client.login(AccumuloProxy.java:462)
at org.apache.accumulo.proxy.its.SimpleProxyBase.setup(SimpleProxyBase.java:320)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
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.api.AssertTimeoutPreemptively.lambda$submitTask$3(AssertTimeoutPreemptively.java:95)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
The only difference between the ITs is which TCompactProtocol.Factory
is used.
I can't make much sense of what these exceptions mean and was hoping someone might have some ideas whats going on here.
As part of completing this ticket, the following code should be removed/replaced with the built in functionality of
AccumuloITBase.getUniqueNames()
from accumulo 2.1 https://github.com/apache/accumulo-proxy/blob/498ea89ce9c3fc1a59b66ec5458c5e34f1abd251/src/test/java/org/apache/accumulo/proxy/its/SimpleProxyBase.java#L274-L780This code was added in #38 so that we could get unique names for resources within the tests. The method above was essentially copied from
AccumuloITBase
. This needed to be done since the difference in JUnit versions between accumulo and accumulo-proxy was causing issues withgetUniqueNames()
.