Return-Path: X-Original-To: apmail-accumulo-commits-archive@www.apache.org Delivered-To: apmail-accumulo-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 91353103E0 for ; Tue, 3 Dec 2013 21:16:28 +0000 (UTC) Received: (qmail 73498 invoked by uid 500); 3 Dec 2013 21:16:28 -0000 Delivered-To: apmail-accumulo-commits-archive@accumulo.apache.org Received: (qmail 73447 invoked by uid 500); 3 Dec 2013 21:16:28 -0000 Mailing-List: contact commits-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list commits@accumulo.apache.org Received: (qmail 73402 invoked by uid 99); 3 Dec 2013 21:16:28 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Dec 2013 21:16:28 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 0BC8791C1C1; Tue, 3 Dec 2013 21:16:28 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ctubbsii@apache.org To: commits@accumulo.apache.org Date: Tue, 03 Dec 2013 21:16:29 -0000 Message-Id: In-Reply-To: <56b70f3f0d2a4558a63ceaf16a0c48dc@git.apache.org> References: <56b70f3f0d2a4558a63ceaf16a0c48dc@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [3/8] ACCUMULO-1961 Fix warnings http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java ---------------------------------------------------------------------- diff --git a/src/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java b/src/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java index 517575c..14f95a1 100644 --- a/src/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java +++ b/src/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java @@ -391,6 +391,7 @@ public class IntersectingIterator implements SortedKeyValueIterator { * @deprecated since 1.4. To be made protected. Do not interact with flags string directly, just use * {@link #setColumnFamilies(IteratorSetting, Text[], boolean[])}. */ + @Deprecated public static String encodeColumns(Text[] columns) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < columns.length; i++) { @@ -406,6 +407,7 @@ public class IntersectingIterator implements SortedKeyValueIterator { * @deprecated since 1.4. To be made protected. Do not interact with flags string directly, just use * {@link #setColumnFamilies(IteratorSetting, Text[], boolean[])}. */ + @Deprecated public static String encodeBooleans(boolean[] flags) { byte[] bytes = new byte[flags.length]; for (int i = 0; i < flags.length; i++) { @@ -434,6 +436,7 @@ public class IntersectingIterator implements SortedKeyValueIterator { * @deprecated since 1.4. To be made protected. Do not interact with flags string directly, just use * {@link #setColumnFamilies(IteratorSetting, Text[], boolean[])}. */ + @Deprecated public static boolean[] decodeBooleans(String flags) { // return null of there were no flags if (flags == null) http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java ---------------------------------------------------------------------- diff --git a/src/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java b/src/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java index cfbed38..f8de400 100644 --- a/src/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +++ b/src/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java @@ -117,8 +117,6 @@ import org.apache.accumulo.core.util.shell.commands.QuotedStringTokenizer; import org.apache.accumulo.core.util.shell.commands.RenameTableCommand; import org.apache.accumulo.core.util.shell.commands.RevokeCommand; import org.apache.accumulo.core.util.shell.commands.ScanCommand; -import org.apache.accumulo.core.util.shell.commands.SelectCommand; -import org.apache.accumulo.core.util.shell.commands.SelectrowCommand; import org.apache.accumulo.core.util.shell.commands.SetAuthsCommand; import org.apache.accumulo.core.util.shell.commands.SetGroupsCommand; import org.apache.accumulo.core.util.shell.commands.SetIterCommand; @@ -153,11 +151,11 @@ import org.apache.log4j.Logger; public class Shell { public static final Logger log = Logger.getLogger(Shell.class); private static final Logger audit = Logger.getLogger(Shell.class.getName() + ".audit"); - + public static final int NO_FIXED_ARG_LENGTH_CHECK = -1; private static final String SHELL_DESCRIPTION = "Shell - Apache Accumulo Interactive Shell"; private static final String DEFAULT_AUTH_TIMEOUT = "60"; // in minutes - + private int exitCode = 0; private String tableName; private Instance instance; @@ -167,129 +165,129 @@ public class Shell { private Class defaultFormatterClass = DefaultFormatter.class; private Class binaryFormatterClass = BinaryFormatter.class; public Map> scanIteratorOptions = new HashMap>(); - + private Token rootToken; public final Map commandFactory = new TreeMap(); private boolean configError = false; - + // Global options flags public static final String userOption = "u"; public static final String tableOption = "t"; public static final String helpOption = "?"; public static final String helpLongOption = "help"; - + // exit if true private boolean exit = false; - + // file to execute commands from private String execFile = null; // single command to execute from the command line private String execCommand = null; private boolean verbose = true; - + private boolean tabCompletion; private boolean disableAuthTimeout; private long authTimeout; private long lastUserActivity = System.currentTimeMillis(); - + @SuppressWarnings("deprecation") public void config(String... args) { Options opts = new Options(); - + Option usernameOption = new Option("u", "user", true, "username (defaults to your OS user)"); usernameOption.setArgName("user"); opts.addOption(usernameOption); - + Option passwOption = new Option("p", "password", true, "password (prompt for password if this option is missing)"); passwOption.setArgName("pass"); opts.addOption(passwOption); - + Option tabCompleteOption = new Option(null, "disable-tab-completion", false, "disables tab completion (for less overhead when scripting)"); opts.addOption(tabCompleteOption); - + Option debugOption = new Option(null, "debug", false, "enables client debugging"); opts.addOption(debugOption); - + Option fakeOption = new Option(null, "fake", false, "fake a connection to accumulo"); opts.addOption(fakeOption); - + Option helpOpt = new Option(helpOption, helpLongOption, false, "display this help"); opts.addOption(helpOpt); - + Option execCommandOpt = new Option("e", "execute-command", true, "executes a command, and then exits"); opts.addOption(execCommandOpt); - + OptionGroup execFileGroup = new OptionGroup(); - + Option execfileOption = new Option("f", "execute-file", true, "executes commands from a file at startup"); execfileOption.setArgName("file"); execFileGroup.addOption(execfileOption); - + Option execfileVerboseOption = new Option("fv", "execute-file-verbose", true, "executes commands from a file at startup, with commands shown"); execfileVerboseOption.setArgName("file"); execFileGroup.addOption(execfileVerboseOption); - + opts.addOptionGroup(execFileGroup); - + OptionGroup instanceOptions = new OptionGroup(); - + Option hdfsZooInstance = new Option("h", "hdfsZooInstance", false, "use hdfs zoo instance"); instanceOptions.addOption(hdfsZooInstance); - + Option zooKeeperInstance = new Option("z", "zooKeeperInstance", true, "use a zookeeper instance with the given instance name and list of zoo hosts"); zooKeeperInstance.setArgName("name hosts"); zooKeeperInstance.setArgs(2); instanceOptions.addOption(zooKeeperInstance); - + opts.addOptionGroup(instanceOptions); - + OptionGroup authTimeoutOptions = new OptionGroup(); - + Option authTimeoutOpt = new Option(null, "auth-timeout", true, "minutes the shell can be idle without re-entering a password (default " + DEFAULT_AUTH_TIMEOUT + " min)"); authTimeoutOpt.setArgName("minutes"); authTimeoutOptions.addOption(authTimeoutOpt); - + Option disableAuthTimeoutOpt = new Option(null, "disable-auth-timeout", false, "disables requiring the user to re-type a password after being idle"); authTimeoutOptions.addOption(disableAuthTimeoutOpt); - + opts.addOptionGroup(authTimeoutOptions); - + CommandLine cl; try { cl = new BasicParser().parse(opts, args); if (cl.getArgs().length > 0) throw new ParseException("Unrecognized arguments: " + cl.getArgList()); - + if (cl.hasOption(helpOpt.getOpt())) { configError = true; printHelp("shell", SHELL_DESCRIPTION, opts); return; } - + setDebugging(cl.hasOption(debugOption.getLongOpt())); authTimeout = Integer.parseInt(cl.getOptionValue(authTimeoutOpt.getLongOpt(), DEFAULT_AUTH_TIMEOUT)) * 60 * 1000; disableAuthTimeout = cl.hasOption(disableAuthTimeoutOpt.getLongOpt()); - + if (cl.hasOption(zooKeeperInstance.getOpt()) && cl.getOptionValues(zooKeeperInstance.getOpt()).length != 2) throw new MissingArgumentException(zooKeeperInstance); - + } catch (Exception e) { configError = true; printException(e); printHelp("shell", SHELL_DESCRIPTION, opts); return; } - + // get the options that were parsed String sysUser = System.getProperty("user.name"); if (sysUser == null) sysUser = "root"; String user = cl.getOptionValue(usernameOption.getOpt(), sysUser); - + String passw = cl.getOptionValue(passwOption.getOpt(), null); tabCompletion = !cl.hasOption(tabCompleteOption.getLongOpt()); - + // should only be one instance option set instance = null; if (cl.hasOption(fakeOption.getLongOpt())) { @@ -302,14 +300,14 @@ public class Shell { } else { instance = getDefaultInstance(AccumuloConfiguration.getSiteConfiguration()); } - + // process default parameters if unspecified byte[] pass; try { if (!cl.hasOption(fakeOption.getLongOpt())) { DistributedTrace.enable(instance, new ZooReader(instance), "shell", InetAddress.getLocalHost().getHostName()); } - + this.reader = new ConsoleReader(); Runtime.getRuntime().addShutdownHook(new Thread() { @Override @@ -317,7 +315,7 @@ public class Shell { reader.getTerminal().enableEcho(); } }); - + if (passw == null) passw = reader.readLine("Enter current password for '" + user + "'@'" + instance.getInstanceName() + "': ", '*'); if (passw == null) { @@ -325,17 +323,17 @@ public class Shell { configError = true; return; } // user canceled - + pass = passw.getBytes(); this.setTableName(""); connector = instance.getConnector(user, pass); this.credentials = new AuthInfo(user, ByteBuffer.wrap(pass), connector.getInstance().getInstanceID()); - + } catch (Exception e) { printException(e); configError = true; } - + // decide whether to execute commands from a file and quit if (cl.hasOption(execfileOption.getOpt())) { execFile = cl.getOptionValue(execfileOption.getOpt()); @@ -347,7 +345,7 @@ public class Shell { execCommand = cl.getOptionValue(execCommandOpt.getOpt()); verbose = false; } - + rootToken = new Token(); Command external[] = {new AboutCommand(), new AddSplitsCommand(), new AuthenticateCommand(), new ByeCommand(), new ClasspathCommand(), new ClearCommand(), new CloneTableCommand(), new ClsCommand(), new CompactCommand(), new ConfigCommand(), new CreateTableCommand(), new CreateUserCommand(), @@ -357,43 +355,44 @@ public class Shell { new GetSplitsCommand(), new GrantCommand(), new GrepCommand(), new HelpCommand(), new HiddenCommand(), new HistoryCommand(), new ImportDirectoryCommand(), new InfoCommand(), new InsertCommand(), new ListIterCommand(), new ListScansCommand(), new MasterStateCommand(), new MaxRowCommand(), new MergeCommand(), new NoTableCommand(), new OfflineCommand(), new OnlineCommand(), new PasswdCommand(), new QuestionCommand(), - new QuitCommand(), new RenameTableCommand(), new RevokeCommand(), new ScanCommand(), new SelectCommand(), new SelectrowCommand(), - new SetAuthsCommand(), new SetGroupsCommand(), new SetIterCommand(), new SetScanIterCommand(), new SleepCommand(), new SystemPermissionsCommand(), - new TableCommand(), new TablePermissionsCommand(), new TablesCommand(), new TraceCommand(), new UserCommand(), new UserPermissionsCommand(), - new UsersCommand(), new WhoAmICommand(),}; + new QuitCommand(), new RenameTableCommand(), new RevokeCommand(), new ScanCommand(), new org.apache.accumulo.core.util.shell.commands.SelectCommand(), + new org.apache.accumulo.core.util.shell.commands.SelectrowCommand(), new SetAuthsCommand(), new SetGroupsCommand(), new SetIterCommand(), + new SetScanIterCommand(), new SleepCommand(), new SystemPermissionsCommand(), new TableCommand(), new TablePermissionsCommand(), new TablesCommand(), + new TraceCommand(), new UserCommand(), new UserPermissionsCommand(), new UsersCommand(), new WhoAmICommand(),}; for (Command cmd : external) { commandFactory.put(cmd.getName(), cmd); } } - + /** * @deprecated Not for client use */ + @Deprecated private static Instance getDefaultInstance(AccumuloConfiguration conf) { String keepers = conf.get(Property.INSTANCE_ZK_HOST); Path instanceDir = new Path(conf.get(Property.INSTANCE_DFS_DIR), "instance_id"); return new ZooKeeperInstance(UUID.fromString(ZooKeeperInstance.getInstanceIDFromHdfs(instanceDir)), keepers); } - + public Connector getConnector() { return connector; } - + public static void main(String args[]) throws IOException { Shell shell = new Shell(); shell.config(args); - + System.exit(shell.start()); } - + public int start() throws IOException { if (configError) return 1; - + String input; if (isVerbose()) printInfo(); - + String configDir = System.getenv("HOME") + "/.accumulo"; String historyPath = configDir + "/shell_history.txt"; File accumuloDir = new File(configDir); @@ -406,9 +405,9 @@ public class Shell { } catch (IOException e) { log.warn("Unable to load history file at " + historyPath); } - + ShellCompletor userCompletor = null; - + if (execFile != null) { java.util.Scanner scanner = new java.util.Scanner(new File(execFile)); while (scanner.hasNextLine()) @@ -419,37 +418,37 @@ public class Shell { } return exitCode; } - + while (true) { if (exit) return exitCode; - + // If tab completion is true we need to reset if (tabCompletion) { if (userCompletor != null) reader.removeCompletor(userCompletor); - + userCompletor = setupCompletion(); reader.addCompletor(userCompletor); } - + reader.setDefaultPrompt(getDefaultPrompt()); input = reader.readLine(); if (input == null) { reader.printNewline(); return exitCode; } // user canceled - + execCommand(input, disableAuthTimeout, false); } } - + public void printInfo() throws IOException { reader.printString("\n" + SHELL_DESCRIPTION + "\n" + "- \n" + "- version: " + Constants.VERSION + "\n" + "- instance name: " + connector.getInstance().getInstanceName() + "\n" + "- instance id: " + connector.getInstance().getInstanceID() + "\n" + "- \n" + "- type 'help' for a list of available commands\n" + "- \n"); } - + public void printVerboseInfo() throws IOException { StringBuilder sb = new StringBuilder("-\n"); sb.append("- Current user: ").append(connector.whoami()).append("\n"); @@ -476,11 +475,11 @@ public class Shell { sb.append("-\n"); reader.printString(sb.toString()); } - + private String getDefaultPrompt() { return connector.whoami() + "@" + connector.getInstance().getInstanceName() + (getTableName().isEmpty() ? "" : " ") + getTableName() + "> "; } - + public void execCommand(String input, boolean ignoreAuthTimeout, boolean echoPrompt) throws IOException { audit.log(AuditLevel.AUDIT, getDefaultPrompt() + input); if (echoPrompt) { @@ -488,7 +487,7 @@ public class Shell { reader.printString(input); reader.printNewline(); } - + String fields[]; try { fields = new QuotedStringTokenizer(input).getTokens(); @@ -499,10 +498,10 @@ public class Shell { } if (fields.length == 0) return; - + String command = fields[0]; fields = fields.length > 1 ? Arrays.copyOfRange(fields, 1, fields.length) : new String[] {}; - + Command sc = null; if (command.length() > 0) { try { @@ -512,7 +511,7 @@ public class Shell { reader.printString(String.format("Unknown command \"%s\". Enter \"help\" for a list possible commands.\n", command)); return; } - + if (!(sc instanceof ExitCommand) && !ignoreAuthTimeout && System.currentTimeMillis() - lastUserActivity > authTimeout) { reader.printString("Shell has been idle for too long. Please re-authenticate.\n"); boolean authFailed = true; @@ -522,26 +521,26 @@ public class Shell { reader.printNewline(); return; } // user canceled - + try { authFailed = !connector.securityOperations().authenticateUser(connector.whoami(), pwd.getBytes()); } catch (Exception e) { ++exitCode; printException(e); } - + if (authFailed) reader.printString("Invalid password. "); } while (authFailed); lastUserActivity = System.currentTimeMillis(); } - + // Get the options from the command on how to parse the string Options parseOpts = sc.getOptionsWithHelp(); - + // Parse the string using the given options CommandLine cl = new BasicParser().parse(parseOpts, fields); - + int actualArgLen = cl.getArgs().length; int expectedArgLen = sc.numArgs(); if (cl.hasOption(helpOption)) { @@ -560,7 +559,7 @@ public class Shell { exitCode += tmpCode; reader.flushConsole(); } - + } catch (ConstraintViolationException e) { ++exitCode; printConstraintViolationException(e); @@ -587,14 +586,14 @@ public class Shell { printException(new BadArgumentException("Unrecognized empty command", command, -1)); } } - + /** * The command tree is built in reverse so that the references are more easily linked up. There is some code in token to allow forward building of the command * tree. */ private ShellCompletor setupCompletion() { rootToken = new Token(); - + Set tableNames = null; try { tableNames = connector.tableOperations().list(); @@ -602,7 +601,7 @@ public class Shell { log.debug("Unable to obtain list of tables", e); tableNames = Collections.emptySet(); } - + Set userlist = null; try { userlist = connector.securityOperations().listUsers(); @@ -610,25 +609,25 @@ public class Shell { log.debug("Unable to obtain list of users", e); userlist = Collections.emptySet(); } - + Map> options = new HashMap>(); - + Set commands = new HashSet(); for (String a : commandFactory.keySet()) commands.add(a); - + Set modifiedUserlist = new HashSet(); Set modifiedTablenames = new HashSet(); - + for (String a : tableNames) modifiedTablenames.add(a.replaceAll("([\\s'\"])", "\\\\$1")); for (String a : userlist) modifiedUserlist.add(a.replaceAll("([\\s'\"])", "\\\\$1")); - + options.put(Command.CompletionSet.USERNAMES, modifiedUserlist); options.put(Command.CompletionSet.TABLENAMES, modifiedTablenames); options.put(Command.CompletionSet.COMMANDS, commands); - + for (Command c : commandFactory.values()) { c.getOptionsWithHelp(); // prep the options for the command // so that the completion can @@ -637,7 +636,7 @@ public class Shell { } return new ShellCompletor(rootToken, options); } - + /** * The Command class represents a command to be run in the shell. It contains the methods to execute along with some methods to help tab completion, and * return the command name, help, and usage. @@ -647,50 +646,50 @@ public class Shell { public enum CompletionSet { TABLENAMES, USERNAMES, COMMANDS } - + static Set getCommandNames(Map> objects) { return objects.get(CompletionSet.COMMANDS); } - + static Set getTableNames(Map> objects) { return objects.get(CompletionSet.TABLENAMES); } - + static Set getUserNames(Map> objects) { return objects.get(CompletionSet.USERNAMES); } - + public void registerCompletionGeneral(Token root, Set args, boolean caseSens) { Token t = new Token(args); t.setCaseSensitive(caseSens); - + Token command = new Token(getName()); command.addSubcommand(t); - + root.addSubcommand(command); } - + public void registerCompletionForTables(Token root, Map> completionSet) { registerCompletionGeneral(root, completionSet.get(CompletionSet.TABLENAMES), true); } - + public void registerCompletionForUsers(Token root, Map> completionSet) { registerCompletionGeneral(root, completionSet.get(CompletionSet.USERNAMES), true); } - + public void registerCompletionForCommands(Token root, Map> completionSet) { registerCompletionGeneral(root, completionSet.get(CompletionSet.COMMANDS), false); } - + // abstract methods to override public abstract int execute(String fullCommand, CommandLine cl, Shell shellState) throws Exception; - + public abstract String description(); - + public abstract int numArgs(); - + // OPTIONAL methods to override: - + // the general version of getname uses reflection to get the class name // and then cuts off the suffix -Command to get the name of the command public String getName() { @@ -699,58 +698,59 @@ public class Shell { int i = s.indexOf("Command"); return i > 0 ? s.substring(st + 1, i).toLowerCase(Locale.ENGLISH) : null; } - + // The general version of this method adds the name // of the command to the completion tree public void registerCompletion(Token root, Map> completion_set) { root.addSubcommand(new Token(getName())); } - + // The general version of this method uses the HelpFormatter // that comes with the apache Options package to print out the help public final void printHelp() { Shell.printHelp(usage(), "description: " + this.description(), getOptionsWithHelp()); } - + public final void printHelp(int width) { Shell.printHelp(usage(), "description: " + this.description(), getOptionsWithHelp(), width); } - + // Get options with help public final Options getOptionsWithHelp() { Options opts = getOptions(); opts.addOption(new Option(helpOption, helpLongOption, false, "display this help")); return opts; } - + // General usage is just the command public String usage() { return getName(); } - + // General Options are empty public Options getOptions() { return new Options(); } } - + public static abstract class TableOperation extends Command { - + private Option optTablePattern, optTableName; - + + @Override public int execute(String fullCommand, CommandLine cl, Shell shellState) throws Exception { - + String originalTable = ""; - + if (shellState.getTableName() != "") { originalTable = shellState.getTableName(); } - + if (cl.hasOption(optTableName.getOpt())) { String tableName = cl.getOptionValue(optTableName.getOpt()); shellState.setTableName(tableName); } - + try { // populate the tablesToFlush set with the tables you want to flush SortedSet tablesToFlush = new TreeSet(); @@ -761,15 +761,15 @@ public class Shell { } else if (cl.hasOption(optTableName.getOpt())) { tablesToFlush.add(cl.getOptionValue(optTableName.getOpt())); } - + else { shellState.checkTableState(); tablesToFlush.add(shellState.getTableName()); } - + if (tablesToFlush.isEmpty()) log.warn("No tables found that match your criteria"); - + // flush the tables for (String tableName : tablesToFlush) { if (!shellState.getConnector().tableOperations().exists(tableName)) @@ -777,60 +777,61 @@ public class Shell { doTableOp(shellState, tableName); } } - + finally { shellState.setTableName(originalTable); } - + return 0; } - + protected abstract void doTableOp(Shell shellState, String tableName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException; - + @Override public String description() { return "makes a best effort to flush tables from memory to disk"; } - + @Override public Options getOptions() { Options o = new Options(); - + optTablePattern = new Option("p", "pattern", true, "regex pattern of table names to flush"); optTablePattern.setArgName("pattern"); - + optTableName = new Option(tableOption, "table", true, "name of a table to flush"); optTableName.setArgName("tableName"); - + OptionGroup opg = new OptionGroup(); - + opg.addOption(optTablePattern); opg.addOption(optTableName); - + o.addOptionGroup(opg); - + return o; } - + @Override public int numArgs() { return 0; } } - + public interface PrintLine { public void print(String s); - + public void close(); } - + public static class PrintShell implements PrintLine { ConsoleReader reader; - + public PrintShell(ConsoleReader reader) { this.reader = reader; } - + + @Override public void print(String s) { try { reader.printString(s + "\n"); @@ -838,33 +839,36 @@ public class Shell { throw new RuntimeException(ex); } } - + + @Override public void close() {} }; - + public static class PrintFile implements PrintLine { PrintWriter writer; - + public PrintFile(String filename) throws FileNotFoundException { writer = new PrintWriter(filename); } - + + @Override public void print(String s) { writer.println(s); } - + + @Override public void close() { writer.close(); } }; - + public final void printLines(Iterator lines, boolean paginate) throws IOException { int linesPrinted = 0; String prompt = "-- hit any key to continue or 'q' to quit --"; int lastPromptLength = prompt.length(); int termWidth = reader.getTermwidth(); int maxLines = reader.getTermheight(); - + String peek = null; while (lines.hasNext()) { String nextLine = lines.next(); @@ -876,7 +880,7 @@ public class Shell { reader.printNewline(); if (paginate) { linesPrinted += peek.length() == 0 ? 0 : Math.ceil(peek.length() * 1.0 / termWidth); - + // check if displaying the next line would result in // scrolling off the screen if (linesPrinted + Math.ceil(lastPromptLength * 1.0 / termWidth) + Math.ceil(prompt.length() * 1.0 / termWidth) @@ -905,35 +909,35 @@ public class Shell { reader.printNewline(); } } - + public final void printRecords(Iterable> scanner, boolean printTimestamps, boolean paginate) throws IOException { Class formatterClass = getFormatter(); - + printRecords(scanner, printTimestamps, paginate, formatterClass); } - + public final void printRecords(Iterable> scanner, boolean printTimestamps, boolean paginate, Class formatterClass) throws IOException { printLines(FormatterFactory.getFormatter(formatterClass, scanner, printTimestamps), paginate); } - + public final void printBinaryRecords(Iterable> scanner, boolean printTimestamps, boolean paginate) throws IOException { printLines(FormatterFactory.getFormatter(binaryFormatterClass, scanner, printTimestamps), paginate); } - + public static String repeat(String s, int c) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < c; i++) sb.append(s); return sb.toString(); } - + public void checkTableState() { if (getTableName().isEmpty()) throw new IllegalStateException( "Not in a table context. Please use 'table ' to switch to a table, or use '-t' to specify a table if option is available."); } - + private final void printConstraintViolationException(ConstraintViolationException cve) { printException(cve, ""); int COL1 = 50, COL2 = 14; @@ -945,63 +949,63 @@ public class Shell { log.error(String.format("%-" + COL1 + "s | %" + COL2 + "d | %-" + col3 + "s\n", cvs.constrainClass, cvs.violationCode, cvs.violationDescription)); log.error(String.format("%" + COL1 + "s-+-%" + COL2 + "s-+-%" + col3 + "s\n", repeat("-", COL1), repeat("-", COL2), repeat("-", col3))); } - + public static final void printException(Exception e) { printException(e, e.getMessage()); } - + private static final void printException(Exception e, String msg) { log.error(e.getClass().getName() + (msg != null ? ": " + msg : "")); log.debug(e.getClass().getName() + (msg != null ? ": " + msg : ""), e); } - + public static final void setDebugging(boolean debuggingEnabled) { Logger.getLogger(Constants.CORE_PACKAGE_NAME).setLevel(debuggingEnabled ? Level.TRACE : Level.INFO); } - + public static final boolean isDebuggingEnabled() { return Logger.getLogger(Constants.CORE_PACKAGE_NAME).isTraceEnabled(); } - + private static final void printHelp(String usage, String description, Options opts) { printHelp(usage, description, opts, Integer.MAX_VALUE); } - + private static final void printHelp(String usage, String description, Options opts, int width) { PrintWriter pw = new PrintWriter(System.err); new HelpFormatter().printHelp(pw, width, usage, description, opts, 2, 5, null, true); pw.flush(); } - + public void setExit(boolean exit) { this.exit = exit; } - + public boolean isVerbose() { return verbose; } - + public void setTableName(String tableName) { this.tableName = tableName; } - + public String getTableName() { return tableName; } - + public ConsoleReader getReader() { return reader; } - + public void updateUser(AuthInfo authInfo) throws AccumuloException, AccumuloSecurityException { connector = instance.getConnector(authInfo); credentials = authInfo; } - + public AuthInfo getCredentials() { return credentials; } - + /** * Return the formatter for the current table. * @@ -1010,7 +1014,7 @@ public class Shell { public Class getFormatter() { return getFormatter(this.tableName); } - + /** * Return the formatter for the given table. * @@ -1020,7 +1024,7 @@ public class Shell { */ public Class getFormatter(String tableName) { Class formatter = FormatterCommand.getCurrentFormatter(tableName, this); - + if (null == formatter) { log.error("Could not load the specified formatter. Using the DefaultFormatter"); return this.defaultFormatterClass; http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SelectCommand.java ---------------------------------------------------------------------- diff --git a/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SelectCommand.java b/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SelectCommand.java index 5b18bca..7cf434b 100644 --- a/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SelectCommand.java +++ b/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SelectCommand.java @@ -37,6 +37,7 @@ import org.apache.hadoop.io.Text; /** * @deprecated since 1.4, use {@code scan -r -c [:]} instead. */ +@Deprecated public class SelectCommand extends Command { private Option selectOptAuths, timestampOpt, disablePaginationOpt, tableOpt; http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SelectrowCommand.java ---------------------------------------------------------------------- diff --git a/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SelectrowCommand.java b/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SelectrowCommand.java index 981596c..4037b3d 100644 --- a/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SelectrowCommand.java +++ b/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SelectrowCommand.java @@ -35,6 +35,7 @@ import org.apache.hadoop.io.Text; /** * @deprecated since 1.4, use {@code scan -r } instead. */ +@Deprecated public class SelectrowCommand extends Command { private Option selectrowOptAuths, timestampOpt, disablePaginationOpt, tableOpt; http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/client/admin/TableOperationsHelperTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/client/admin/TableOperationsHelperTest.java b/src/core/src/test/java/org/apache/accumulo/core/client/admin/TableOperationsHelperTest.java index 805904a..b9a69e8 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/client/admin/TableOperationsHelperTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/client/admin/TableOperationsHelperTest.java @@ -191,6 +191,7 @@ public class TableOperationsHelperTest { /** * @deprecated since 1.4 {@link #attachIterator(String, IteratorSetting)} */ + @Deprecated @Override public void addAggregators(String tableName, List aggregators) throws AccumuloSecurityException, TableNotFoundException, AccumuloException {} http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java b/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java index f2e2f2c..c58bac8 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java @@ -31,15 +31,14 @@ import org.apache.accumulo.core.client.Instance; import org.apache.accumulo.core.client.IteratorSetting; import org.apache.accumulo.core.client.mapreduce.InputFormatBase.AccumuloIterator; import org.apache.accumulo.core.client.mapreduce.InputFormatBase.AccumuloIteratorOption; -import org.apache.accumulo.core.client.mapreduce.InputFormatBase.RegexType; import org.apache.accumulo.core.client.mock.MockInstance; 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.user.WholeRowIterator; import org.apache.accumulo.core.security.Authorizations; -import org.apache.accumulo.core.util.Pair; import org.apache.accumulo.core.util.ContextFactory; +import org.apache.accumulo.core.util.Pair; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.InputSplit; @@ -100,7 +99,7 @@ public class AccumuloInputFormatTest { @Test public void testSetIterator() { JobContext job = ContextFactory.createJobContext(); - + AccumuloInputFormat.setIterator(job, 1, "org.apache.accumulo.core.iterators.WholeRowIterator", "WholeRow"); Configuration conf = job.getConfiguration(); String iterators = conf.get("AccumuloInputFormat.iterators"); @@ -110,7 +109,7 @@ public class AccumuloInputFormatTest { @Test public void testAddIterator() { JobContext job = ContextFactory.createJobContext(); - + AccumuloInputFormat.addIterator(job.getConfiguration(), new IteratorSetting(1, "WholeRow", WholeRowIterator.class)); AccumuloInputFormat.addIterator(job.getConfiguration(), new IteratorSetting(2, "Versions", "org.apache.accumulo.core.iterators.VersioningIterator")); IteratorSetting iter = new IteratorSetting(3, "Count", "org.apache.accumulo.core.iterators.CountingIterator"); @@ -192,7 +191,7 @@ public class AccumuloInputFormatTest { @Test public void testGetIteratorSettings() { JobContext job = ContextFactory.createJobContext(); - + AccumuloInputFormat.setIterator(job, 1, "org.apache.accumulo.core.iterators.WholeRowIterator", "WholeRow"); AccumuloInputFormat.setIterator(job, 2, "org.apache.accumulo.core.iterators.VersioningIterator", "Versions"); AccumuloInputFormat.setIterator(job, 3, "org.apache.accumulo.core.iterators.CountingIterator", "Count"); @@ -241,7 +240,7 @@ public class AccumuloInputFormatTest { @Test public void testGetIteratorOption() { JobContext job = ContextFactory.createJobContext(); - + AccumuloInputFormat.setIteratorOption(job, "iterator1", "key1", "value1"); AccumuloInputFormat.setIteratorOption(job, "iterator2", "key2", "value2"); AccumuloInputFormat.setIteratorOption(job, "iterator3", "key3", "value3"); @@ -272,12 +271,12 @@ public class AccumuloInputFormatTest { @Test public void testSetRegex() { JobContext job = ContextFactory.createJobContext(); - + String regex = ">\"*%<>\'\\"; - AccumuloInputFormat.setRegex(job, RegexType.ROW, regex); + AccumuloInputFormat.setRegex(job, org.apache.accumulo.core.client.mapreduce.InputFormatBase.RegexType.ROW, regex); - assertTrue(regex.equals(AccumuloInputFormat.getRegex(job, RegexType.ROW))); + assertTrue(regex.equals(AccumuloInputFormat.getRegex(job, org.apache.accumulo.core.client.mapreduce.InputFormatBase.RegexType.ROW))); } static class TestMapper extends Mapper { @@ -327,7 +326,7 @@ public class AccumuloInputFormatTest { Assert.assertEquals("testtable", risplit.getTable()); Assert.assertEquals(new Authorizations(), risplit.getAuths()); Assert.assertEquals("testmapinstance", risplit.getInstanceName()); - + TaskAttemptContext tac = ContextFactory.createTaskAttemptContext(job); RecordReader reader = input.createRecordReader(split, tac); Mapper.Context context = ContextFactory.createMapContext(mapper, tac, reader, null, split); @@ -348,7 +347,7 @@ public class AccumuloInputFormatTest { bw.addMutation(m); } bw.close(); - + JobContext job = ContextFactory.createJobContext(); AccumuloInputFormat.setInputInfo(job.getConfiguration(), "root", "".getBytes(), "testtable2", new Authorizations()); AccumuloInputFormat.setMockInstance(job.getConfiguration(), "testmapinstance"); @@ -362,7 +361,7 @@ public class AccumuloInputFormatTest { Mapper.Context context = ContextFactory.createMapContext(mapper, tac, rr, null, ris); rr.initialize(ris, tac); while (rr.nextKeyValue()) { - mapper.map(rr.getCurrentKey(), rr.getCurrentValue(), (TestMapper.Context) context); + mapper.map(rr.getCurrentKey(), rr.getCurrentValue(), context); } } @@ -379,12 +378,12 @@ public class AccumuloInputFormatTest { bw.addMutation(m); } bw.close(); - + JobContext job = ContextFactory.createJobContext(); AccumuloInputFormat.setInputInfo(job.getConfiguration(), "root", "".getBytes(), "testtable3", new Authorizations()); AccumuloInputFormat.setMockInstance(job.getConfiguration(), "testmapinstance"); final String regex = ".*1.*"; - AccumuloInputFormat.setRegex(job, RegexType.ROW, regex); + AccumuloInputFormat.setRegex(job, org.apache.accumulo.core.client.mapreduce.InputFormatBase.RegexType.ROW, regex); AccumuloInputFormat input = new AccumuloInputFormat(); RangeInputSplit ris = new RangeInputSplit(); TaskAttemptContext tac = ContextFactory.createTaskAttemptContext(job); @@ -417,28 +416,28 @@ public class AccumuloInputFormatTest { AccumuloInputFormat.setInputInfo(job, username, password, table, auths); AccumuloInputFormat.setMockInstance(job, instance); - AccumuloInputFormat.setRegex(job, RegexType.ROW, rowRegex); - AccumuloInputFormat.setRegex(job, RegexType.COLUMN_FAMILY, colfRegex); - AccumuloInputFormat.setRegex(job, RegexType.COLUMN_QUALIFIER, colqRegex); - AccumuloInputFormat.setRegex(job, RegexType.VALUE, valRegex); + AccumuloInputFormat.setRegex(job, org.apache.accumulo.core.client.mapreduce.InputFormatBase.RegexType.ROW, rowRegex); + AccumuloInputFormat.setRegex(job, org.apache.accumulo.core.client.mapreduce.InputFormatBase.RegexType.COLUMN_FAMILY, colfRegex); + AccumuloInputFormat.setRegex(job, org.apache.accumulo.core.client.mapreduce.InputFormatBase.RegexType.COLUMN_QUALIFIER, colqRegex); + AccumuloInputFormat.setRegex(job, org.apache.accumulo.core.client.mapreduce.InputFormatBase.RegexType.VALUE, valRegex); AccumuloInputFormat.setIsolated(job, isolated); AccumuloInputFormat.setLocalIterators(job, localIters); AccumuloInputFormat.setMaxVersions(job, maxVersions); AccumuloInputFormat.fetchColumns(job, fetchColumns); AccumuloInputFormat.setLogLevel(job, level); - + AccumuloInputFormat aif = new AccumuloInputFormat(); - + List splits = aif.getSplits(job); - + Assert.assertEquals(1, splits.size()); - + InputSplit split = splits.get(0); - + Assert.assertEquals(RangeInputSplit.class, split.getClass()); - + RangeInputSplit risplit = (RangeInputSplit) split; - + Assert.assertEquals(username, risplit.getUsername()); Assert.assertEquals(table, risplit.getTable()); Assert.assertArrayEquals(password, risplit.getPassword()); @@ -480,9 +479,9 @@ public class AccumuloInputFormatTest { assertEquals(splits.size(), 1); TestMapper mapper = (TestMapper) job.getMapperClass().newInstance(); - + RangeInputSplit emptySplit = new RangeInputSplit(); - + // Using an empty split should fall back to the information in the Job's Configuration TaskAttemptContext tac = ContextFactory.createTaskAttemptContext(job); RecordReader reader = input.createRecordReader(emptySplit, tac); @@ -516,11 +515,11 @@ public class AccumuloInputFormatTest { assertEquals(splits.size(), 1); TestMapper mapper = (TestMapper) job.getMapperClass().newInstance(); - + RangeInputSplit emptySplit = new RangeInputSplit(); emptySplit.setUsername("root"); emptySplit.setPassword("anythingelse".getBytes()); - + // Using an empty split should fall back to the information in the Job's Configuration TaskAttemptContext tac = ContextFactory.createTaskAttemptContext(job); RecordReader reader = input.createRecordReader(emptySplit, tac); http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java b/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java index 94e8bf0..2e6ba76 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java @@ -50,7 +50,7 @@ public class AccumuloOutputFormatTest { static class TestMapper extends Mapper { Key key = null; int count = 0; - + @Override protected void map(Key k, Value v, Context context) throws IOException, InterruptedException { if (key != null) @@ -60,7 +60,7 @@ public class AccumuloOutputFormatTest { key = new Key(k); count++; } - + @Override protected void cleanup(Context context) throws IOException, InterruptedException { super.cleanup(context); @@ -71,7 +71,7 @@ public class AccumuloOutputFormatTest { } catch (NullPointerException e) {} } } - + @Test public void testMR() throws Exception { MockInstance mockInstance = new MockInstance("testmrinstance"); @@ -85,7 +85,7 @@ public class AccumuloOutputFormatTest { bw.addMutation(m); } bw.close(); - + Job job = new Job(); job.setInputFormatClass(AccumuloInputFormat.class); job.setMapperClass(TestMapper.class); @@ -95,15 +95,15 @@ public class AccumuloOutputFormatTest { job.setNumReduceTasks(0); AccumuloInputFormat.setInputInfo(job.getConfiguration(), "root", "".getBytes(), "testtable1", new Authorizations()); AccumuloInputFormat.setMockInstance(job.getConfiguration(), "testmrinstance"); - AccumuloOutputFormat.setOutputInfo(job, "root", "".getBytes(), false, "testtable2"); - AccumuloOutputFormat.setMockInstance(job, "testmrinstance"); - + AccumuloOutputFormat.setOutputInfo(job.getConfiguration(), "root", "".getBytes(), false, "testtable2"); + AccumuloOutputFormat.setMockInstance(job.getConfiguration(), "testmrinstance"); + AccumuloInputFormat input = new AccumuloInputFormat(); List splits = input.getSplits(job); assertEquals(splits.size(), 1); - + AccumuloOutputFormat output = new AccumuloOutputFormat(); - + TestMapper mapper = (TestMapper) job.getMapperClass().newInstance(); for (InputSplit split : splits) { TaskAttemptContext tac = ContextFactory.createTaskAttemptContext(job); @@ -114,7 +114,7 @@ public class AccumuloOutputFormatTest { mapper.run(context); writer.close(context); } - + Scanner scanner = c.createScanner("testtable2", new Authorizations()); Iterator> iter = scanner.iterator(); assertTrue(iter.hasNext()); http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/data/MapFileTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/data/MapFileTest.java b/src/core/src/test/java/org/apache/accumulo/core/data/MapFileTest.java index 258fc38..9e60f27 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/data/MapFileTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/data/MapFileTest.java @@ -41,6 +41,7 @@ import org.apache.log4j.Logger; /** * @deprecated since 1.4 */ +@Deprecated public class MapFileTest extends TestCase { private static final Logger log = Logger.getLogger(MapFileTest.class); http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/iterators/AggregatingIteratorTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/iterators/AggregatingIteratorTest.java b/src/core/src/test/java/org/apache/accumulo/core/iterators/AggregatingIteratorTest.java index 80a099c..137a462 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/iterators/AggregatingIteratorTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/iterators/AggregatingIteratorTest.java @@ -38,6 +38,7 @@ import org.apache.hadoop.io.Text; /** * @deprecated since 1.4 */ +@Deprecated public class AggregatingIteratorTest extends TestCase { private static final Collection EMPTY_COL_FAMS = new ArrayList(); http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/iterators/FilteringIteratorTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/iterators/FilteringIteratorTest.java b/src/core/src/test/java/org/apache/accumulo/core/iterators/FilteringIteratorTest.java index e2a2994..370244c 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/iterators/FilteringIteratorTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/iterators/FilteringIteratorTest.java @@ -43,6 +43,7 @@ import org.apache.hadoop.io.Text; /** * @deprecated since 1.4 */ +@Deprecated public class FilteringIteratorTest extends TestCase { private static final Collection EMPTY_COL_FAMS = new ArrayList(); http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/iterators/RegExIteratorTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/iterators/RegExIteratorTest.java b/src/core/src/test/java/org/apache/accumulo/core/iterators/RegExIteratorTest.java index bb8e3bb..5c7969e 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/iterators/RegExIteratorTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/iterators/RegExIteratorTest.java @@ -34,6 +34,7 @@ import org.apache.hadoop.io.Text; /** * @deprecated since 1.4 */ +@Deprecated public class RegExIteratorTest extends TestCase { private static final Collection EMPTY_COL_FAMS = new ArrayList(); http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/iterators/aggregation/NumSummationTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/iterators/aggregation/NumSummationTest.java b/src/core/src/test/java/org/apache/accumulo/core/iterators/aggregation/NumSummationTest.java index 7e1a333..61e18b8 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/iterators/aggregation/NumSummationTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/iterators/aggregation/NumSummationTest.java @@ -23,6 +23,7 @@ import org.apache.accumulo.core.data.Value; /** * @deprecated since 1.4 */ +@Deprecated public class NumSummationTest extends TestCase { public byte[] init(int n) { byte[] b = new byte[n]; http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/iterators/aggregation/conf/AggregatorConfigurationTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/iterators/aggregation/conf/AggregatorConfigurationTest.java b/src/core/src/test/java/org/apache/accumulo/core/iterators/aggregation/conf/AggregatorConfigurationTest.java index f92cc73..b17ff28 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/iterators/aggregation/conf/AggregatorConfigurationTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/iterators/aggregation/conf/AggregatorConfigurationTest.java @@ -24,6 +24,7 @@ import org.apache.hadoop.io.Text; /** * @deprecated since 1.4 */ +@Deprecated public class AggregatorConfigurationTest extends TestCase { public void testBinary() { Text colf = new Text(); http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/iterators/filter/ColumnFilterTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/iterators/filter/ColumnFilterTest.java b/src/core/src/test/java/org/apache/accumulo/core/iterators/filter/ColumnFilterTest.java index 4568667..2f3d7fa 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/iterators/filter/ColumnFilterTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/iterators/filter/ColumnFilterTest.java @@ -28,6 +28,7 @@ import org.apache.hadoop.io.Text; /** * @deprecated since 1.4 */ +@Deprecated public class ColumnFilterTest extends TestCase { Key nk(String row, String cf, String cq) { http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/test/java/org/apache/accumulo/core/iterators/user/CombinerTest.java ---------------------------------------------------------------------- diff --git a/src/core/src/test/java/org/apache/accumulo/core/iterators/user/CombinerTest.java b/src/core/src/test/java/org/apache/accumulo/core/iterators/user/CombinerTest.java index 18054ca..3c18be9 100644 --- a/src/core/src/test/java/org/apache/accumulo/core/iterators/user/CombinerTest.java +++ b/src/core/src/test/java/org/apache/accumulo/core/iterators/user/CombinerTest.java @@ -796,6 +796,7 @@ public class CombinerTest { * @throws IOException * @deprecated since 1.4 */ + @Deprecated public void testCombinerCompatibility() throws IOException { long[] la = {1l, 2l, 3l}; List ll = new ArrayList(Arrays.asList((Long) 1l, (Long) 2l, (Long) 3l)); @@ -811,6 +812,7 @@ public class CombinerTest { * @throws IOException * @deprecated since 1.4 */ + @Deprecated public void testLongEncoding(long l) throws IOException { assertEquals((Long) l, SummingCombiner.FIXED_LEN_ENCODER.decode(LongSummation.longToBytes(l))); assertEquals(l, LongSummation.bytesToLong(SummingCombiner.FIXED_LEN_ENCODER.encode(l))); http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloConfig.java ---------------------------------------------------------------------- diff --git a/src/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloConfig.java b/src/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloConfig.java index 3480be9..1efd0d4 100644 --- a/src/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloConfig.java +++ b/src/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloConfig.java @@ -27,13 +27,13 @@ import java.util.Map; */ public class MiniAccumuloConfig { - + private File dir = null; private String rootPassword = null; private Map siteConfig = Collections.emptyMap(); private int numTservers = 2; private boolean runGC = false; - + /** * @param dir * An empty or nonexistant temp directoy that Accumulo and Zookeeper can store data in. Creating the directory is left to the user. Java 7, Guava, @@ -41,42 +41,42 @@ public class MiniAccumuloConfig { * @param rootPassword * The initial password for the Accumulo root user */ - + public MiniAccumuloConfig(File dir, String rootPassword) { this.dir = dir; this.rootPassword = rootPassword; } - + public File getDir() { return dir; } - + public String getRootPassword() { return rootPassword; } - + public int getNumTservers() { return numTservers; } - + /** * Calling this method is optional. If not set, it defaults to two. * * @param numTservers * the number of tablet servers that mini accumulo cluster should start */ - + public MiniAccumuloConfig setNumTservers(int numTservers) { if (numTservers < 1) throw new IllegalArgumentException("Must have at least one tablet server"); this.numTservers = numTservers; return this; } - + public Map getSiteConfig() { return siteConfig; } - + /** * Calling this method is optional. If not set, it defautls to an empty map. * @@ -87,17 +87,17 @@ public class MiniAccumuloConfig { this.siteConfig = siteConfig; return this; } - + /** * Whether or not the Accumulo garbage collector proces will run - * @return */ public boolean shouldRunGC() { return runGC; } - + /** * Sets if the Accumulo garbage collector process should run + * * @param shouldRunGC */ public void runGC(boolean shouldRunGC) { http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/proxy/pom.xml ---------------------------------------------------------------------- diff --git a/src/proxy/pom.xml b/src/proxy/pom.xml index e1daa29..eb88e6b 100644 --- a/src/proxy/pom.xml +++ b/src/proxy/pom.xml @@ -99,7 +99,6 @@ com.google.guava guava - 13.0.1 compile @@ -116,7 +115,6 @@ org.apache.accumulo accumulo-server - ${project.version} http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/server/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java ---------------------------------------------------------------------- diff --git a/src/server/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java b/src/server/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java index 935abe3..5ca3179 100644 --- a/src/server/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java +++ b/src/server/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java @@ -56,6 +56,7 @@ public class TableConfiguration extends AccumuloConfiguration { /** * @deprecated not for client use */ + @Deprecated private static ZooCache getTablePropCache() { Instance inst = HdfsZooInstance.getInstance(); if (tablePropCache == null) http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/server/src/main/java/org/apache/accumulo/server/logger/LogReader.java ---------------------------------------------------------------------- diff --git a/src/server/src/main/java/org/apache/accumulo/server/logger/LogReader.java b/src/server/src/main/java/org/apache/accumulo/server/logger/LogReader.java index d83c898..bf8c160 100644 --- a/src/server/src/main/java/org/apache/accumulo/server/logger/LogReader.java +++ b/src/server/src/main/java/org/apache/accumulo/server/logger/LogReader.java @@ -45,14 +45,13 @@ public class LogReader { public static void usage() { System.err.println("Usage : " + LogReader.class.getName() + " [-r ] [-m ] [-p ] "); } - + /** * Dump a Log File (Map or Sequence) to stdout. Will read from HDFS or local file system. * * @param args * - first argument is the file to print * @throws IOException - * @throws ParseException */ public static void main(String[] args) throws IOException { Configuration conf = CachedConfiguration.getInstance(); @@ -74,7 +73,7 @@ public class LogReader { usage(); return; } - + Matcher rowMatcher = null; KeyExtent ke = null; Text row = null; @@ -97,15 +96,15 @@ public class LogReader { Pattern pattern = Pattern.compile(cl.getOptionValue(rowPatternOpt.getOpt())); rowMatcher = pattern.matcher(""); } - + Set tabletIds = new HashSet(); for (String file : files) { - + Path path = new Path(file); LogFileKey key = new LogFileKey(); LogFileValue value = new LogFileValue(); - + if (fs.isFile(path)) { // read log entries from a simple hdfs file org.apache.hadoop.io.SequenceFile.Reader reader = new SequenceFile.Reader(fs, new Path(file), conf); @@ -134,9 +133,9 @@ public class LogReader { } } } - + public static void printLogEvent(LogFileKey key, LogFileValue value, Text row, Matcher rowMatcher, KeyExtent ke, Set tabletIds, int maxMutations) { - + if (ke != null) { if (key.event == LogEvents.DEFINE_TABLET) { if (key.tablet.equals(ke)) { @@ -157,7 +156,7 @@ public class LogReader { found = true; break; } - + if (rowMatcher != null) { rowMatcher.reset(new String(m.getRow())); if (rowMatcher.matches()) { @@ -166,17 +165,17 @@ public class LogReader { } } } - + if (!found) return; } else { return; } - + } - + System.out.println(key); System.out.println(LogFileValue.format(value, maxMutations)); } - + } http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/server/src/main/java/org/apache/accumulo/server/logger/LogWriter.java ---------------------------------------------------------------------- diff --git a/src/server/src/main/java/org/apache/accumulo/server/logger/LogWriter.java b/src/server/src/main/java/org/apache/accumulo/server/logger/LogWriter.java index 4ed9af9..a8bc87c 100644 --- a/src/server/src/main/java/org/apache/accumulo/server/logger/LogWriter.java +++ b/src/server/src/main/java/org/apache/accumulo/server/logger/LogWriter.java @@ -75,51 +75,50 @@ import org.apache.hadoop.io.WritableName; import org.apache.hadoop.io.compress.DefaultCodec; import org.apache.thrift.TException; - /** * Write log operations to open {@link org.apache.hadoop.io.SequenceFile}s referenced by log id's. */ class LogWriter implements MutationLogger.Iface { static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogWriter.class); - + static { WritableName.setName(LogFileKey.class, Constants.OLD_PACKAGE_NAME + ".server.logger.LogFileKey"); WritableName.setName(LogFileValue.class, Constants.OLD_PACKAGE_NAME + ".server.logger.LogFileValue"); } - + static class LogWriteException extends RuntimeException { /** * */ private static final long serialVersionUID = 1L; - + public LogWriteException(Throwable why) { super(why); } } - + /** * Generate log ids. */ private static final SecureRandom random = new SecureRandom(); - + private final FileSystem fs; private final ExecutorService copyThreadPool; private final static Mutation empty[] = new Mutation[0]; private boolean closed = false; - + private static class Logger { SequenceFile.Writer seq; FSDataOutputStream out; LogFileKey key = new LogFileKey(); LogFileValue value = new LogFileValue(); - + Logger(Configuration conf, String path) throws IOException { FileSystem local = TraceFileSystem.wrap(FileSystem.getLocal(conf).getRaw()); out = local.create(new Path(path)); seq = SequenceFile.createWriter(conf, out, LogFileKey.class, LogFileValue.class, CompressionType.NONE, null); } - + void logEntry() throws IOException { try { long t1 = System.currentTimeMillis(); @@ -137,44 +136,44 @@ class LogWriter implements MutationLogger.Iface { throw ioe; } } - + void close() throws IOException { seq.close(); out.close(); } } - + /** * The current loggers in use. */ private Map logs = new ConcurrentHashMap(); - + /** * Map from filename to open log id. */ private Map file2id = new ConcurrentHashMap(); - + /** * Local directory where logs are created. */ private final List roots; private int nextRoot = 0; - + private final String instanceId; - + private LogArchiver logArchiver; - + // Metrics MBean private static LogWriterMetrics metrics = new LogWriterMetrics(); - + private final AccumuloConfiguration acuConf; - + /** * * @param fs * The HDFS instance shared by master/tservers. - * @param logDirectory - * The local directory to write the recovery logs. + * @param logDirectories + * The local directories to write the recovery logs. * @param instanceId * The accumulo instance for which we are logging. */ @@ -189,7 +188,7 @@ class LogWriter implements MutationLogger.Iface { } catch (IOException e1) { throw new RuntimeException(e1); } - + // Register the metrics MBean try { metrics.register(); @@ -197,7 +196,7 @@ class LogWriter implements MutationLogger.Iface { log.error("Exception registering MBean with MBean Server", e); } } - + @Override synchronized public void close(TInfo info, long id) throws NoSuchLogIDException { long t1 = System.currentTimeMillis(); @@ -224,7 +223,7 @@ class LogWriter implements MutationLogger.Iface { } throw new RuntimeException("Unexpected failure to find a filename matching an id"); } - + private final String findLocalFilename(String localLog) throws FileNotFoundException { for (String root : roots) { String path = root + "/" + localLog; @@ -233,7 +232,7 @@ class LogWriter implements MutationLogger.Iface { } throw new FileNotFoundException("No file " + localLog + " found in " + roots); } - + @Override public LogCopyInfo startCopy(TInfo info, AuthInfo credentials, final String localLog, final String fullyQualifiedFileName, final boolean sort) { log.info("Copying " + localLog + " to " + fullyQualifiedFileName); @@ -254,7 +253,7 @@ class LogWriter implements MutationLogger.Iface { throw new RuntimeException(ex); } long result = file.length(); - + copyThreadPool.execute(new Runnable() { @Override public void run() { @@ -282,16 +281,16 @@ class LogWriter implements MutationLogger.Iface { if (metrics.isEnabled()) metrics.add(LogWriterMetrics.copy, (t2 - t1)); } - + private void copySortLog(String localLog, String fullyQualifiedFileName) throws IOException { final long SORT_BUFFER_SIZE = acuConf.getMemoryInBytes(Property.LOGGER_SORT_BUFFER_SIZE); - + FileSystem local = TraceFileSystem.wrap(FileSystem.getLocal(fs.getConf()).getRaw()); Path dest = new Path(fullyQualifiedFileName + ".recovered"); log.debug("Sorting log file to DSF " + dest); fs.mkdirs(dest); int part = 0; - + Reader reader = new SequenceFile.Reader(local, new Path(findLocalFilename(localLog)), fs.getConf()); try { final ArrayList> kv = new ArrayList>(); @@ -323,7 +322,7 @@ class LogWriter implements MutationLogger.Iface { reader.close(); } } - + private void writeSortedEntries(Path dest, int part, final List> kv) throws IOException { String path = dest + String.format("/part-r-%05d", part); log.debug("Writing partial log file to DSF " + path); @@ -351,7 +350,7 @@ class LogWriter implements MutationLogger.Iface { span.stop(); } } - + private void copyLog(final String localLog, final String fullyQualifiedFileName) throws IOException { Path dest = new Path(fullyQualifiedFileName + ".copy"); log.debug("Copying log file to DSF " + dest); @@ -384,7 +383,7 @@ class LogWriter implements MutationLogger.Iface { }); return new LogCopyInfo(result, null); } - + @Override public LogFile create(TInfo info, AuthInfo credentials, String tserverSession) throws ThriftSecurityException { if (closed) @@ -422,13 +421,13 @@ class LogWriter implements MutationLogger.Iface { log.info("Created log " + result.name); return result; } - + @Override public void log(TInfo info, long id, final long seq, final int tid, final TMutation mutation) throws NoSuchLogIDException { Logger out = logs.get(id); if (out == null) throw new NoSuchLogIDException(); - + out.key.event = MUTATION; out.key.seq = seq; out.key.tid = tid; @@ -446,7 +445,7 @@ class LogWriter implements MutationLogger.Iface { throw new LogWriteException(e); } } - + private void logMany(TInfo info, long id, final long seq, final int tid, Mutation muations[]) throws NoSuchLogIDException { Logger out = logs.get(id); if (out == null) @@ -467,7 +466,7 @@ class LogWriter implements MutationLogger.Iface { throw new LogWriteException(e); } } - + @Override public void minorCompactionFinished(TInfo info, long id, final long seq, final int tid, final String fqfn) throws NoSuchLogIDException { Logger out = logs.get(id); @@ -490,7 +489,7 @@ class LogWriter implements MutationLogger.Iface { throw new LogWriteException(e); } } - + @Override public void minorCompactionStarted(TInfo info, long id, final long seq, final int tid, final String fqfn) throws NoSuchLogIDException { Logger out = logs.get(id); @@ -513,7 +512,7 @@ class LogWriter implements MutationLogger.Iface { throw new LogWriteException(e); } } - + @Override public void defineTablet(TInfo info, long id, final long seq, final int tid, final TKeyExtent tablet) throws NoSuchLogIDException { Logger out = logs.get(id); @@ -536,7 +535,7 @@ class LogWriter implements MutationLogger.Iface { throw new LogWriteException(e); } } - + public void shutdown() { // Make sure everything is closed log.info("Shutting down"); @@ -550,7 +549,7 @@ class LogWriter implements MutationLogger.Iface { } } } - + @Override public List getClosedLogs(TInfo info, AuthInfo credentials) throws ThriftSecurityException { ArrayList result = new ArrayList(); @@ -574,7 +573,7 @@ class LogWriter implements MutationLogger.Iface { } return result; } - + @Override public void remove(TInfo info, AuthInfo credentials, List files) { log.info("Deleting " + files.size() + " log files"); @@ -590,10 +589,10 @@ class LogWriter implements MutationLogger.Iface { log.error("Unable to delete files", ex); } } - + @Override public void logManyTablets(TInfo info, long id, List mutations) throws NoSuchLogIDException { - + for (TabletMutations tm : mutations) { Mutation ma[] = new Mutation[tm.mutations.size()]; int index = 0; @@ -602,7 +601,7 @@ class LogWriter implements MutationLogger.Iface { logMany(info, id, tm.seq, tm.tabletID, ma); } } - + @Override synchronized public void beginShutdown(TInfo tinfo, AuthInfo credentials) throws TException { closed = true; @@ -618,8 +617,8 @@ class LogWriter implements MutationLogger.Iface { file2id.clear(); } } - + @Override public void halt(TInfo tinfo, AuthInfo credentials) throws TException {} - + } http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/server/src/main/java/org/apache/accumulo/server/master/LogSort.java ---------------------------------------------------------------------- diff --git a/src/server/src/main/java/org/apache/accumulo/server/master/LogSort.java b/src/server/src/main/java/org/apache/accumulo/server/master/LogSort.java index 4666331..1c384a3 100644 --- a/src/server/src/main/java/org/apache/accumulo/server/master/LogSort.java +++ b/src/server/src/main/java/org/apache/accumulo/server/master/LogSort.java @@ -54,31 +54,31 @@ import org.apache.log4j.Logger; /* Borrows from the Apache sort example program */ public class LogSort extends Configured implements Tool { - + private static final Logger log = Logger.getLogger(LogSort.class); public static final String INSTANCE_ID_PROPERTY = "accumulo.instance.id"; private Job job = null; - + public static String getJobName() { return "LogSort_" + HdfsZooInstance.getInstance().getInstanceID(); } - + private void printUsage() { System.out.println("accumulo " + this.getClass().getName() + " [-r ] [-q queue] [-p pool] "); ToolRunner.printGenericCommandUsage(System.out); } - + public static class SortCommit extends FileOutputCommitter { - + final private Path outputPath; final private FileSystem outputFileSystem; - + public SortCommit(Path outputPath, TaskAttemptContext context) throws IOException { super(outputPath, context); this.outputPath = outputPath; outputFileSystem = outputPath.getFileSystem(context.getConfiguration()); } - + @Override public void abortTask(TaskAttemptContext context) { try { @@ -88,7 +88,8 @@ public class LogSort extends Configured implements Tool { throw new RuntimeException(ex); } } - + + @Deprecated @Override public void cleanupJob(JobContext context) throws IOException { super.cleanupJob(context); @@ -106,14 +107,15 @@ public class LogSort extends Configured implements Tool { } } } - + /** * The main driver for sort program. Invoke this method to submit the map/reduce job. */ + @Override public int run(String[] args) throws IOException, InterruptedException, ClassNotFoundException { if (job != null) throw new RuntimeException("job has already run"); - + // parse options int num_reduces = 1; String queueName = "default"; @@ -139,38 +141,38 @@ public class LogSort extends Configured implements Tool { return 1; } } - + // validate arguments if (otherArgs.size() != 2) { log.error("Wrong number of parameters: " + otherArgs.size() + " instead of 2.", new Exception()); printUsage(); return 0; } - + // create job job = new Job(getConf(), getJobName()); job.setJarByClass(this.getClass()); - + // set input job.setInputFormatClass(SequenceFileInputFormat.class); SequenceFileInputFormat.setInputPaths(job, otherArgs.get(0)); - + // set identity mappers job.setMapperClass(Mapper.class); job.setOutputKeyClass(LogFileKey.class); job.setOutputValueClass(LogFileValue.class); - + // set custom partitioner job.setPartitionerClass(RoundRobinPartitioner.class); - + // set identity reducer job.setReducerClass(IdentityReducer.class); job.setNumReduceTasks(num_reduces); - + // set output job.setOutputFormatClass(LoggerMapFileOutputFormat.class); LoggerMapFileOutputFormat.setOutputPath(job, new Path(otherArgs.get(1))); - + // submit the job to the job queue job.getConfiguration().set("mapred.job.queue.name", queueName); job.getConfiguration().set("mapred.job.pool.name", poolName); @@ -179,7 +181,7 @@ public class LogSort extends Configured implements Tool { + " with " + num_reduces + " reduces."); return 0; } - + public static Job startSort(boolean background, String[] args) throws Exception { LogSort sort = new LogSort(); ToolRunner.run(CachedConfiguration.getInstance(), sort, args); @@ -189,7 +191,7 @@ public class LogSort extends Configured implements Tool { sort.job.waitForCompletion(true); return sort.job; } - + public static void main(String[] args) throws Exception { long startTime = System.currentTimeMillis(); log.info("Job started"); @@ -198,25 +200,25 @@ public class LogSort extends Configured implements Tool { if (!job.isSuccessful()) System.exit(1); } - + private static class LoggerMapFileOutputFormat extends FileOutputFormat,Writable> { @Override public RecordWriter,Writable> getRecordWriter(final TaskAttemptContext job) throws IOException, InterruptedException { // get the path of the temporary output file Path file = getDefaultWorkFile(job, ""); - + FileSystem fs = file.getFileSystem(job.getConfiguration()); CompressionCodec codec = null; CompressionType compressionType = CompressionType.NONE; if (getCompressOutput(job)) { // find the kind of compression to do compressionType = SequenceFileOutputFormat.getOutputCompressionType(job); - + // find the right codec Class codecClass = getOutputCompressorClass(job, DefaultCodec.class); codec = ReflectionUtils.newInstance(codecClass, job.getConfiguration()); } - + Progressable progress = new Progressable() { @Override public void progress() { @@ -226,20 +228,20 @@ public class LogSort extends Configured implements Tool { final MapFile.Writer out = new MapFile.Writer(job.getConfiguration(), fs, file.toString(), job.getOutputKeyClass().asSubclass(WritableComparable.class), job.getOutputValueClass().asSubclass(Writable.class), compressionType, codec, progress); return new RecordWriter,Writable>() { - + @Override public void write(WritableComparable key, Writable value) throws IOException { out.append(key, value); } - + @Override public void close(TaskAttemptContext context) throws IOException, InterruptedException { out.close(); } }; - + } - + @Override public synchronized OutputCommitter getOutputCommitter(TaskAttemptContext context) throws IOException { return new SortCommit(getOutputPath(context), context); http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/server/src/main/java/org/apache/accumulo/server/monitor/servlets/trace/NullScanner.java ---------------------------------------------------------------------- diff --git a/src/server/src/main/java/org/apache/accumulo/server/monitor/servlets/trace/NullScanner.java b/src/server/src/main/java/org/apache/accumulo/server/monitor/servlets/trace/NullScanner.java index d80efcf..4de3de0 100644 --- a/src/server/src/main/java/org/apache/accumulo/server/monitor/servlets/trace/NullScanner.java +++ b/src/server/src/main/java/org/apache/accumulo/server/monitor/servlets/trace/NullScanner.java @@ -28,88 +28,95 @@ import org.apache.accumulo.core.data.Value; import org.apache.hadoop.io.Text; public class NullScanner implements Scanner { - + + @Deprecated @Override public void setScanIterators(int priority, String iteratorClass, String iteratorName) {} - + @Override public void addScanIterator(IteratorSetting cfg) {} - + + @Deprecated @Override public void setScanIteratorOption(String iteratorName, String key, String value) {} - + @Override public void updateScanIteratorOption(String iteratorName, String key, String value) {} - + + @Deprecated @Override public void setupRegex(String iteratorName, int iteratorPriority) throws IOException {} - + + @Deprecated @Override public void setRowRegex(String regex) {} - + + @Deprecated @Override public void setColumnFamilyRegex(String regex) {} - + + @Deprecated @Override public void setColumnQualifierRegex(String regex) {} - + + @Deprecated @Override public void setValueRegex(String regex) {} - + @Override public void fetchColumnFamily(Text col) {} - + @Override public void fetchColumn(Text colFam, Text colQual) {} - + @Override public void clearColumns() {} - + @Override public void clearScanIterators() {} - + @Override public void setTimeOut(int timeOut) {} - + @Override public int getTimeOut() { return 0; } - + @Override public void setRange(Range range) {} - + @Override public Range getRange() { return null; } - + @Override public void setBatchSize(int size) { - + } - + @Override public int getBatchSize() { return 0; } - + @Override public void enableIsolation() { - + } - + @Override public void disableIsolation() { - + } - + @Override public Iterator> iterator() { return new NullKeyValueIterator(); } - + @Override public void removeScanIterator(String iteratorName) {} - + } http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/server/src/main/java/org/apache/accumulo/server/security/SecurityUtil.java ---------------------------------------------------------------------- diff --git a/src/server/src/main/java/org/apache/accumulo/server/security/SecurityUtil.java b/src/server/src/main/java/org/apache/accumulo/server/security/SecurityUtil.java index 995b6bb..94dcd1b 100644 --- a/src/server/src/main/java/org/apache/accumulo/server/security/SecurityUtil.java +++ b/src/server/src/main/java/org/apache/accumulo/server/security/SecurityUtil.java @@ -18,7 +18,6 @@ package org.apache.accumulo.server.security; import java.io.IOException; import java.net.InetAddress; -import java.net.UnknownHostException; import org.apache.accumulo.core.conf.AccumuloConfiguration; import org.apache.accumulo.core.conf.Property; @@ -34,9 +33,6 @@ public class SecurityUtil { /** * This method is for logging a server in kerberos. If this is used in client code, it will fail unless run as the accumulo keytab's owner. Instead, use * {@link #login(String, String)} - * - * @throws UnknownHostException - * @throws IOException */ public static void serverLogin() { @SuppressWarnings("deprecation") @@ -69,7 +65,6 @@ public class SecurityUtil { * replaced by the systems host name. * @param keyTabPath * @return true if login succeeded, otherwise false - * @throws IOException */ public static boolean login(String principalConfig, String keyTabPath) { try {