hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "huaxiang sun (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15706) HFilePrettyPrinter should print out nicely formatted tags
Date Tue, 26 Apr 2016 17:30:13 GMT

    [ 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)

Mime
View raw message