I basically inherit from BaseClientManagedTimeIT and write a junit tests It's been working great up until 4.1.
This code just doesn't look right, why would an annotation necessarily have to be an int? https://github.com/apache/phoenix/blob/29a7be42bfa468b12d16fd0756b987f5359c45c4/phoenix-hadoop2-compat/src/main/java/org/apache/phoenix/trace/TraceMetricSource.java#L122 then calls the below function, which takes bytes and makes an int from the bytes... https://github.com/apache/phoenix/blob/f99e5d8d609d326fb3571255cd8f47961b1c6860/phoenix-hadoop-compat/src/main/java/org/apache/phoenix/trace/TracingCompat.java#L56 On Thu, Aug 28, 2014 at 11:43 AM, Samarth Jain <[email protected]> wrote: > Dan, > > Can you tell me how you are running your tests? Do you have the test class > annotated with the right category annotation - @Category( > HBaseManagedTimeTest.class). Also, can you send over your test class to > see what might be causing problems? > > Thanks, > Samarth > > > On Thu, Aug 28, 2014 at 10:34 AM, Dan Di Spaltro <[email protected]> > wrote: > >> Any idea on this, it's blocking my usage in tests and I can't tell if I >> am just setting something up incorrectly? Also I am concerned that this >> can affect production since this code path I would assume is used >> frequently. >> >> -Dan >> >> >> On Tue, Aug 26, 2014 at 10:49 PM, Dan Di Spaltro <[email protected] >> > wrote: >> >>> I inherit from the BaseHBaseManagedTimeIT and implement my own tests >>> using the infrastructure you've put together. It's worked pretty well, >>> minus the fact I use an Ivy resolver which doesn't deal with jarless pom's >>> well. >>> >>> So I've upgraded from 4.0 to 4.1 and ran into a single issue that looks >>> related to Tracing, and I can't really figure it out. When I start the >>> cluster everything works as expected but after I am done creating tables >>> like clockwork I get this: >>> >>> 58062 [defaultRpcServer.handler=2,queue=0,port=53950] WARN >>> org.apache.hadoop.ipc.RpcServer - >>> defaultRpcServer.handler=2,queue=0,port=53950: caught: >>> java.lang.IllegalArgumentException: offset (0) + length (4) exceed the >>> capacity of the array: 3 >>> at >>> org.apache.hadoop.hbase.util.Bytes.explainWrongLengthOrOffset(Bytes.java:600) >>> at org.apache.hadoop.hbase.util.Bytes.toInt(Bytes.java:749) >>> at org.apache.hadoop.hbase.util.Bytes.toInt(Bytes.java:725) >>> at >>> org.apache.phoenix.trace.TracingCompat.readAnnotation(TracingCompat.java:56) >>> at >>> org.apache.phoenix.trace.TraceMetricSource.receiveSpan(TraceMetricSource.java:121) >>> at org.cloudera.htrace.Tracer.deliver(Tracer.java:81) >>> at org.cloudera.htrace.impl.MilliSpan.stop(MilliSpan.java:70) >>> at org.cloudera.htrace.TraceScope.close(TraceScope.java:70) >>> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:106) >>> at >>> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114) >>> at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94) >>> at java.lang.Thread.run(Thread.java:744) >>> >>> And the test just stops, which I imagine is a byproduct of this >>> exception. I inspected at this point and there are two traces the one it >>> throws on is the key is "user" and value is my username. It's trying to >>> convert it to an int >>> ... >>> return new Pair<String, String>(new String(key), >>> Integer.toString(Bytes.toInt(value))); >>> ... >>> >>> Any ideas? >>> >>> -Dan >>> >>> -- >>> Dan Di Spaltro >>> >> >> >> >> -- >> Dan Di Spaltro >> > > -- Dan Di Spaltro
