You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2013/08/22 23:24:01 UTC

svn commit: r1516615 - in /hbase/branches/0.95: hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/ hbase-common/src/main/java/org/apache/hadoop/hbase/ hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/ hbase-prefix-tree/src/...

Author: stack
Date: Thu Aug 22 21:24:01 2013
New Revision: 1516615

URL: http://svn.apache.org/r1516615
Log:
HBASE-9248 Place holders for tags in 0.96 to accommodate tags in 0.98

Modified:
    hbase/branches/0.95/hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/TestPayloadCarryingRpcController.java
    hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/Cell.java
    hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java
    hbase/branches/0.95/hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/PrefixTreeBlockMeta.java
    hbase/branches/0.95/hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeCell.java
    hbase/branches/0.95/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/blockmeta/TestBlockMeta.java
    hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java
    hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/trace/SpanReceiverHost.java

Modified: hbase/branches/0.95/hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/TestPayloadCarryingRpcController.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/TestPayloadCarryingRpcController.java?rev=1516615&r1=1516614&r2=1516615&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/TestPayloadCarryingRpcController.java (original)
+++ hbase/branches/0.95/hbase-client/src/test/java/org/apache/hadoop/hbase/ipc/TestPayloadCarryingRpcController.java Thu Aug 22 21:24:01 2013
@@ -165,7 +165,7 @@ public class TestPayloadCarryingRpcContr
               }
 
               @Override
-              public int getTagsLength() {
+              public short getTagsLength() {
                 // TODO Auto-generated method stub
                 return 0;
               }

Modified: hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/Cell.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/Cell.java?rev=1516615&r1=1516614&r2=1516615&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/Cell.java (original)
+++ hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/Cell.java Thu Aug 22 21:24:01 2013
@@ -181,6 +181,6 @@ public interface Cell {
   /**
    * @return the total length of the tags in the Cell.
    */
-  int getTagsLength();
+  short getTagsLength();
 
 }

Modified: hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java?rev=1516615&r1=1516614&r2=1516615&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java (original)
+++ hbase/branches/0.95/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java Thu Aug 22 21:24:01 2013
@@ -2880,7 +2880,7 @@ public class KeyValue implements Cell, H
   }
 
   @Override
-  public int getTagsLength() {
+  public short getTagsLength() {
     throw new UnsupportedOperationException("Not implememnted");
   }
 

Modified: hbase/branches/0.95/hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/PrefixTreeBlockMeta.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/PrefixTreeBlockMeta.java?rev=1516615&r1=1516614&r2=1516615&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/PrefixTreeBlockMeta.java (original)
+++ hbase/branches/0.95/hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/PrefixTreeBlockMeta.java Thu Aug 22 21:24:01 2013
@@ -46,7 +46,7 @@ public class PrefixTreeBlockMeta {
 
   public static final int
 	  NUM_LONGS = 2,
-    NUM_INTS = 22,
+    NUM_INTS = 28,
     NUM_SHORTS = 0,//keyValueTypeWidth not persisted
     NUM_SINGLE_BYTES = 2,
     MAX_BYTES = Bytes.SIZEOF_LONG * NUM_LONGS
@@ -76,6 +76,7 @@ public class PrefixTreeBlockMeta {
   protected int numTimestampBytes;
   protected int numMvccVersionBytes;
   protected int numValueBytes;
+  protected int numTagsBytes;
 
   // number of bytes in each section of fixed width FInts
   protected int nextNodeOffsetWidth;
@@ -85,11 +86,13 @@ public class PrefixTreeBlockMeta {
   protected int mvccVersionIndexWidth;
   protected int valueOffsetWidth;
   protected int valueLengthWidth;
+  protected int tagsOffsetWidth;
 
   // used to pre-allocate structures for reading
   protected int rowTreeDepth;
   protected int maxRowLength;
   protected int maxQualifierLength;
+  protected int maxTagsLength;
 
   // the timestamp from which the deltas are calculated
   protected long minTimestamp;
@@ -103,6 +106,7 @@ public class PrefixTreeBlockMeta {
   protected int numUniqueRows;
   protected int numUniqueFamilies;
   protected int numUniqueQualifiers;
+  protected int numUniqueTags;
 
 
   /***************** constructors ********************/
@@ -143,6 +147,7 @@ public class PrefixTreeBlockMeta {
     numBytes += UVIntTool.numBytes(numRowBytes);
     numBytes += UVIntTool.numBytes(numFamilyBytes);
     numBytes += UVIntTool.numBytes(numQualifierBytes);
+    numBytes += UVIntTool.numBytes(numTagsBytes);
     numBytes += UVIntTool.numBytes(numTimestampBytes);
     numBytes += UVIntTool.numBytes(numMvccVersionBytes);
     numBytes += UVIntTool.numBytes(numValueBytes);
@@ -150,6 +155,7 @@ public class PrefixTreeBlockMeta {
     numBytes += UVIntTool.numBytes(nextNodeOffsetWidth);
     numBytes += UVIntTool.numBytes(familyOffsetWidth);
     numBytes += UVIntTool.numBytes(qualifierOffsetWidth);
+    numBytes += UVIntTool.numBytes(tagsOffsetWidth);
     numBytes += UVIntTool.numBytes(timestampIndexWidth);
     numBytes += UVIntTool.numBytes(mvccVersionIndexWidth);
     numBytes += UVIntTool.numBytes(valueOffsetWidth);
@@ -158,6 +164,7 @@ public class PrefixTreeBlockMeta {
     numBytes += UVIntTool.numBytes(rowTreeDepth);
     numBytes += UVIntTool.numBytes(maxRowLength);
     numBytes += UVIntTool.numBytes(maxQualifierLength);
+    numBytes += UVIntTool.numBytes(maxTagsLength);
 
     numBytes += UVLongTool.numBytes(minTimestamp);
     numBytes += UVIntTool.numBytes(timestampDeltaWidth);
@@ -169,6 +176,7 @@ public class PrefixTreeBlockMeta {
     numBytes += UVIntTool.numBytes(numUniqueRows);
     numBytes += UVIntTool.numBytes(numUniqueFamilies);
     numBytes += UVIntTool.numBytes(numUniqueQualifiers);
+    numBytes += UVIntTool.numBytes(numUniqueTags);
     return numBytes;
   }
 
@@ -181,6 +189,7 @@ public class PrefixTreeBlockMeta {
       UVIntTool.writeBytes(numRowBytes, os);
       UVIntTool.writeBytes(numFamilyBytes, os);
       UVIntTool.writeBytes(numQualifierBytes, os);
+      UVIntTool.writeBytes(numTagsBytes, os);
       UVIntTool.writeBytes(numTimestampBytes, os);
       UVIntTool.writeBytes(numMvccVersionBytes, os);
       UVIntTool.writeBytes(numValueBytes, os);
@@ -188,6 +197,7 @@ public class PrefixTreeBlockMeta {
       UVIntTool.writeBytes(nextNodeOffsetWidth, os);
       UVIntTool.writeBytes(familyOffsetWidth, os);
       UVIntTool.writeBytes(qualifierOffsetWidth, os);
+      UVIntTool.writeBytes(tagsOffsetWidth, os);
       UVIntTool.writeBytes(timestampIndexWidth, os);
       UVIntTool.writeBytes(mvccVersionIndexWidth, os);
       UVIntTool.writeBytes(valueOffsetWidth, os);
@@ -196,6 +206,7 @@ public class PrefixTreeBlockMeta {
       UVIntTool.writeBytes(rowTreeDepth, os);
       UVIntTool.writeBytes(maxRowLength, os);
       UVIntTool.writeBytes(maxQualifierLength, os);
+      UVIntTool.writeBytes(maxTagsLength, os);
 
       UVLongTool.writeBytes(minTimestamp, os);
       UVIntTool.writeBytes(timestampDeltaWidth, os);
@@ -207,6 +218,7 @@ public class PrefixTreeBlockMeta {
       UVIntTool.writeBytes(numUniqueRows, os);
       UVIntTool.writeBytes(numUniqueFamilies, os);
       UVIntTool.writeBytes(numUniqueQualifiers, os);
+      UVIntTool.writeBytes(numUniqueTags, os);
   }
 
   public void readVariableBytesFromInputStream(InputStream is) throws IOException{
@@ -218,6 +230,7 @@ public class PrefixTreeBlockMeta {
       numRowBytes = UVIntTool.getInt(is);
       numFamilyBytes = UVIntTool.getInt(is);
       numQualifierBytes = UVIntTool.getInt(is);
+      numTagsBytes = UVIntTool.getInt(is);
       numTimestampBytes = UVIntTool.getInt(is);
       numMvccVersionBytes = UVIntTool.getInt(is);
       numValueBytes = UVIntTool.getInt(is);
@@ -225,6 +238,7 @@ public class PrefixTreeBlockMeta {
       nextNodeOffsetWidth = UVIntTool.getInt(is);
       familyOffsetWidth = UVIntTool.getInt(is);
       qualifierOffsetWidth = UVIntTool.getInt(is);
+      tagsOffsetWidth = UVIntTool.getInt(is);
       timestampIndexWidth = UVIntTool.getInt(is);
       mvccVersionIndexWidth = UVIntTool.getInt(is);
       valueOffsetWidth = UVIntTool.getInt(is);
@@ -233,6 +247,7 @@ public class PrefixTreeBlockMeta {
       rowTreeDepth = UVIntTool.getInt(is);
       maxRowLength = UVIntTool.getInt(is);
       maxQualifierLength = UVIntTool.getInt(is);
+      maxTagsLength = UVIntTool.getInt(is);
 
       minTimestamp = UVLongTool.getLong(is);
       timestampDeltaWidth = UVIntTool.getInt(is);
@@ -245,6 +260,7 @@ public class PrefixTreeBlockMeta {
       numUniqueRows = UVIntTool.getInt(is);
       numUniqueFamilies = UVIntTool.getInt(is);
       numUniqueQualifiers = UVIntTool.getInt(is);
+      numUniqueTags = UVIntTool.getInt(is);
   }
 
   public void readVariableBytesFromArray(byte[] bytes, int offset) {
@@ -265,6 +281,8 @@ public class PrefixTreeBlockMeta {
     position += UVIntTool.numBytes(numFamilyBytes);
     numQualifierBytes = UVIntTool.getInt(bytes, position);
     position += UVIntTool.numBytes(numQualifierBytes);
+    numTagsBytes = UVIntTool.getInt(bytes, position);
+    position += UVIntTool.numBytes(numTagsBytes);
     numTimestampBytes = UVIntTool.getInt(bytes, position);
     position += UVIntTool.numBytes(numTimestampBytes);
     numMvccVersionBytes = UVIntTool.getInt(bytes, position);
@@ -278,6 +296,8 @@ public class PrefixTreeBlockMeta {
     position += UVIntTool.numBytes(familyOffsetWidth);
     qualifierOffsetWidth = UVIntTool.getInt(bytes, position);
     position += UVIntTool.numBytes(qualifierOffsetWidth);
+    tagsOffsetWidth = UVIntTool.getInt(bytes, position);
+    position += UVIntTool.numBytes(tagsOffsetWidth);
     timestampIndexWidth = UVIntTool.getInt(bytes, position);
     position += UVIntTool.numBytes(timestampIndexWidth);
     mvccVersionIndexWidth = UVIntTool.getInt(bytes, position);
@@ -293,7 +313,8 @@ public class PrefixTreeBlockMeta {
     position += UVIntTool.numBytes(maxRowLength);
     maxQualifierLength = UVIntTool.getInt(bytes, position);
     position += UVIntTool.numBytes(maxQualifierLength);
-
+    maxTagsLength = UVIntTool.getInt(bytes, position);
+    position += UVIntTool.numBytes(maxTagsLength);
     minTimestamp = UVLongTool.getLong(bytes, position);
     position += UVLongTool.numBytes(minTimestamp);
     timestampDeltaWidth = UVIntTool.getInt(bytes, position);
@@ -314,6 +335,8 @@ public class PrefixTreeBlockMeta {
     position += UVIntTool.numBytes(numUniqueFamilies);
     numUniqueQualifiers = UVIntTool.getInt(bytes, position);
     position += UVIntTool.numBytes(numUniqueQualifiers);
+    numUniqueTags = UVIntTool.getInt(bytes, position);
+    position += UVIntTool.numBytes(numUniqueTags);
   }
 
 	//TODO method that can read directly from ByteBuffer instead of InputStream
@@ -396,6 +419,8 @@ public class PrefixTreeBlockMeta {
       return false;
     if (maxQualifierLength != other.maxQualifierLength)
       return false;
+    if (maxTagsLength != other.maxTagsLength)
+      return false;
     if (maxRowLength != other.maxRowLength)
       return false;
     if (mvccVersionDeltaWidth != other.mvccVersionDeltaWidth)
@@ -418,6 +443,8 @@ public class PrefixTreeBlockMeta {
       return false;
     if (numQualifierBytes != other.numQualifierBytes)
       return false;
+    if (numTagsBytes != other.numTagsBytes)
+      return false;
     if (numRowBytes != other.numRowBytes)
       return false;
     if (numTimestampBytes != other.numTimestampBytes)
@@ -426,12 +453,16 @@ public class PrefixTreeBlockMeta {
       return false;
     if (numUniqueQualifiers != other.numUniqueQualifiers)
       return false;
+    if (numUniqueTags != other.numUniqueTags)
+      return false;
     if (numUniqueRows != other.numUniqueRows)
       return false;
     if (numKeyValueBytes != other.numKeyValueBytes)
       return false;
     if (qualifierOffsetWidth != other.qualifierOffsetWidth)
       return false;
+    if(tagsOffsetWidth !=  other.tagsOffsetWidth) 
+      return false;
     if (rowTreeDepth != other.rowTreeDepth)
       return false;
     if (timestampDeltaWidth != other.timestampDeltaWidth)
@@ -459,6 +490,7 @@ public class PrefixTreeBlockMeta {
     result = prime * result + familyOffsetWidth;
     result = prime * result + (includesMvccVersion ? 1231 : 1237);
     result = prime * result + maxQualifierLength;
+    result = prime * result + maxTagsLength;
     result = prime * result + maxRowLength;
     result = prime * result + mvccVersionDeltaWidth;
     result = prime * result + mvccVersionIndexWidth;
@@ -470,13 +502,16 @@ public class PrefixTreeBlockMeta {
     result = prime * result + numMvccVersionBytes;
     result = prime * result + numMetaBytes;
     result = prime * result + numQualifierBytes;
+    result = prime * result + numTagsBytes;
     result = prime * result + numRowBytes;
     result = prime * result + numTimestampBytes;
     result = prime * result + numUniqueFamilies;
     result = prime * result + numUniqueQualifiers;
+    result = prime * result + numUniqueTags;
     result = prime * result + numUniqueRows;
     result = prime * result + numKeyValueBytes;
     result = prime * result + qualifierOffsetWidth;
+    result = prime * result + tagsOffsetWidth;
     result = prime * result + rowTreeDepth;
     result = prime * result + timestampDeltaWidth;
     result = prime * result + timestampIndexWidth;
@@ -514,12 +549,16 @@ public class PrefixTreeBlockMeta {
     builder.append(numMvccVersionBytes);
     builder.append(", numValueBytes=");
     builder.append(numValueBytes);
+    builder.append(", numTagBytes=");
+    builder.append(numTagsBytes);
     builder.append(", nextNodeOffsetWidth=");
     builder.append(nextNodeOffsetWidth);
     builder.append(", familyOffsetWidth=");
     builder.append(familyOffsetWidth);
     builder.append(", qualifierOffsetWidth=");
     builder.append(qualifierOffsetWidth);
+    builder.append(", tagOffsetWidth=");
+    builder.append(tagsOffsetWidth);
     builder.append(", timestampIndexWidth=");
     builder.append(timestampIndexWidth);
     builder.append(", mvccVersionIndexWidth=");
@@ -534,6 +573,8 @@ public class PrefixTreeBlockMeta {
     builder.append(maxRowLength);
     builder.append(", maxQualifierLength=");
     builder.append(maxQualifierLength);
+    builder.append(", maxTagLength=");
+    builder.append(maxTagsLength);
     builder.append(", minTimestamp=");
     builder.append(minTimestamp);
     builder.append(", timestampDeltaWidth=");
@@ -552,6 +593,8 @@ public class PrefixTreeBlockMeta {
     builder.append(numUniqueFamilies);
     builder.append(", numUniqueQualifiers=");
     builder.append(numUniqueQualifiers);
+    builder.append(", numUniqueTags=");
+    builder.append(numUniqueTags);
     builder.append("]");
     return builder.toString();
   }
@@ -575,10 +618,14 @@ public class PrefixTreeBlockMeta {
     return getAbsoluteFamilyOffset() + numFamilyBytes;
   }
 
-  public int getAbsoluteTimestampOffset() {
+  public int getAbsoluteTagsOffset() {
     return getAbsoluteQualifierOffset() + numQualifierBytes;
   }
 
+  public int getAbsoluteTimestampOffset() {
+    return getAbsoluteTagsOffset() + numTagsBytes;
+  }
+
   public int getAbsoluteMvccVersionOffset() {
     return getAbsoluteTimestampOffset() + numTimestampBytes;
   }
@@ -602,10 +649,18 @@ public class PrefixTreeBlockMeta {
     return valueOffsetWidth;
   }
 
+  public int getTagsOffsetWidth() {
+    return tagsOffsetWidth;
+  }
+
   public void setValueOffsetWidth(int dataOffsetWidth) {
     this.valueOffsetWidth = dataOffsetWidth;
   }
 
+  public void setTagsOffsetWidth(int dataOffsetWidth) {
+    this.tagsOffsetWidth = dataOffsetWidth;
+  }
+
   public int getValueLengthWidth() {
     return valueLengthWidth;
   }
@@ -674,6 +729,14 @@ public class PrefixTreeBlockMeta {
     return numValueBytes;
   }
 
+  public int getNumTagsBytes() {
+    return numTagsBytes;
+  }
+
+  public void setNumTagsBytes(int numTagBytes){
+    this.numTagsBytes = numTagBytes;
+  }
+
   public void setNumValueBytes(int numValueBytes) {
     this.numValueBytes = numValueBytes;
   }
@@ -782,6 +845,13 @@ public class PrefixTreeBlockMeta {
     this.numUniqueQualifiers = numUniqueQualifiers;
   }
 
+  public void setNumUniqueTags(int numUniqueTags) {
+    this.numUniqueTags = numUniqueTags;
+  }
+
+  public int getNumUniqueTags() {
+    return numUniqueTags;
+  }
   public int getNumQualifierBytes() {
     return numQualifierBytes;
   }
@@ -802,10 +872,19 @@ public class PrefixTreeBlockMeta {
     return maxQualifierLength;
   }
 
+  // TODO : decide on some max value for this ? INTEGER_MAX?
   public void setMaxQualifierLength(int maxQualifierLength) {
     this.maxQualifierLength = maxQualifierLength;
   }
 
+  public int getMaxTagsLength() {
+    return this.maxTagsLength;
+  }
+
+  public void setMaxTagsLength(int maxTagLength) {
+    this.maxTagsLength = maxTagLength;
+  }
+
   public int getTimestampIndexWidth() {
     return timestampIndexWidth;
   }

Modified: hbase/branches/0.95/hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeCell.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeCell.java?rev=1516615&r1=1516614&r2=1516615&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeCell.java (original)
+++ hbase/branches/0.95/hbase-prefix-tree/src/main/java/org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeCell.java Thu Aug 22 21:24:01 2013
@@ -200,7 +200,7 @@ public class PrefixTreeCell implements C
   }
 
   @Override
-  public int getTagsLength() {
+  public short getTagsLength() {
     throw new UnsupportedOperationException("Not implemented");
   }
 

Modified: hbase/branches/0.95/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/blockmeta/TestBlockMeta.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/blockmeta/TestBlockMeta.java?rev=1516615&r1=1516614&r2=1516615&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/blockmeta/TestBlockMeta.java (original)
+++ hbase/branches/0.95/hbase-prefix-tree/src/test/java/org/apache/hadoop/hbase/codec/prefixtree/blockmeta/TestBlockMeta.java Thu Aug 22 21:24:01 2013
@@ -39,6 +39,7 @@ public class TestBlockMeta {
     m.setNumRowBytes(0);
     m.setNumFamilyBytes(3);
     m.setNumQualifierBytes(12345);
+    m.setNumTagsBytes(50);
     m.setNumTimestampBytes(23456);
     m.setNumMvccVersionBytes(5);
     m.setNumValueBytes(34567);
@@ -46,6 +47,7 @@ public class TestBlockMeta {
     m.setNextNodeOffsetWidth(3);
     m.setFamilyOffsetWidth(1);
     m.setQualifierOffsetWidth(2);
+    m.setTagsOffsetWidth(2);
     m.setTimestampIndexWidth(1);
     m.setMvccVersionIndexWidth(2);
     m.setValueOffsetWidth(8);
@@ -54,6 +56,7 @@ public class TestBlockMeta {
     m.setRowTreeDepth(11);
     m.setMaxRowLength(200);
     m.setMaxQualifierLength(50);
+    m.setMaxTagsLength(40);
 
     m.setMinTimestamp(1318966363481L);
     m.setTimestampDeltaWidth(3);
@@ -66,6 +69,7 @@ public class TestBlockMeta {
     m.setNumUniqueRows(88);
     m.setNumUniqueFamilies(1);
     m.setNumUniqueQualifiers(56);
+    m.setNumUniqueTags(5);
     return m;
   }
 

Modified: hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java?rev=1516615&r1=1516614&r2=1516615&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java (original)
+++ hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.java Thu Aug 22 21:24:01 2013
@@ -156,6 +156,8 @@ public class WALCellCodec implements Cod
       // We first write the KeyValue infrastructure as VInts.
       StreamUtils.writeRawVInt32(out, kv.getKeyLength());
       StreamUtils.writeRawVInt32(out, kv.getValueLength());
+      // To support tags. This will be replaced with kv.getTagsLength
+      StreamUtils.writeRawVInt32(out, (short)0);
 
       // Write row, qualifier, and family; use dictionary
       // compression as they're likely to have duplicates.
@@ -196,6 +198,10 @@ public class WALCellCodec implements Cod
     protected Cell parseCell() throws IOException {
       int keylength = StreamUtils.readRawVarint32(in);
       int vlength = StreamUtils.readRawVarint32(in);
+      
+      // To support Tags..Tags length will be 0.
+      // For now ignore the read value. This will be the tagslength
+      StreamUtils.readRawVarint32(in);
       int length = KeyValue.KEYVALUE_INFRASTRUCTURE_SIZE + keylength + vlength;
 
       byte[] backingArray = new byte[length];
@@ -221,7 +227,7 @@ public class WALCellCodec implements Cod
 
       // the rest
       IOUtils.readFully(in, backingArray, pos, length - pos);
-      return new KeyValue(backingArray);
+      return new KeyValue(backingArray, 0, length);
     }
 
     private int readIntoArray(byte[] to, int offset, Dictionary dict) throws IOException {

Modified: hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/trace/SpanReceiverHost.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/trace/SpanReceiverHost.java?rev=1516615&r1=1516614&r2=1516615&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/trace/SpanReceiverHost.java (original)
+++ hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/trace/SpanReceiverHost.java Thu Aug 22 21:24:01 2013
@@ -27,7 +27,6 @@ import org.apache.hadoop.conf.Configurat
 import org.apache.hadoop.util.ReflectionUtils;
 import org.cloudera.htrace.SpanReceiver;
 import org.cloudera.htrace.Trace;
-import org.cloudera.htrace.impl.ZipkinSpanReceiver;
 
 /**
  * This class provides functions for reading the names of SpanReceivers from