[ https://issues.apache.org/jira/browse/HBASE-9683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13781578#comment-13781578 ]
Chao Shi commented on HBASE-9683: --------------------------------- bq. This breaks wire compat correct ? No. The goal of this patch is to add trace support without breaking wire compatibility. This is a little bit tricky. It appends 1 boolean + 2 longs to Invocation. There are two cases (I've tested manually): 1) old client + new server: There is no appended trace info, so we will get EOFException in readTraceInfo(). It saliently ignore it and return null, effectively performing no tracing at server side. 2) new client + old server: The client sends request with trace info. The server has no knowledge on this. It will stop reading just after parameters. Not that this unread bytes should have no side effects, as in the data buffer is preceded by its length (in fact, the input stream is a ByteArrayInputStream, and any remaining bytes are discarded, see HBaseServer#processData). bq. Also there are much newer versions of HTrace that have change the user facing api, and added some perf gains. So my preference would be to use 2.0.1 if we even want this in 0.94 Oh, I didn't notice trunk has update on it. Let me make another patch. As maintaining wire compatibility is so important here. I'd like to ask you guys to review if there is anything missing. > Port HTrace support to 0.94 > ---------------------------- > > Key: HBASE-9683 > URL: https://issues.apache.org/jira/browse/HBASE-9683 > Project: HBase > Issue Type: Improvement > Reporter: Chao Shi > Attachments: hbase-9683.patch > > > Port HTrace (HBASE-6524) to 0.94. This patch includes a wire-format change on > writable RPC. It serializes the traceID and spanID in class Invocation. This > should be compatible with old versions. -- This message was sent by Atlassian JIRA (v6.1#6144)