You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2015/05/27 22:47:36 UTC

[08/17] accumulo git commit: Merge branch '1.6' into 1.7

Merge branch '1.6' into 1.7

Conflicts:
	proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/6dab32ed
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/6dab32ed
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/6dab32ed

Branch: refs/heads/master
Commit: 6dab32ed2c2f5c901592d216a170578df5a3f2a4
Parents: caef59e c9f33d0
Author: Josh Elser <el...@apache.org>
Authored: Wed May 27 16:45:46 2015 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Wed May 27 16:45:46 2015 -0400

----------------------------------------------------------------------
 proxy/pom.xml                                   |   5 +
 .../org/apache/accumulo/proxy/ProxyServer.java  |  16 ++-
 .../apache/accumulo/proxy/ProxyServerTest.java  | 114 +++++++++++++++++++
 3 files changed, 131 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/6dab32ed/proxy/pom.xml
----------------------------------------------------------------------
diff --cc proxy/pom.xml
index 5da2763,ee106c7..1b3f122
--- a/proxy/pom.xml
+++ b/proxy/pom.xml
@@@ -82,6 -77,11 +82,11 @@@
        <scope>test</scope>
      </dependency>
      <dependency>
 -      <groupId>org.apache.accumulo</groupId>
 -      <artifactId>accumulo-test</artifactId>
++      <groupId>org.easymock</groupId>
++      <artifactId>easymock</artifactId>
+       <scope>test</scope>
+     </dependency>
+     <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6dab32ed/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
----------------------------------------------------------------------
diff --cc proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
index e2dabe5,abd225c..88dad8d
--- a/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
+++ b/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
@@@ -1182,8 -1139,9 +1182,9 @@@ public class ProxyServer implements Acc
    public void updateAndFlush(ByteBuffer login, String tableName, Map<ByteBuffer,List<ColumnUpdate>> cells)
        throws org.apache.accumulo.proxy.thrift.AccumuloException, org.apache.accumulo.proxy.thrift.AccumuloSecurityException,
        org.apache.accumulo.proxy.thrift.TableNotFoundException, org.apache.accumulo.proxy.thrift.MutationsRejectedException, TException {
 -    BatchWriterPlusException bwpe = null;
++    BatchWriterPlusProblem bwpe = null;
      try {
-       BatchWriterPlusProblem bwpe = getWriter(login, tableName, null);
+       bwpe = getWriter(login, tableName, null);
        addCellsToWriter(cells, bwpe);
        if (bwpe.exception != null)
          throw bwpe.exception;
@@@ -1196,7 -1161,7 +1204,7 @@@
  
    private static final ColumnVisibility EMPTY_VIS = new ColumnVisibility();
  
-   private void addCellsToWriter(Map<ByteBuffer,List<ColumnUpdate>> cells, BatchWriterPlusProblem bwpe) {
 -  void addCellsToWriter(Map<ByteBuffer,List<ColumnUpdate>> cells, BatchWriterPlusException bwpe) {
++  void addCellsToWriter(Map<ByteBuffer,List<ColumnUpdate>> cells, BatchWriterPlusProblem bwpe) {
      if (bwpe.exception != null)
        return;
  
@@@ -1320,7 -1285,7 +1328,7 @@@
      return bwpe;
    }
  
-   private BatchWriterPlusProblem getWriter(ByteBuffer login, String tableName, WriterOptions opts) throws Exception {
 -  BatchWriterPlusException getWriter(ByteBuffer login, String tableName, WriterOptions opts) throws Exception {
++  BatchWriterPlusProblem getWriter(ByteBuffer login, String tableName, WriterOptions opts) throws Exception {
      BatchWriterConfig cfg = new BatchWriterConfig();
      if (opts != null) {
        if (opts.maxMemory != 0)

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6dab32ed/proxy/src/test/java/org/apache/accumulo/proxy/ProxyServerTest.java
----------------------------------------------------------------------
diff --cc proxy/src/test/java/org/apache/accumulo/proxy/ProxyServerTest.java
index 0000000,ed4f313..24201e7
mode 000000,100644..100644
--- a/proxy/src/test/java/org/apache/accumulo/proxy/ProxyServerTest.java
+++ b/proxy/src/test/java/org/apache/accumulo/proxy/ProxyServerTest.java
@@@ -1,0 -1,114 +1,114 @@@
+ /*
+  * Licensed to the Apache Software Foundation (ASF) under one or more
+  * contributor license agreements.  See the NOTICE file distributed with
+  * this work for additional information regarding copyright ownership.
+  * The ASF licenses this file to You under the Apache License, Version 2.0
+  * (the "License"); you may not use this file except in compliance with
+  * the License.  You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  */
+ package org.apache.accumulo.proxy;
+ 
+ import java.nio.ByteBuffer;
+ import java.nio.charset.Charset;
+ import java.util.HashMap;
+ import java.util.List;
+ import java.util.Map;
+ 
+ import org.apache.accumulo.core.client.BatchWriter;
+ import org.apache.accumulo.core.client.MutationsRejectedException;
 -import org.apache.accumulo.proxy.ProxyServer.BatchWriterPlusException;
++import org.apache.accumulo.proxy.ProxyServer.BatchWriterPlusProblem;
+ import org.apache.accumulo.proxy.thrift.ColumnUpdate;
+ import org.apache.accumulo.proxy.thrift.WriterOptions;
+ import org.easymock.EasyMock;
+ import org.junit.Assert;
+ import org.junit.Test;
+ 
+ /**
+  *
+  */
+ public class ProxyServerTest {
+ 
+   private static final Charset UTF_8 = Charset.forName("UTF-8");
+ 
+   @Test
+   public void updateAndFlushClosesWriterOnExceptionFromAddCells() throws Exception {
+     ProxyServer server = EasyMock.createMockBuilder(ProxyServer.class).addMockedMethod("getWriter", ByteBuffer.class, String.class, WriterOptions.class)
 -        .addMockedMethod("addCellsToWriter", Map.class, BatchWriterPlusException.class).createMock();
++        .addMockedMethod("addCellsToWriter", Map.class, BatchWriterPlusProblem.class).createMock();
+     BatchWriter writer = EasyMock.createMock(BatchWriter.class);
 -    BatchWriterPlusException bwpe = new BatchWriterPlusException();
++    BatchWriterPlusProblem bwpe = new BatchWriterPlusProblem();
+     bwpe.writer = writer;
+     MutationsRejectedException mre = EasyMock.createMock(MutationsRejectedException.class);
+ 
+     final ByteBuffer login = ByteBuffer.wrap("my_login".getBytes(UTF_8));
 -    final String tableName = "table1"; 
++    final String tableName = "table1";
+     final Map<ByteBuffer,List<ColumnUpdate>> cells = new HashMap<ByteBuffer,List<ColumnUpdate>>();
+ 
+     EasyMock.expect(server.getWriter(login, tableName, null)).andReturn(bwpe);
+     server.addCellsToWriter(cells, bwpe);
+     EasyMock.expectLastCall();
+ 
+     // Set the exception
+     bwpe.exception = mre;
+ 
+     writer.close();
+     EasyMock.expectLastCall();
+ 
+     EasyMock.replay(server, writer, mre);
+ 
+     try {
+       server.updateAndFlush(login, tableName, cells);
+       Assert.fail("Expected updateAndFlush to throw an exception");
+     } catch (org.apache.accumulo.proxy.thrift.MutationsRejectedException e) {
+       // pass
+     }
+ 
+     EasyMock.verify(server, writer, mre);
+   }
+ 
+   @Test
+   public void updateAndFlushClosesWriterOnExceptionFromFlush() throws Exception {
+     ProxyServer server = EasyMock.createMockBuilder(ProxyServer.class).addMockedMethod("getWriter", ByteBuffer.class, String.class, WriterOptions.class)
 -        .addMockedMethod("addCellsToWriter", Map.class, BatchWriterPlusException.class).createMock();
++        .addMockedMethod("addCellsToWriter", Map.class, BatchWriterPlusProblem.class).createMock();
+     BatchWriter writer = EasyMock.createMock(BatchWriter.class);
 -    BatchWriterPlusException bwpe = new BatchWriterPlusException();
++    BatchWriterPlusProblem bwpe = new BatchWriterPlusProblem();
+     bwpe.writer = writer;
+     MutationsRejectedException mre = EasyMock.createMock(MutationsRejectedException.class);
+ 
+     final ByteBuffer login = ByteBuffer.wrap("my_login".getBytes(UTF_8));
 -    final String tableName = "table1"; 
++    final String tableName = "table1";
+     final Map<ByteBuffer,List<ColumnUpdate>> cells = new HashMap<ByteBuffer,List<ColumnUpdate>>();
+ 
+     EasyMock.expect(server.getWriter(login, tableName, null)).andReturn(bwpe);
+     server.addCellsToWriter(cells, bwpe);
+     EasyMock.expectLastCall();
+ 
+     // No exception throw adding the cells
+     bwpe.exception = null;
+ 
+     writer.flush();
+     EasyMock.expectLastCall().andThrow(mre);
+ 
+     writer.close();
+     EasyMock.expectLastCall();
+ 
+     EasyMock.replay(server, writer, mre);
+ 
+     try {
+       server.updateAndFlush(login, tableName, cells);
+       Assert.fail("Expected updateAndFlush to throw an exception");
+     } catch (org.apache.accumulo.proxy.thrift.MutationsRejectedException e) {
+       // pass
+     }
+ 
+     EasyMock.verify(server, writer, mre);
+   }
 -  
++
+ }