Return-Path: Delivered-To: apmail-hbase-commits-archive@www.apache.org Received: (qmail 82937 invoked from network); 23 Feb 2011 22:56:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 23 Feb 2011 22:56:37 -0000 Received: (qmail 26191 invoked by uid 500); 23 Feb 2011 22:56:37 -0000 Delivered-To: apmail-hbase-commits-archive@hbase.apache.org Received: (qmail 26166 invoked by uid 500); 23 Feb 2011 22:56:36 -0000 Mailing-List: contact commits-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list commits@hbase.apache.org Received: (qmail 26159 invoked by uid 99); 23 Feb 2011 22:56:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Feb 2011 22:56:36 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Feb 2011 22:56:34 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 3FA502388906; Wed, 23 Feb 2011 22:56:13 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1073976 [1/3] - in /hbase/branches/0.90: ./ src/main/java/org/apache/hadoop/hbase/thrift/ src/main/java/org/apache/hadoop/hbase/thrift/generated/ src/main/resources/org/apache/hadoop/hbase/thrift/ src/test/java/org/apache/hadoop/hbase/thrift/ Date: Wed, 23 Feb 2011 22:56:12 -0000 To: commits@hbase.apache.org From: rawson@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110223225613.3FA502388906@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: rawson Date: Wed Feb 23 22:56:12 2011 New Revision: 1073976 URL: http://svn.apache.org/viewvc?rev=1073976&view=rev Log: HBASE-3542 MultiGet methods in Thrift Modified: hbase/branches/0.90/CHANGES.txt hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java hbase/branches/0.90/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java Modified: hbase/branches/0.90/CHANGES.txt URL: http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1073976&r1=1073975&r2=1073976&view=diff ============================================================================== --- hbase/branches/0.90/CHANGES.txt (original) +++ hbase/branches/0.90/CHANGES.txt Wed Feb 23 22:56:12 2011 @@ -4,6 +4,9 @@ Release 0.90.2 - February 9th, 2011 HBASE-3545 Possible liveness issue with MasterServerAddress in HRegionServer getMaster (Greg Bowyer via Stack) HBASE-3548 Fix type in documentation of pseudo distributed mode + + IMPROVEMENTS + HBASE-3542 MultiGet methods in Thrift Release 0.90.1 - February 9th, 2011 Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java?rev=1073976&r1=1073975&r2=1073976&view=diff ============================================================================== --- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java (original) +++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java Wed Feb 23 22:56:12 2011 @@ -398,6 +398,52 @@ public class ThriftServer { } } + public List getRows(byte[] tableName, List rows) + throws IOError { + return getRowsWithColumnsTs(tableName, rows, null, + HConstants.LATEST_TIMESTAMP); + } + + public List getRowsWithColumns(byte[] tableName, List rows, + List columns) throws IOError { + return getRowsWithColumnsTs(tableName, rows, columns, + HConstants.LATEST_TIMESTAMP); + } + + public List getRowsTs(byte[] tableName, List rows, + long timestamp) throws IOError { + return getRowsWithColumnsTs(tableName, rows, null, + timestamp); + } + + public List getRowsWithColumnsTs(byte[] tableName, List rows, + List columns, long timestamp) throws IOError { + try { + List gets = new ArrayList(rows.size()); + HTable table = getTable(tableName); + for (byte[] row : rows) { + Get get = new Get(row); + if (columns != null) { + byte[][] columnArr = columns.toArray(new byte[columns.size()][]); + for(byte [] column : columnArr) { + byte [][] famAndQf = KeyValue.parseColumn(column); + if (famAndQf.length == 1) { + get.addFamily(famAndQf[0]); + } else { + get.addColumn(famAndQf[0], famAndQf[1]); + } + } + get.setTimeRange(Long.MIN_VALUE, timestamp); + } + gets.add(get); + } + Result[] result = table.get(gets); + return ThriftUtilities.rowResultFromHBase(result); + } catch (IOException e) { + throw new IOError(e.getMessage()); + } + } + public void deleteAll(byte[] tableName, byte[] row, byte[] column) throws IOError { deleteAllTs(tableName, row, column, HConstants.LATEST_TIMESTAMP);