[ 
https://issues.apache.org/jira/browse/PHOENIX-1226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14118559#comment-14118559
 ] 

Jesse Yates commented on PHOENIX-1226:
--------------------------------------

No, I mean using that for the keys that we write into the spans, and then the 
pulling out the types on the table writer (since we know they are prefixed with 
'phoenix' that we can do that). Of course we don't need to prefix the columns 
specifically - that's like 1/3 of what phoenix does!

> Exception in Tracing
> --------------------
>
>                 Key: PHOENIX-1226
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1226
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.1
>         Environment: 0.98.5 hbase, 4.1.0 phoenix
>            Reporter: Dan Di Spaltro
>            Assignee: Jesse Yates
>         Attachments: phoenix-1226-4.0-v0.patch, phoenix-1226-4.0-v1.patch
>
>
> I was exposed to an exception in the tracing code, during my test setup of 
> Phoenix in the following code:
> {code}
> 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)
> {code}
> It is related to the following line of code where we interpret all KV 
> annotation values as byte-wise integers here:
> https://github.com/apache/phoenix/blob/v4.1.0/phoenix-hadoop-compat/src/main/java/org/apache/phoenix/trace/TracingCompat.java#L56
> Here is where HBase is adding a non-integer KV annotation:
> https://github.com/apache/hbase/blob/0.98.5/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RequestContext.java#L105
> The fix should be simple, but I am not aware of all the related issues in 
> changing this.
> cc [~jesse_yates], [[email protected]], [~giacomotaylor]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to