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 65F2B187D1 for ; Wed, 29 Jul 2015 12:21:11 +0000 (UTC) Received: (qmail 51898 invoked by uid 500); 29 Jul 2015 12:21:05 -0000 Delivered-To: apmail-accumulo-notifications-archive@accumulo.apache.org Received: (qmail 51866 invoked by uid 500); 29 Jul 2015 12:21:05 -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 51760 invoked by uid 99); 29 Jul 2015 12:21:04 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Jul 2015 12:21:04 +0000 Date: Wed, 29 Jul 2015 12:21:04 +0000 (UTC) From: "Dave Marion (JIRA)" To: notifications@accumulo.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Resolved] (ACCUMULO-2911) setscaniter and setshelliter unable to load class. 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-2911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dave Marion resolved ACCUMULO-2911. ----------------------------------- Resolution: Cannot Reproduce Closing this due to lack of response. Can re-open if it's still an issue. > setscaniter and setshelliter unable to load class. > -------------------------------------------------- > > Key: ACCUMULO-2911 > URL: https://issues.apache.org/jira/browse/ACCUMULO-2911 > Project: Accumulo > Issue Type: Bug > Affects Versions: 1.5.0 > Reporter: David Medinets > Priority: Trivial > > Problem: > I can use a custom iterator using the setiter command but the same iterator does not work using the setscaniter or setshelliter commands. > References: > https://blogs.apache.org/accumulo/entry/the_accumulo_classloader > http://accumulo.apache.org/1.5/examples/classpath.html > Description: > I am using my https://github.com/medined/D4M_Schema project to start Accumulo. So the environment that I am using can be duplicated exactly if needed. I am using > Accumulo: 1.5.0 > Hadoop: 1.2.1 > The classpath settings in accumulo-site.xml are the following (which I think are the default): > > general.classpaths > > $ACCUMULO_HOME/server/target/classes/, > $ACCUMULO_HOME/core/target/classes/, > $ACCUMULO_HOME/start/target/classes/, > $ACCUMULO_HOME/examples/target/classes/, > $ACCUMULO_HOME/lib/[^.].$ACCUMULO_VERSION.jar, > $ACCUMULO_HOME/lib/[^.].*.jar, > $ZOOKEEPER_HOME/zookeeper[^.].*.jar, > $HADOOP_HOME/conf, > $HADOOP_HOME/[^.].*.jar, > $HADOOP_HOME/lib/[^.].*.jar, > > Classpaths that accumulo checks for updates and class files. > When using the Security Manager, please remove the ".../target/classes/" values. > > > I can load my iterator using setiter but not with setscaniter or setshelliter. > Here is my do-nothing iterator: > public class MyIterator extends WrappingIterator implements OptionDescriber { > @Override > public IteratorOptions describeOptions() { > String name = "dummy"; > String description = "Dummy Description"; > Map namedOptions = new HashMap(); > List unnamedOptionDescriptions = null; > return new IteratorOptions(name, description, namedOptions, unnamedOptionDescriptions); > } > @Override > public boolean validateOptions(Map options) { > return true; > } > > } > I copy the jar file out to HDFS: > hadoop fs -mkdir /user/vagrant/d4m/classpath > hadoop fs -put /vagrant/schema/target/d4m_schema-0.0.1-SNAPSHOT.jar /user/vagrant/classpath > I set the table-specific classpath context: > createtable atest > table atest > insert row cf cq value > config -s general.vfs.context.classpath.d4m=hdfs://affy-master:9000/user/vagrant/classpath > config -t atest -s table.classpath.context=d4m > Now I can configure the iterator and scan over the single row without a problem: > setiter -n MyIterator -p 10 -scan -minc -majc -class com.codebits.d4m.iterator.MyIterator > scan > deleteiter -n MyIterator -scan -minc -majc > However, the setscaniter commands fails: > root@instance atest> setscaniter -n MyIterator -p 10 -class com.codebits.d4m.iterator.MyIterator > 2014-06-15 02:54:14,098 [shell.Shell] WARN : Deprecated, use setshelliter > Dummy Description > 2014-06-15 02:54:14,126 [shell.Shell] ERROR: org.apache.accumulo.core.util.shell.ShellCommandException: Command could not be initialized (Unable to load com.codebits.d4m.iterator.MyIterator) > As does the setshelliter: > root@instance atest> setshelliter -pn d4m -n MyIterator -p 10 -class com.codebits.d4m.iterator.MyIterator > Dummy Description > 2014-06-15 02:55:07,025 [shell.Shell] ERROR: org.apache.accumulo.core.util.shell.ShellCommandException: Command could not be initialized (Unable to load com.codebits.d4m.iterator.MyIterator) > I don't see any messages in the log files. -- This message was sent by Atlassian JIRA (v6.3.4#6332)