From 981f414cd3b6ef7c1b846e139977c06ff781802f Mon Sep 17 00:00:00 2001 From: Andrew Kyle Purtell Date: Mon, 23 May 2011 15:07:01 +0000 Subject: [PATCH] HBASE-3912 [Stargate] Columns not handle by Scan git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1126528 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES.txt | 1 + .../apache/hadoop/hbase/rest/model/ScannerModel.java | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index ff3a036e2c2..01d1a654102 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -109,6 +109,7 @@ Release 0.91.0 - Unreleased HBASE-3898 TestSplitTransactionOnCluster broke in TRUNK HBASE-3826 Minor compaction needs to check if still over compactionThreshold after compacting (Nicolas Spiegelberg) + HBASE-3912 [Stargate] Columns not handle by Scan IMPROVEMENTS HBASE-3290 Max Compaction Size (Nicolas Spiegelberg via Stack) diff --git a/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java b/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java index f97781e1a82..aa2d5c9f8f5 100644 --- a/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java +++ b/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java @@ -26,6 +26,8 @@ import java.io.StringReader; import java.io.StringWriter; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.NavigableSet; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; @@ -341,6 +343,8 @@ public class ScannerModel implements ProtobufMessageHandler, Serializable { return writer.toString(); } + private static final byte[] COLUMN_DIVIDER = Bytes.toBytes(":"); + /** * @param scan the scan specification * @throws Exception @@ -349,10 +353,12 @@ public class ScannerModel implements ProtobufMessageHandler, Serializable { ScannerModel model = new ScannerModel(); model.setStartRow(scan.getStartRow()); model.setEndRow(scan.getStopRow()); - byte[][] families = scan.getFamilies(); + Map> families = scan.getFamilyMap(); if (families != null) { - for (byte[] column: families) { - model.addColumn(column); + for (Map.Entry> entry : families.entrySet()) { + for (byte[] qualifier : entry.getValue()) { + model.addColumn(Bytes.add(entry.getKey(), COLUMN_DIVIDER, qualifier)); + } } } model.setStartTime(scan.getTimeRange().getMin());