accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From e..@apache.org
Subject svn commit: r1438182 - in /accumulo/trunk/proxy/src: main/java/org/apache/accumulo/proxy/ main/java/org/apache/accumulo/proxy/thrift/ main/thrift/ test/java/org/apache/accumulo/proxy/
Date Thu, 24 Jan 2013 20:51:07 GMT
Author: ecn
Date: Thu Jan 24 20:51:07 2013
New Revision: 1438182

URL: http://svn.apache.org/viewvc?rev=1438182&view=rev
Log:
ACCUMULO-969 missed getMaxRow api

Modified:
    accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
    accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloProxy.java
    accumulo/trunk/proxy/src/main/thrift/proxy.thrift
    accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/SimpleTest.java
    accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java

Modified: accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java?rev=1438182&r1=1438181&r2=1438182&view=diff
==============================================================================
--- accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java (original)
+++ accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java Thu Jan
24 20:51:07 2013
@@ -263,13 +263,19 @@ public class ProxyServer implements Accu
   }
   
   @Override
-  public ByteBuffer getMaxRow(UserPass userpass, String tableName, List<ByteBuffer>
auths, ByteBuffer startRow, boolean startinclusive,
+  public ByteBuffer getMaxRow(UserPass userpass, String tableName, Set<ByteBuffer>
auths, ByteBuffer startRow, boolean startinclusive,
       ByteBuffer endRow, boolean endinclusive) throws TException {
     try {
-      
+      Connector connector = getConnector(userpass);
       Text startText = ByteBufferUtil.toText(startRow);
       Text endText = ByteBufferUtil.toText(endRow);
-      Text max = getConnector(userpass).tableOperations().getMaxRow(tableName, new Authorizations(auths),
startText, startinclusive, endText, endinclusive);
+      Authorizations auth;
+      if (auths != null) {
+        auth = getAuthorizations(auths);
+      } else {
+        auth = connector.securityOperations().getUserAuthorizations(userpass.getUsername());
+      }
+      Text max = connector.tableOperations().getMaxRow(tableName, auth, startText, startinclusive,
endText, endinclusive);
       return TextUtil.getByteBuffer(max);
     } catch (Exception e) {
       throw translateException(e);

Modified: accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloProxy.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloProxy.java?rev=1438182&r1=1438181&r2=1438182&view=diff
==============================================================================
--- accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloProxy.java
(original)
+++ accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloProxy.java
Thu Jan 24 20:51:07 2013
@@ -80,7 +80,7 @@ import org.slf4j.LoggerFactory;
 
     public IteratorSetting getIteratorSetting(UserPass userpass, String tableName, String
iteratorName, IteratorScope scope) throws AccumuloSecurityException, AccumuloException, TableNotFoundException,
org.apache.thrift.TException;
 
-    public ByteBuffer getMaxRow(UserPass userpass, String tableName, List<ByteBuffer>
auths, ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive)
throws TableNotFoundException, AccumuloException, AccumuloSecurityException, org.apache.thrift.TException;
+    public ByteBuffer getMaxRow(UserPass userpass, String tableName, Set<ByteBuffer>
auths, ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive)
throws TableNotFoundException, AccumuloException, AccumuloSecurityException, org.apache.thrift.TException;
 
     public Map<String,String> getTableProperties(UserPass userpass, String tableName)
throws AccumuloException, TableNotFoundException, org.apache.thrift.TException;
 
@@ -224,7 +224,7 @@ import org.slf4j.LoggerFactory;
 
     public void getIteratorSetting(UserPass userpass, String tableName, String iteratorName,
IteratorScope scope, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getIteratorSetting_call>
resultHandler) throws org.apache.thrift.TException;
 
-    public void getMaxRow(UserPass userpass, String tableName, List<ByteBuffer> auths,
ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getMaxRow_call>
resultHandler) throws org.apache.thrift.TException;
+    public void getMaxRow(UserPass userpass, String tableName, Set<ByteBuffer> auths,
ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getMaxRow_call>
resultHandler) throws org.apache.thrift.TException;
 
     public void getTableProperties(UserPass userpass, String tableName, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTableProperties_call>
resultHandler) throws org.apache.thrift.TException;
 
@@ -821,13 +821,13 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
"getIteratorSetting failed: unknown result");
     }
 
-    public ByteBuffer getMaxRow(UserPass userpass, String tableName, List<ByteBuffer>
auths, ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive)
throws TableNotFoundException, AccumuloException, AccumuloSecurityException, org.apache.thrift.TException
+    public ByteBuffer getMaxRow(UserPass userpass, String tableName, Set<ByteBuffer>
auths, ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive)
throws TableNotFoundException, AccumuloException, AccumuloSecurityException, org.apache.thrift.TException
     {
       send_getMaxRow(userpass, tableName, auths, startRow, startInclusive, endRow, endInclusive);
       return recv_getMaxRow();
     }
 
-    public void send_getMaxRow(UserPass userpass, String tableName, List<ByteBuffer>
auths, ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive)
throws org.apache.thrift.TException
+    public void send_getMaxRow(UserPass userpass, String tableName, Set<ByteBuffer>
auths, ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive)
throws org.apache.thrift.TException
     {
       getMaxRow_args args = new getMaxRow_args();
       args.setUserpass(userpass);
@@ -3018,7 +3018,7 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void getMaxRow(UserPass userpass, String tableName, List<ByteBuffer> auths,
ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive, org.apache.thrift.async.AsyncMethodCallback<getMaxRow_call>
resultHandler) throws org.apache.thrift.TException {
+    public void getMaxRow(UserPass userpass, String tableName, Set<ByteBuffer> auths,
ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive, org.apache.thrift.async.AsyncMethodCallback<getMaxRow_call>
resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getMaxRow_call method_call = new getMaxRow_call(userpass, tableName, auths, startRow,
startInclusive, endRow, endInclusive, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -3028,12 +3028,12 @@ import org.slf4j.LoggerFactory;
     public static class getMaxRow_call extends org.apache.thrift.async.TAsyncMethodCall {
       private UserPass userpass;
       private String tableName;
-      private List<ByteBuffer> auths;
+      private Set<ByteBuffer> auths;
       private ByteBuffer startRow;
       private boolean startInclusive;
       private ByteBuffer endRow;
       private boolean endInclusive;
-      public getMaxRow_call(UserPass userpass, String tableName, List<ByteBuffer> auths,
ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive, org.apache.thrift.async.AsyncMethodCallback<getMaxRow_call>
resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory
protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException
{
+      public getMaxRow_call(UserPass userpass, String tableName, Set<ByteBuffer> auths,
ByteBuffer startRow, boolean startInclusive, ByteBuffer endRow, boolean endInclusive, org.apache.thrift.async.AsyncMethodCallback<getMaxRow_call>
resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory
protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException
{
         super(client, protocolFactory, transport, resultHandler, false);
         this.userpass = userpass;
         this.tableName = tableName;
@@ -24842,7 +24842,7 @@ import org.slf4j.LoggerFactory;
 
     private static final org.apache.thrift.protocol.TField USERPASS_FIELD_DESC = new org.apache.thrift.protocol.TField("userpass",
org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField TABLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tableName",
org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField AUTHS_FIELD_DESC = new org.apache.thrift.protocol.TField("auths",
org.apache.thrift.protocol.TType.LIST, (short)3);
+    private static final org.apache.thrift.protocol.TField AUTHS_FIELD_DESC = new org.apache.thrift.protocol.TField("auths",
org.apache.thrift.protocol.TType.SET, (short)3);
     private static final org.apache.thrift.protocol.TField START_ROW_FIELD_DESC = new org.apache.thrift.protocol.TField("startRow",
org.apache.thrift.protocol.TType.STRING, (short)4);
     private static final org.apache.thrift.protocol.TField START_INCLUSIVE_FIELD_DESC = new
org.apache.thrift.protocol.TField("startInclusive", org.apache.thrift.protocol.TType.BOOL,
(short)5);
     private static final org.apache.thrift.protocol.TField END_ROW_FIELD_DESC = new org.apache.thrift.protocol.TField("endRow",
org.apache.thrift.protocol.TType.STRING, (short)6);
@@ -24856,7 +24856,7 @@ import org.slf4j.LoggerFactory;
 
     public UserPass userpass; // required
     public String tableName; // required
-    public List<ByteBuffer> auths; // required
+    public Set<ByteBuffer> auths; // required
     public ByteBuffer startRow; // required
     public boolean startInclusive; // required
     public ByteBuffer endRow; // required
@@ -24950,7 +24950,7 @@ import org.slf4j.LoggerFactory;
       tmpMap.put(_Fields.TABLE_NAME, new org.apache.thrift.meta_data.FieldMetaData("tableName",
org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.AUTHS, new org.apache.thrift.meta_data.FieldMetaData("auths", org.apache.thrift.TFieldRequirementType.DEFAULT,

-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,

+          new org.apache.thrift.meta_data.SetMetaData(org.apache.thrift.protocol.TType.SET,

               new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING
             , true))));
       tmpMap.put(_Fields.START_ROW, new org.apache.thrift.meta_data.FieldMetaData("startRow",
org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING
         , true)));
@@ -24970,7 +24970,7 @@ import org.slf4j.LoggerFactory;
     public getMaxRow_args(
       UserPass userpass,
       String tableName,
-      List<ByteBuffer> auths,
+      Set<ByteBuffer> auths,
       ByteBuffer startRow,
       boolean startInclusive,
       ByteBuffer endRow,
@@ -25000,7 +25000,7 @@ import org.slf4j.LoggerFactory;
         this.tableName = other.tableName;
       }
       if (other.isSetAuths()) {
-        List<ByteBuffer> __this__auths = new ArrayList<ByteBuffer>();
+        Set<ByteBuffer> __this__auths = new HashSet<ByteBuffer>();
         for (ByteBuffer other_element : other.auths) {
           ByteBuffer temp_binary_element = org.apache.thrift.TBaseHelper.copyBinary(other_element);
 ;
@@ -25095,16 +25095,16 @@ import org.slf4j.LoggerFactory;
 
     public void addToAuths(ByteBuffer elem) {
       if (this.auths == null) {
-        this.auths = new ArrayList<ByteBuffer>();
+        this.auths = new HashSet<ByteBuffer>();
       }
       this.auths.add(elem);
     }
 
-    public List<ByteBuffer> getAuths() {
+    public Set<ByteBuffer> getAuths() {
       return this.auths;
     }
 
-    public getMaxRow_args setAuths(List<ByteBuffer> auths) {
+    public getMaxRow_args setAuths(Set<ByteBuffer> auths) {
       this.auths = auths;
       return this;
     }
@@ -25260,7 +25260,7 @@ import org.slf4j.LoggerFactory;
         if (value == null) {
           unsetAuths();
         } else {
-          setAuths((List<ByteBuffer>)value);
+          setAuths((Set<ByteBuffer>)value);
         }
         break;
 
@@ -25646,17 +25646,17 @@ import org.slf4j.LoggerFactory;
               }
               break;
             case 3: // AUTHS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
                 {
-                  org.apache.thrift.protocol.TList _list174 = iprot.readListBegin();
-                  struct.auths = new ArrayList<ByteBuffer>(_list174.size);
-                  for (int _i175 = 0; _i175 < _list174.size; ++_i175)
+                  org.apache.thrift.protocol.TSet _set174 = iprot.readSetBegin();
+                  struct.auths = new HashSet<ByteBuffer>(2*_set174.size);
+                  for (int _i175 = 0; _i175 < _set174.size; ++_i175)
                   {
                     ByteBuffer _elem176; // required
                     _elem176 = iprot.readBinary();
                     struct.auths.add(_elem176);
                   }
-                  iprot.readListEnd();
+                  iprot.readSetEnd();
                 }
                 struct.setAuthsIsSet(true);
               } else { 
@@ -25723,12 +25723,12 @@ import org.slf4j.LoggerFactory;
         if (struct.auths != null) {
           oprot.writeFieldBegin(AUTHS_FIELD_DESC);
           {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING,
struct.auths.size()));
+            oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING,
struct.auths.size()));
             for (ByteBuffer _iter177 : struct.auths)
             {
               oprot.writeBinary(_iter177);
             }
-            oprot.writeListEnd();
+            oprot.writeSetEnd();
           }
           oprot.writeFieldEnd();
         }
@@ -25832,9 +25832,9 @@ import org.slf4j.LoggerFactory;
         }
         if (incoming.get(2)) {
           {
-            org.apache.thrift.protocol.TList _list179 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING,
iprot.readI32());
-            struct.auths = new ArrayList<ByteBuffer>(_list179.size);
-            for (int _i180 = 0; _i180 < _list179.size; ++_i180)
+            org.apache.thrift.protocol.TSet _set179 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING,
iprot.readI32());
+            struct.auths = new HashSet<ByteBuffer>(2*_set179.size);
+            for (int _i180 = 0; _i180 < _set179.size; ++_i180)
             {
               ByteBuffer _elem181; // required
               _elem181 = iprot.readBinary();

Modified: accumulo/trunk/proxy/src/main/thrift/proxy.thrift
URL: http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/main/thrift/proxy.thrift?rev=1438182&r1=1438181&r2=1438182&view=diff
==============================================================================
--- accumulo/trunk/proxy/src/main/thrift/proxy.thrift (original)
+++ accumulo/trunk/proxy/src/main/thrift/proxy.thrift Thu Jan 24 20:51:07 2013
@@ -258,7 +258,7 @@ service AccumuloProxy
   IteratorSetting getIteratorSetting (1:UserPass userpass, 2:string tableName, 
                                       3:string iteratorName, 4:IteratorScope scope) 
                                                                                         
                   throws (1:AccumuloSecurityException ouch1, 2:AccumuloException ouch2, 3:TableNotFoundException
ouch3);
-  binary getMaxRow (1:UserPass userpass, 2:string tableName, 3:list<binary> auths,
4:binary startRow, 
+  binary getMaxRow (1:UserPass userpass, 2:string tableName, 3:set<binary> auths, 4:binary
startRow, 
                     5:bool startInclusive, 6:binary endRow, 7:bool endInclusive) 
                                                                                         
                   throws (1:TableNotFoundException ouch1, 2:AccumuloException ouch2, 3:AccumuloSecurityException
ouch3);
   map<string,string> getTableProperties (1:UserPass userpass, 2:string tableName) 
                         throws (1:AccumuloException ouch1, 2:TableNotFoundException ouch2);

Modified: accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/SimpleTest.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/SimpleTest.java?rev=1438182&r1=1438181&r2=1438182&view=diff
==============================================================================
--- accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/SimpleTest.java (original)
+++ accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/SimpleTest.java Thu Jan 24
20:51:07 2013
@@ -67,9 +67,8 @@ import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
 /**
- * An example unit test that shows how to use MiniAccumuloCluster in a unit test
+ * Call every method on the proxy and try to verify that it works.
  */
-
 public class SimpleTest {
   
   public static TemporaryFolder folder = new TemporaryFolder();
@@ -443,7 +442,8 @@ public class SimpleTest {
     more = client.nextK(scanner, 100);
     client.closeScanner(scanner);
     assertEquals(1, more.results.size());
-    
+    ByteBuffer maxRow = client.getMaxRow(creds, "bar", null, null, false, null, false);
+    assertEquals(s2bb("a"), maxRow);
   }
   
   // scan !METADATA table for file entries for the given table

Modified: accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java?rev=1438182&r1=1438181&r2=1438182&view=diff
==============================================================================
--- accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java
(original)
+++ accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java
Thu Jan 24 20:51:07 2013
@@ -199,18 +199,16 @@ public class TestProxyTableOperations {
   
   @Test
   public void tableOperationsRowMethods() throws TException {
-    List<ByteBuffer> auths = tpc.proxy().getUserAuthorizations(userpass, "root");
-    // System.out.println(auths);
     Map<ByteBuffer,List<ColumnUpdate>> mutations = new HashMap<ByteBuffer,List<ColumnUpdate>>();
     for (int i = 0; i < 10; i++) {
       addMutation(mutations, "" + i, "cf", "cq", "");
     }
     tpc.proxy().updateAndFlush(userpass, testtable, mutations);
     
-    assertEquals(tpc.proxy().getMaxRow(userpass, testtable, auths, null, true, null, true),
ByteBuffer.wrap("9".getBytes()));
+    assertEquals(tpc.proxy().getMaxRow(userpass, testtable, null, null, true, null, true),
ByteBuffer.wrap("9".getBytes()));
     
     tpc.proxy().deleteRows(userpass,testtable,ByteBuffer.wrap("51".getBytes()), ByteBuffer.wrap("99".getBytes()));
-    assertEquals(tpc.proxy().getMaxRow(userpass, testtable, auths, null, true, null, true),
ByteBuffer.wrap("5".getBytes()));
+    assertEquals(tpc.proxy().getMaxRow(userpass, testtable, null, null, true, null, true),
ByteBuffer.wrap("5".getBytes()));
   }
   
 }



Mime
View raw message