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 2016/07/11 03:03:27 UTC

[09/16] accumulo git commit: Merge branch '1.7' into 1.8

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6aa47cf9/test/src/main/java/org/apache/accumulo/test/proxy/TBinaryProxyIT.java
----------------------------------------------------------------------
diff --cc test/src/main/java/org/apache/accumulo/test/proxy/TBinaryProxyIT.java
index 6359d1e,0000000..7500361
mode 100644,000000..100644
--- a/test/src/main/java/org/apache/accumulo/test/proxy/TBinaryProxyIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/proxy/TBinaryProxyIT.java
@@@ -1,33 -1,0 +1,35 @@@
 +/*
 + * 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.test.proxy;
 +
++import org.apache.accumulo.harness.SharedMiniClusterBase;
 +import org.apache.thrift.protocol.TBinaryProtocol;
 +import org.junit.BeforeClass;
 +
 +/**
 + *
 + */
 +public class TBinaryProxyIT extends SimpleProxyBase {
 +
 +  @BeforeClass
 +  public static void setProtocol() throws Exception {
++    SharedMiniClusterBase.startMiniCluster();
 +    SimpleProxyBase.factory = new TBinaryProtocol.Factory();
 +    setUpProxy();
 +  }
 +
 +}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6aa47cf9/test/src/main/java/org/apache/accumulo/test/proxy/TCompactProxyIT.java
----------------------------------------------------------------------
diff --cc test/src/main/java/org/apache/accumulo/test/proxy/TCompactProxyIT.java
index a92414a,0000000..157574b
mode 100644,000000..100644
--- a/test/src/main/java/org/apache/accumulo/test/proxy/TCompactProxyIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/proxy/TCompactProxyIT.java
@@@ -1,32 -1,0 +1,34 @@@
 +/*
 + * 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.test.proxy;
 +
++import org.apache.accumulo.harness.SharedMiniClusterBase;
 +import org.apache.thrift.protocol.TCompactProtocol;
 +import org.junit.BeforeClass;
 +
 +/**
 + *
 + */
 +public class TCompactProxyIT extends SimpleProxyBase {
 +
 +  @BeforeClass
 +  public static void setProtocol() throws Exception {
++    SharedMiniClusterBase.startMiniCluster();
 +    SimpleProxyBase.factory = new TCompactProtocol.Factory();
 +    setUpProxy();
 +  }
 +}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6aa47cf9/test/src/main/java/org/apache/accumulo/test/proxy/TJsonProtocolProxyIT.java
----------------------------------------------------------------------
diff --cc test/src/main/java/org/apache/accumulo/test/proxy/TJsonProtocolProxyIT.java
index 5fcbf53,0000000..d8b91c4
mode 100644,000000..100644
--- a/test/src/main/java/org/apache/accumulo/test/proxy/TJsonProtocolProxyIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/proxy/TJsonProtocolProxyIT.java
@@@ -1,33 -1,0 +1,35 @@@
 +/*
 + * 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.test.proxy;
 +
++import org.apache.accumulo.harness.SharedMiniClusterBase;
 +import org.apache.thrift.protocol.TJSONProtocol;
 +import org.junit.BeforeClass;
 +
 +/**
 + *
 + */
 +public class TJsonProtocolProxyIT extends SimpleProxyBase {
 +
 +  @BeforeClass
 +  public static void setProtocol() throws Exception {
++    SharedMiniClusterBase.startMiniCluster();
 +    SimpleProxyBase.factory = new TJSONProtocol.Factory();
 +    setUpProxy();
 +  }
 +
 +}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6aa47cf9/test/src/main/java/org/apache/accumulo/test/proxy/TTupleProxyIT.java
----------------------------------------------------------------------
diff --cc test/src/main/java/org/apache/accumulo/test/proxy/TTupleProxyIT.java
index cdecf2c,0000000..2f792f6
mode 100644,000000..100644
--- a/test/src/main/java/org/apache/accumulo/test/proxy/TTupleProxyIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/proxy/TTupleProxyIT.java
@@@ -1,33 -1,0 +1,35 @@@
 +/*
 + * 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.test.proxy;
 +
++import org.apache.accumulo.harness.SharedMiniClusterBase;
 +import org.apache.thrift.protocol.TTupleProtocol;
 +import org.junit.BeforeClass;
 +
 +/**
 + *
 + */
 +public class TTupleProxyIT extends SimpleProxyBase {
 +
 +  @BeforeClass
 +  public static void setProtocol() throws Exception {
++    SharedMiniClusterBase.startMiniCluster();
 +    SimpleProxyBase.factory = new TTupleProtocol.Factory();
 +    setUpProxy();
 +  }
 +
 +}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/6aa47cf9/test/src/main/java/org/apache/accumulo/test/replication/StatusCombinerMacIT.java
----------------------------------------------------------------------
diff --cc test/src/main/java/org/apache/accumulo/test/replication/StatusCombinerMacIT.java
index 59bfab0,0000000..03663a2
mode 100644,000000..100644
--- a/test/src/main/java/org/apache/accumulo/test/replication/StatusCombinerMacIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/replication/StatusCombinerMacIT.java
@@@ -1,117 -1,0 +1,129 @@@
 +/*
 + * 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.test.replication;
 +
 +import java.util.EnumSet;
 +import java.util.HashMap;
 +import java.util.Map;
 +import java.util.Map.Entry;
 +
 +import org.apache.accumulo.cluster.ClusterUser;
 +import org.apache.accumulo.core.client.BatchWriter;
 +import org.apache.accumulo.core.client.Connector;
 +import org.apache.accumulo.core.client.Scanner;
 +import org.apache.accumulo.core.client.admin.TableOperations;
 +import org.apache.accumulo.core.conf.Property;
 +import org.apache.accumulo.core.data.Key;
 +import org.apache.accumulo.core.data.Mutation;
 +import org.apache.accumulo.core.data.Value;
 +import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
 +import org.apache.accumulo.core.metadata.MetadataTable;
 +import org.apache.accumulo.core.metadata.schema.MetadataSchema;
 +import org.apache.accumulo.core.protobuf.ProtobufUtil;
 +import org.apache.accumulo.core.replication.ReplicationSchema.StatusSection;
 +import org.apache.accumulo.core.replication.ReplicationTable;
 +import org.apache.accumulo.core.security.TablePermission;
 +import org.apache.accumulo.harness.SharedMiniClusterBase;
 +import org.apache.accumulo.server.replication.StatusUtil;
 +import org.apache.accumulo.server.replication.proto.Replication.Status;
 +import org.apache.accumulo.server.util.ReplicationTableUtil;
++import org.junit.AfterClass;
 +import org.junit.Assert;
++import org.junit.BeforeClass;
 +import org.junit.Test;
 +
 +import com.google.common.collect.Iterables;
 +
 +public class StatusCombinerMacIT extends SharedMiniClusterBase {
 +
 +  @Override
 +  public int defaultTimeoutSeconds() {
 +    return 60;
 +  }
 +
++  @BeforeClass
++  public static void setup() throws Exception {
++    SharedMiniClusterBase.startMiniCluster();
++  }
++
++  @AfterClass
++  public static void teardown() throws Exception {
++    SharedMiniClusterBase.stopMiniCluster();
++  }
++
 +  @Test
 +  public void testCombinerSetOnMetadata() throws Exception {
 +    TableOperations tops = getConnector().tableOperations();
 +    Map<String,EnumSet<IteratorScope>> iterators = tops.listIterators(MetadataTable.NAME);
 +
 +    Assert.assertTrue(iterators.containsKey(ReplicationTableUtil.COMBINER_NAME));
 +    EnumSet<IteratorScope> scopes = iterators.get(ReplicationTableUtil.COMBINER_NAME);
 +    Assert.assertEquals(3, scopes.size());
 +    Assert.assertTrue(scopes.contains(IteratorScope.scan));
 +    Assert.assertTrue(scopes.contains(IteratorScope.minc));
 +    Assert.assertTrue(scopes.contains(IteratorScope.majc));
 +
 +    Iterable<Entry<String,String>> propIter = tops.getProperties(MetadataTable.NAME);
 +    HashMap<String,String> properties = new HashMap<>();
 +    for (Entry<String,String> entry : propIter) {
 +      properties.put(entry.getKey(), entry.getValue());
 +    }
 +
 +    for (IteratorScope scope : scopes) {
 +      String key = Property.TABLE_ITERATOR_PREFIX.getKey() + scope.name() + "." + ReplicationTableUtil.COMBINER_NAME + ".opt.columns";
 +      Assert.assertTrue("Properties did not contain key : " + key, properties.containsKey(key));
 +      Assert.assertEquals(MetadataSchema.ReplicationSection.COLF.toString(), properties.get(key));
 +    }
 +  }
 +
 +  @Test
 +  public void test() throws Exception {
 +    Connector conn = getConnector();
 +    ClusterUser user = getAdminUser();
 +
 +    ReplicationTable.setOnline(conn);
 +    conn.securityOperations().grantTablePermission(user.getPrincipal(), ReplicationTable.NAME, TablePermission.WRITE);
 +    BatchWriter bw = ReplicationTable.getBatchWriter(conn);
 +    long createTime = System.currentTimeMillis();
 +    try {
 +      Mutation m = new Mutation("file:/accumulo/wal/HW10447.local+56808/93cdc17e-7521-44fa-87b5-37f45bcb92d3");
 +      StatusSection.add(m, "1", StatusUtil.fileCreatedValue(createTime));
 +      bw.addMutation(m);
 +    } finally {
 +      bw.close();
 +    }
 +
 +    Scanner s = ReplicationTable.getScanner(conn);
 +    Entry<Key,Value> entry = Iterables.getOnlyElement(s);
 +    Assert.assertEquals(StatusUtil.fileCreatedValue(createTime), entry.getValue());
 +
 +    bw = ReplicationTable.getBatchWriter(conn);
 +    try {
 +      Mutation m = new Mutation("file:/accumulo/wal/HW10447.local+56808/93cdc17e-7521-44fa-87b5-37f45bcb92d3");
 +      StatusSection.add(m, "1", ProtobufUtil.toValue(StatusUtil.replicated(Long.MAX_VALUE)));
 +      bw.addMutation(m);
 +    } finally {
 +      bw.close();
 +    }
 +
 +    s = ReplicationTable.getScanner(conn);
 +    entry = Iterables.getOnlyElement(s);
 +    Status stat = Status.parseFrom(entry.getValue().get());
 +    Assert.assertEquals(Long.MAX_VALUE, stat.getBegin());
 +  }
 +
 +}