You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ec...@apache.org on 2013/04/03 22:32:32 UTC
svn commit: r1464196 - in /accumulo/trunk: ./ assemble/ core/
core/src/main/java/org/apache/accumulo/core/util/shell/commands/ examples/
fate/src/main/java/org/apache/accumulo/fate/
fate/src/main/java/org/apache/accumulo/fate/zookeeper/ server/ src/
Author: ecn
Date: Wed Apr 3 20:32:32 2013
New Revision: 1464196
URL: http://svn.apache.org/r1464196
Log:
ACCUMULO-1234 do a local check for classes that are only used locally
Modified:
accumulo/trunk/ (props changed)
accumulo/trunk/assemble/ (props changed)
accumulo/trunk/core/ (props changed)
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetScanIterCommand.java
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetShellIterCommand.java
accumulo/trunk/examples/ (props changed)
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java (props changed)
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java (props changed)
accumulo/trunk/server/ (props changed)
accumulo/trunk/src/ (props changed)
Propchange: accumulo/trunk/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5:r1464194
Propchange: accumulo/trunk/assemble/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/assemble:r1464194
Propchange: accumulo/trunk/core/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/core:r1464194
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java?rev=1464196&r1=1464195&r2=1464196&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java Wed Apr 3 20:32:32 2013
@@ -75,11 +75,22 @@ public class SetIterCommand extends Comm
classname = ReqVisFilter.class.getName();
}
+ final String name = cl.getOptionValue(nameOpt.getOpt(), setUpOptions(shellState.getReader(), classname, options));
+
+ setTableProperties(cl, shellState, priority, options, classname, name);
+ return 0;
+ }
+
+ protected void setTableProperties(final CommandLine cl, final Shell shellState, final int priority, final Map<String,String> options, final String classname,
+ final String name) throws AccumuloException, AccumuloSecurityException, ShellCommandException, TableNotFoundException {
+ // remove empty values
+
+ final String tableName = OptUtil.getTableOpt(cl, shellState);
+
if (!shellState.getConnector().instanceOperations().testClassLoad(classname, SortedKeyValueIterator.class.getName())) {
throw new ShellCommandException(ErrorCode.INITIALIZATION_FAILURE, "Servers are unable to load " + classname + " as type "
+ SortedKeyValueIterator.class.getName());
}
- final String name = cl.getOptionValue(nameOpt.getOpt(), setUpOptions(shellState.getReader(), classname, options));
final String aggregatorClass = options.get("aggregatorClass");
@SuppressWarnings("deprecation")
@@ -88,16 +99,6 @@ public class SetIterCommand extends Comm
throw new ShellCommandException(ErrorCode.INITIALIZATION_FAILURE, "Servers are unable to load " + aggregatorClass + " as type "
+ deprecatedAggregatorClassName);
}
- setTableProperties(cl, shellState, priority, options, classname, name);
-
- return 0;
- }
-
- protected void setTableProperties(final CommandLine cl, final Shell shellState, final int priority, final Map<String,String> options, final String classname,
- final String name) throws AccumuloException, AccumuloSecurityException, ShellCommandException, TableNotFoundException {
- // remove empty values
-
- final String tableName = OptUtil.getTableOpt(cl, shellState);
for (Iterator<Entry<String,String>> i = options.entrySet().iterator(); i.hasNext();) {
final Entry<String,String> entry = i.next();
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetScanIterCommand.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetScanIterCommand.java?rev=1464196&r1=1464195&r2=1464196&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetScanIterCommand.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetScanIterCommand.java Wed Apr 3 20:32:32 2013
@@ -55,8 +55,16 @@ public class SetScanIterCommand extends
final String tableName = OptUtil.getTableOpt(cl, shellState);
// instead of setting table properties, just put the options in a list to use at scan time
- if (!shellState.getConnector().instanceOperations().testClassLoad(classname, SortedKeyValueIterator.class.getName())) {
- throw new ShellCommandException(ErrorCode.INITIALIZATION_FAILURE, "Servers are unable to load " + classname + " as type "
+ Class<?> loadClass;
+ try {
+ loadClass = getClass().getClassLoader().loadClass(classname);
+ } catch (ClassNotFoundException e) {
+ throw new ShellCommandException(ErrorCode.INITIALIZATION_FAILURE, "Unable to load " + classname);
+ }
+ try {
+ loadClass.asSubclass(SortedKeyValueIterator.class);
+ } catch (ClassCastException ex) {
+ throw new ShellCommandException(ErrorCode.INITIALIZATION_FAILURE, "Unable to load " + classname + " as type "
+ SortedKeyValueIterator.class.getName());
}
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetShellIterCommand.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetShellIterCommand.java?rev=1464196&r1=1464195&r2=1464196&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetShellIterCommand.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetShellIterCommand.java Wed Apr 3 20:32:32 2013
@@ -54,8 +54,17 @@ public class SetShellIterCommand extends
String profile = cl.getOptionValue(profileOpt.getOpt());
- if (!shellState.getConnector().instanceOperations().testClassLoad(classname, SortedKeyValueIterator.class.getName())) {
- throw new ShellCommandException(ErrorCode.INITIALIZATION_FAILURE, "Servers are unable to load " + classname + " as type "
+ // instead of setting table properties, just put the options in a list to use at scan time
+ Class<?> loadClass;
+ try {
+ loadClass = getClass().getClassLoader().loadClass(classname);
+ } catch (ClassNotFoundException e) {
+ throw new ShellCommandException(ErrorCode.INITIALIZATION_FAILURE, "Unable to load " + classname);
+ }
+ try {
+ loadClass.asSubclass(SortedKeyValueIterator.class);
+ } catch (ClassCastException ex) {
+ throw new ShellCommandException(ErrorCode.INITIALIZATION_FAILURE, "xUnable to load " + classname + " as type "
+ SortedKeyValueIterator.class.getName());
}
Propchange: accumulo/trunk/examples/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/examples:r1464194
Propchange: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:r1464194
Propchange: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java:r1464194
Propchange: accumulo/trunk/server/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/server:r1464194
Propchange: accumulo/trunk/src/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/src:r1464194