Here's more detail on the exception and the related line where HBase is
adding non-integer KV's.

https://issues.apache.org/jira/browse/PHOENIX-1226

https://github.com/apache/hbase/blob/0.98.5/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RequestContext.java#L105

Thanks for the help,

-Dan


On Sun, Aug 31, 2014 at 5:27 PM, Dan Di Spaltro <[email protected]>
wrote:

> Oh and yes Ill create a JIRA today.
>
>
> On Fri, Aug 29, 2014 at 5:09 PM, Dan Di Spaltro <[email protected]>
> wrote:
>
>> If I disable the metrics stuff on every query everything works fine btw.
>>  Therefore, I don't think it's anything related to tests.
>>
>>
>> On Fri, Aug 29, 2014 at 3:03 PM, Samarth Jain <[email protected]>
>> wrote:
>>
>>> + Jesse
>>>
>>> I think Jesse probably envisioned early use of annotations to be around
>>> numerical metrics, hence the String-Integer pair. But we should change it
>>> to be more generic to accept things like tenantId or userName. Do you mind
>>> filing an enhancement JIRA for this Dan?
>>>
>>> Thanks,
>>> Samarth
>>>
>>>
>>>
>>> On Fri, Aug 29, 2014 at 2:51 PM, Dan Di Spaltro <[email protected]
>>> > wrote:
>>>
>>>> Okay that helps, but it still doesn't really explain that code path.
>>>>  Why are annotations being converted byte-wise to ints?  Aren't annotations
>>>> potentially opaque strings or something else?
>>>>
>>>> -Dan
>>>>
>>>>
>>>> On Fri, Aug 29, 2014 at 11:27 AM, James Taylor <[email protected]>
>>>> wrote:
>>>>
>>>>> Hey Dan,
>>>>> There were some changes in the test framework to make them run faster.
>>>>> Our entire test suite can run in about 10-15mins instead of 60mins
>>>>> now. One of the new requirements is adding the annotation that Samarth
>>>>> indicated. Once JUnit releases 4.12, this will no longer be necessary,
>>>>> as the annotation will automatically be inherited from the
>>>>> BaseClientManagedTimeIT class.
>>>>> Thanks,
>>>>> James
>>>>>
>>>>> On Thu, Aug 28, 2014 at 10:08 PM, Dan Di Spaltro
>>>>> <[email protected]> wrote:
>>>>> > 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
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Dan Di Spaltro
>>>>
>>>
>>>
>>
>>
>> --
>> Dan Di Spaltro
>>
>
>
>
> --
> Dan Di Spaltro
>



-- 
Dan Di Spaltro

Reply via email to