Return-Path: X-Original-To: apmail-accumulo-notifications-archive@minotaur.apache.org Delivered-To: apmail-accumulo-notifications-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DA6CA1838A for ; Wed, 11 Nov 2015 18:17:11 +0000 (UTC) Received: (qmail 33455 invoked by uid 500); 11 Nov 2015 18:17:11 -0000 Delivered-To: apmail-accumulo-notifications-archive@accumulo.apache.org Received: (qmail 33333 invoked by uid 500); 11 Nov 2015 18:17:11 -0000 Mailing-List: contact notifications-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jira@apache.org Delivered-To: mailing list notifications@accumulo.apache.org Received: (qmail 33290 invoked by uid 99); 11 Nov 2015 18:17:11 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Nov 2015 18:17:11 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 1BAC72C1F57 for ; Wed, 11 Nov 2015 18:17:11 +0000 (UTC) Date: Wed, 11 Nov 2015 18:17:11 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: notifications@accumulo.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ACCUMULO-3948) Enable A/B testing of scan iterators on a table MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/ACCUMULO-3948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15000831#comment-15000831 ] ASF GitHub Bot commented on ACCUMULO-3948: ------------------------------------------ Github user joshelser commented on a diff in the pull request: https://github.com/apache/accumulo/pull/51#discussion_r44565318 --- Diff: test/src/main/java/org/apache/accumulo/test/functional/ScannerContextIT.java --- @@ -0,0 +1,227 @@ +/* + * 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.functional; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Collections; +import java.util.Iterator; +import java.util.Map.Entry; + +import org.apache.accumulo.core.client.BatchScanner; +import org.apache.accumulo.core.client.BatchWriter; +import org.apache.accumulo.core.client.BatchWriterConfig; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.client.Scanner; +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.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.util.CachedConfiguration; +import org.apache.accumulo.fate.util.UtilWaitThread; +import org.apache.accumulo.harness.AccumuloClusterHarness; +import org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.hamcrest.CoreMatchers; +import org.junit.Assume; +import org.junit.Before; +import org.junit.Test; + +public class ScannerContextIT extends AccumuloClusterHarness { + + private static final String CONTEXT = ScannerContextIT.class.getSimpleName(); + private static final String CONTEXT_PROPERTY = Property.VFS_CONTEXT_CLASSPATH_PROPERTY + CONTEXT; + private static final String CONTEXT_DIR = "file:///tmp"; + private static final String CONTEXT_CLASSPATH = CONTEXT_DIR + "/Test.jar"; + private static int ITERATIONS = 10; + + @Override + protected int defaultTimeoutSeconds() { + return 2 * 60; + } + + @Before + public void checkCluster() { + Assume.assumeThat(getClusterType(), CoreMatchers.is(ClusterType.MINI)); + MiniAccumuloClusterImpl mac = (MiniAccumuloClusterImpl) getCluster(); + } + + @Test + public void test() throws Exception { + // Copy the TestIterators jar to tmp + FileSystem fs = FileSystem.get(CachedConfiguration.getInstance()); + Path srcPath = new Path(System.getProperty("user.dir") + "/target/TestIterators-tests.jar"); --- End diff -- Building this up with File or Path (with implicitly/explicit file separators) would be nicer. > Enable A/B testing of scan iterators on a table > ----------------------------------------------- > > Key: ACCUMULO-3948 > URL: https://issues.apache.org/jira/browse/ACCUMULO-3948 > Project: Accumulo > Issue Type: Improvement > Components: tserver > Reporter: Dave Marion > Assignee: Dave Marion > Fix For: 1.8.0 > > Attachments: ACCUMULO-3948.1-6-3.patch, TestIterator.patch > > > Classpath contexts are assigned to a table via the table configuration. You can test at scale by cloning your table and assigning a new classpath context to the cloned table. However, you would also need to change your application to use the new table names and since we cannot disable compactions you would start to consume more space in the filesystem for that table. We can support users passing in a context name to use for the scan on existing tables. -- This message was sent by Atlassian JIRA (v6.3.4#6332)