[ https://issues.apache.org/jira/browse/HBASE-15706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15258511#comment-15258511 ]
huaxiang sun commented on HBASE-15706: -------------------------------------- Hi [~anoop.hbase], I briefly looked at the change TagUtil#getValueAsString's use of toStringBinary() from toString. There are some impacts which need more thoughts. For example, VisibilityController.java#preBatchMutate(), there is one line cellVisibility = new CellVisibility(TagUtil.getValueAsString(tag)); If the encoding changes, this will set CellVisibility#expression as an invalid string. I am making the following change, in case I misunderstood what you said, thanks. {code} diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java index 65f0cad..cd30249 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/TagUtil.java @@ -161,9 +161,9 @@ public final class TagUtil { */ public static String getValueAsString(Tag tag){ if(tag.hasArray()){ - return Bytes.toString(tag.getValueArray(), tag.getValueOffset(), tag.getValueLength()); + return Bytes.toStringBinary(tag.getValueArray(), tag.getValueOffset(), tag.getValueLength()); } - return Bytes.toString(cloneValue(tag)); + return Bytes.toStringBinary(cloneValue(tag)); } /** {code} > HFilePrettyPrinter should print out nicely formatted tags > --------------------------------------------------------- > > Key: HBASE-15706 > URL: https://issues.apache.org/jira/browse/HBASE-15706 > Project: HBase > Issue Type: Improvement > Components: HFile > Affects Versions: 2.0.0 > Reporter: huaxiang sun > Priority: Minor > Attachments: HBASE-15706-v001.patch > > > When I was using HFile to print out a rows with tags, the output is like: > {code} > hsun-MBP:hbase-2.0.0-SNAPSHOT hsun$ hbase > org.apache.hadoop.hbase.io.hfile.HFile -f > /tmp/71afa45b1cb94ea1858a99f31197274f -p > 2016-04-25 11:40:40,409 WARN [main] util.NativeCodeLoader: Unable to load > native-hadoop library for your platform... using builtin-java classes where > applicable > 2016-04-25 11:40:40,580 INFO [main] hfile.CacheConfig: CacheConfig:disabled > K: b/b:b/1461608231279/Maximum/vlen=0/seqid=0 V: > K: b/b:b/1461608231278/Put/vlen=1/seqid=0 V: b T[0]: � > Scanned kv count -> 2 > {code} > With attached patch, the print is now like: > {code} > 2016-04-25 11:57:05,849 INFO [main] hfile.CacheConfig: CacheConfig:disabled > K: b/b:b/1461609876838/Maximum/vlen=0/seqid=0 V: > K: b/b:b/1461609876837/Put/vlen=1/seqid=0 V: b T[0]: [Tag type : 8, value : > \x00\x0E\xEE\xEE] > Scanned kv count -> 2 > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)