Updated Branches: refs/heads/master e03be58a7 -> 7a4886c44
ACCUMULO-2273 Use guava's Joiner instead of writing our own Signed-off-by: Bill Havanki <bhava...@cloudera.com> Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/7a4886c4 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/7a4886c4 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/7a4886c4 Branch: refs/heads/master Commit: 7a4886c44662da0aca6d24a53873762a81aa6396 Parents: e03be58 Author: Vikram Srivastava <vikr...@cloudera.com> Authored: Thu Jan 30 00:09:17 2014 -0800 Committer: Bill Havanki <bhava...@cloudera.com> Committed: Tue Feb 4 13:14:00 2014 -0500 ---------------------------------------------------------------------- .../core/client/admin/TableOperationsImpl.java | 5 ++- .../core/tabletserver/log/LogEntry.java | 5 ++- .../accumulo/core/util/LocalityGroupUtil.java | 4 +- .../apache/accumulo/core/util/StringUtil.java | 33 --------------- .../accumulo/core/util/TestStringUtil.java | 44 -------------------- .../impl/MiniAccumuloClusterImpl.java | 4 +- .../impl/MiniAccumuloConfigImpl.java | 2 - .../accumulo/server/client/HdfsZooInstance.java | 5 ++- .../master/state/TabletStateChangeIterator.java | 7 ++-- .../accumulo/server/util/TableDiskUsage.java | 4 +- .../monitor/servlets/MasterServlet.java | 5 ++- .../apache/accumulo/tserver/log/DfsLogger.java | 7 ++-- 12 files changed, 27 insertions(+), 98 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java b/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java index f459275..b9ed98e 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java +++ b/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java @@ -105,7 +105,6 @@ import org.apache.accumulo.core.util.MapCounter; import org.apache.accumulo.core.util.NamingThreadFactory; import org.apache.accumulo.core.util.OpTimer; import org.apache.accumulo.core.util.Pair; -import org.apache.accumulo.core.util.StringUtil; import org.apache.accumulo.core.util.TextUtil; import org.apache.accumulo.core.util.ThriftUtil; import org.apache.accumulo.core.util.UtilWaitThread; @@ -120,6 +119,8 @@ import org.apache.thrift.TApplicationException; import org.apache.thrift.TException; import org.apache.thrift.transport.TTransportException; +import com.google.common.base.Joiner; + public class TableOperationsImpl extends TableOperationsHelper { private Instance instance; private Credentials credentials; @@ -1002,7 +1003,7 @@ public class TableOperationsImpl extends TableOperationsHelper { } try { - setProperty(tableName, Property.TABLE_LOCALITY_GROUPS.getKey(), StringUtil.join(groups.keySet(), ",")); + setProperty(tableName, Property.TABLE_LOCALITY_GROUPS.getKey(), Joiner.on(",").join(groups.keySet())); } catch (AccumuloException e) { if (e.getCause() instanceof TableNotFoundException) throw (TableNotFoundException) e.getCause(); http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/core/src/main/java/org/apache/accumulo/core/tabletserver/log/LogEntry.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/accumulo/core/tabletserver/log/LogEntry.java b/core/src/main/java/org/apache/accumulo/core/tabletserver/log/LogEntry.java index fc2da4b..b19dc7d 100644 --- a/core/src/main/java/org/apache/accumulo/core/tabletserver/log/LogEntry.java +++ b/core/src/main/java/org/apache/accumulo/core/tabletserver/log/LogEntry.java @@ -25,11 +25,12 @@ import org.apache.accumulo.core.data.Key; import org.apache.accumulo.core.data.KeyExtent; import org.apache.accumulo.core.data.Value; import org.apache.accumulo.core.metadata.schema.MetadataSchema; -import org.apache.accumulo.core.util.StringUtil; import org.apache.hadoop.io.DataInputBuffer; import org.apache.hadoop.io.DataOutputBuffer; import org.apache.hadoop.io.Text; +import com.google.common.base.Joiner; + public class LogEntry { public KeyExtent extent; public long timestamp; @@ -104,7 +105,7 @@ public class LogEntry { } public Value getValue() { - return new Value((StringUtil.join(logSet, ";") + "|" + tabletId).getBytes()); + return new Value((Joiner.on(";").join(logSet) + "|" + tabletId).getBytes()); } } http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java b/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java index a209a00..104b9f1 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java +++ b/core/src/main/java/org/apache/accumulo/core/util/LocalityGroupUtil.java @@ -40,6 +40,8 @@ import org.apache.accumulo.core.data.thrift.TMutation; import org.apache.commons.lang.mutable.MutableLong; import org.apache.hadoop.io.Text; +import com.google.common.base.Joiner; + public class LocalityGroupUtil { // private static final Logger log = Logger.getLogger(ColumnFamilySet.class); @@ -157,7 +159,7 @@ public class LocalityGroupUtil { ecfs.add(ecf); } - return StringUtil.join(ecfs, ","); + return Joiner.on(",").join(ecfs); } public static String encodeColumnFamily(ByteSequence bs) { http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/core/src/main/java/org/apache/accumulo/core/util/StringUtil.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/accumulo/core/util/StringUtil.java b/core/src/main/java/org/apache/accumulo/core/util/StringUtil.java deleted file mode 100644 index 6357093..0000000 --- a/core/src/main/java/org/apache/accumulo/core/util/StringUtil.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * 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.core.util; - -import java.util.Collection; - -public final class StringUtil { - public static String join(Collection<String> strings, String sep) { - int last = 0; - StringBuilder ret = new StringBuilder(); - for (String s : strings) { - ret.append(s); - last = ret.length(); - ret.append(sep); - } - ret.delete(last, ret.length()); - return ret.toString(); - } -} http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/core/src/test/java/org/apache/accumulo/core/util/TestStringUtil.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/accumulo/core/util/TestStringUtil.java b/core/src/test/java/org/apache/accumulo/core/util/TestStringUtil.java deleted file mode 100644 index 3f1b95d..0000000 --- a/core/src/test/java/org/apache/accumulo/core/util/TestStringUtil.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 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.core.util; - -import static org.junit.Assert.assertEquals; - -import java.util.ArrayList; -import java.util.List; - -import org.junit.Test; - -public class TestStringUtil { - - static List<String> parts(Object... parts) { - List<String> result = new ArrayList<String>(); - for (Object obj : parts) { - result.add(obj.toString()); - } - return result; - } - - @Test - public void testJoin() { - assertEquals(StringUtil.join(parts(), ","), ""); - assertEquals(StringUtil.join(parts("a", "b", "c"), ","), "a,b,c"); - assertEquals(StringUtil.join(parts("a"), ","), "a"); - assertEquals(StringUtil.join(parts("a", "a"), ","), "a,a"); - } - -} http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java ---------------------------------------------------------------------- diff --git a/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java b/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java index 08d2b65..f34cdce 100644 --- a/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java +++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java @@ -53,7 +53,6 @@ import org.apache.accumulo.core.conf.Property; import org.apache.accumulo.core.master.thrift.MasterGoalState; import org.apache.accumulo.core.util.Daemon; import org.apache.accumulo.core.util.Pair; -import org.apache.accumulo.core.util.StringUtil; import org.apache.accumulo.core.util.UtilWaitThread; import org.apache.accumulo.gc.SimpleGarbageCollector; import org.apache.accumulo.master.Master; @@ -74,6 +73,7 @@ import org.apache.hadoop.hdfs.DFSConfigKeys; import org.apache.hadoop.hdfs.MiniDFSCluster; import org.apache.zookeeper.server.ZooKeeperServerMain; +import com.google.common.base.Joiner; import com.google.common.base.Predicate; import com.google.common.collect.Maps; @@ -256,7 +256,7 @@ public class MiniAccumuloClusterImpl { builder.environment().put("ACCUMULO_HOME", config.getDir().getAbsolutePath()); builder.environment().put("ACCUMULO_LOG_DIR", config.getLogDir().getAbsolutePath()); builder.environment().put("ACCUMULO_CLIENT_CONF_PATH", config.getClientConfFile().getAbsolutePath()); - String ldLibraryPath = StringUtil.join(Arrays.asList(config.getNativeLibPaths()), File.pathSeparator); + String ldLibraryPath = Joiner.on(File.pathSeparator).join(config.getNativeLibPaths()); builder.environment().put("LD_LIBRARY_PATH", ldLibraryPath); builder.environment().put("DYLD_LIBRARY_PATH", ldLibraryPath); http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java ---------------------------------------------------------------------- diff --git a/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java b/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java index 04d9f6e..2c1b326 100644 --- a/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java +++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java @@ -17,12 +17,10 @@ package org.apache.accumulo.minicluster.impl; import java.io.File; -import java.util.Arrays; import java.util.HashMap; import java.util.Map; import org.apache.accumulo.core.conf.Property; -import org.apache.accumulo.core.util.StringUtil; import org.apache.accumulo.minicluster.MemoryUnit; import org.apache.accumulo.minicluster.ServerType; import org.apache.accumulo.server.util.PortUtils; http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/server/base/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java ---------------------------------------------------------------------- diff --git a/server/base/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java b/server/base/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java index 54fb7e3..d7c68f0 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java +++ b/server/base/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java @@ -36,7 +36,6 @@ import org.apache.accumulo.core.metadata.RootTable; import org.apache.accumulo.core.security.Credentials; import org.apache.accumulo.core.util.ByteBufferUtil; import org.apache.accumulo.core.util.OpTimer; -import org.apache.accumulo.core.util.StringUtil; import org.apache.accumulo.core.util.TextUtil; import org.apache.accumulo.core.zookeeper.ZooUtil; import org.apache.accumulo.fate.zookeeper.ZooCache; @@ -47,6 +46,8 @@ import org.apache.hadoop.io.Text; import org.apache.log4j.Level; import org.apache.log4j.Logger; +import com.google.common.base.Joiner; + /** * An implementation of Instance that looks in HDFS and ZooKeeper to find the master and root tablet location. * @@ -186,6 +187,6 @@ public class HdfsZooInstance implements Instance { System.out.println("Instance Name: " + instance.getInstanceName()); System.out.println("Instance ID: " + instance.getInstanceID()); System.out.println("ZooKeepers: " + instance.getZooKeepers()); - System.out.println("Masters: " + StringUtil.join(instance.getMasterLocations(), ", ")); + System.out.println("Masters: " + Joiner.on(", ").join(instance.getMasterLocations())); } } http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/server/base/src/main/java/org/apache/accumulo/server/master/state/TabletStateChangeIterator.java ---------------------------------------------------------------------- diff --git a/server/base/src/main/java/org/apache/accumulo/server/master/state/TabletStateChangeIterator.java b/server/base/src/main/java/org/apache/accumulo/server/master/state/TabletStateChangeIterator.java index 5749523..d5ec5d0 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/master/state/TabletStateChangeIterator.java +++ b/server/base/src/main/java/org/apache/accumulo/server/master/state/TabletStateChangeIterator.java @@ -35,13 +35,14 @@ import org.apache.accumulo.core.iterators.IteratorEnvironment; import org.apache.accumulo.core.iterators.SkippingIterator; import org.apache.accumulo.core.iterators.SortedKeyValueIterator; import org.apache.accumulo.core.util.AddressUtil; -import org.apache.accumulo.core.util.StringUtil; import org.apache.accumulo.server.master.state.TabletLocationState.BadLocationStateException; import org.apache.commons.codec.binary.Base64; import org.apache.hadoop.io.DataInputBuffer; import org.apache.hadoop.io.DataOutputBuffer; import org.apache.hadoop.io.Text; +import com.google.common.base.Joiner; + public class TabletStateChangeIterator extends SkippingIterator { private static final String SERVERS_OPTION = "servers"; @@ -161,13 +162,13 @@ public class TabletStateChangeIterator extends SkippingIterator { List<String> servers = new ArrayList<String>(); for (TServerInstance server : goodServers) servers.add(server.toString()); - cfg.addOption(SERVERS_OPTION, StringUtil.join(servers, ",")); + cfg.addOption(SERVERS_OPTION, Joiner.on(",").join(servers)); } } public static void setOnlineTables(IteratorSetting cfg, Set<String> onlineTables) { if (onlineTables != null) - cfg.addOption(TABLES_OPTION, StringUtil.join(onlineTables, ",")); + cfg.addOption(TABLES_OPTION, Joiner.on(",").join(onlineTables)); } public static void setMerges(IteratorSetting cfg, Collection<MergeInfo> merges) { http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/server/base/src/main/java/org/apache/accumulo/server/util/TableDiskUsage.java ---------------------------------------------------------------------- diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/TableDiskUsage.java b/server/base/src/main/java/org/apache/accumulo/server/util/TableDiskUsage.java index cb932d7..c8a2be8 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/util/TableDiskUsage.java +++ b/server/base/src/main/java/org/apache/accumulo/server/util/TableDiskUsage.java @@ -43,7 +43,6 @@ import org.apache.accumulo.core.metadata.MetadataTable; import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily; import org.apache.accumulo.core.security.Authorizations; import org.apache.accumulo.core.util.NumUtil; -import org.apache.accumulo.core.util.StringUtil; import org.apache.accumulo.server.cli.ClientOpts; import org.apache.accumulo.server.fs.VolumeManager; import org.apache.accumulo.server.fs.VolumeManagerImpl; @@ -53,6 +52,7 @@ import org.apache.hadoop.io.Text; import org.apache.log4j.Logger; import com.beust.jcommander.Parameter; +import com.google.common.base.Joiner; public class TableDiskUsage { @@ -175,7 +175,7 @@ public class TableDiskUsage { } if (file.contains(":") && parts.length > 3) { List<String> base = Arrays.asList(Arrays.copyOf(parts, parts.length - 3)); - nameSpacesReferenced.add(StringUtil.join(base, "/")); + nameSpacesReferenced.add(Joiner.on("/").join(base)); } } http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/MasterServlet.java ---------------------------------------------------------------------- diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/MasterServlet.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/MasterServlet.java index 0466405..1b613e5 100644 --- a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/MasterServlet.java +++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/MasterServlet.java @@ -35,7 +35,6 @@ import org.apache.accumulo.core.master.thrift.MasterState; import org.apache.accumulo.core.master.thrift.RecoveryStatus; import org.apache.accumulo.core.master.thrift.TabletServerStatus; import org.apache.accumulo.core.util.AddressUtil; -import org.apache.accumulo.core.util.StringUtil; import org.apache.accumulo.monitor.Monitor; import org.apache.accumulo.monitor.util.Table; import org.apache.accumulo.monitor.util.TableRow; @@ -48,6 +47,8 @@ import org.apache.accumulo.server.monitor.DedupedLogEvent; import org.apache.accumulo.server.monitor.LogService; import org.apache.log4j.Level; +import com.google.common.base.Joiner; + public class MasterServlet extends BasicServlet { private static final long serialVersionUID = 1L; @@ -117,7 +118,7 @@ public class MasterServlet extends BasicServlet { sb.append("<span class='warning'>Master State: " + Monitor.getMmi().state.name() + " Goal: " + Monitor.getMmi().goalState.name() + "</span>\n"); } if (Monitor.getMmi().serversShuttingDown != null && Monitor.getMmi().serversShuttingDown.size() > 0 && Monitor.getMmi().state == MasterState.NORMAL) { - sb.append("<span class='warning'>Servers being stopped: " + StringUtil.join(Monitor.getMmi().serversShuttingDown, ", ") + "</span>\n"); + sb.append("<span class='warning'>Servers being stopped: " + Joiner.on(", ").join(Monitor.getMmi().serversShuttingDown) + "</span>\n"); } int guessHighLoad = ManagementFactory.getOperatingSystemMXBean().getAvailableProcessors(); http://git-wip-us.apache.org/repos/asf/accumulo/blob/7a4886c4/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java ---------------------------------------------------------------------- diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java index 33d7722..e52f739 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java @@ -51,7 +51,6 @@ import org.apache.accumulo.core.security.crypto.DefaultCryptoModule; import org.apache.accumulo.core.security.crypto.NoFlushOutputStream; import org.apache.accumulo.core.util.Daemon; import org.apache.accumulo.core.util.Pair; -import org.apache.accumulo.core.util.StringUtil; import org.apache.accumulo.server.ServerConstants; import org.apache.accumulo.server.fs.VolumeManager; import org.apache.accumulo.server.master.state.TServerInstance; @@ -63,6 +62,8 @@ import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.Path; import org.apache.log4j.Logger; +import com.google.common.base.Joiner; + /** * Wrap a connection to a logger. * @@ -322,7 +323,7 @@ public class DfsLogger { public synchronized void open(String address) throws IOException { String filename = UUID.randomUUID().toString(); - String logger = StringUtil.join(Arrays.asList(address.split(":")), "+"); + String logger = Joiner.on("+").join(address.split(":")); log.debug("DfsLogger.open() begin"); VolumeManager fs = conf.getFileSystem(); @@ -539,7 +540,7 @@ public class DfsLogger { public String getLogger() { String parts[] = logPath.split("/"); - return StringUtil.join(Arrays.asList(parts[parts.length - 2].split("[+]")), ":"); + return Joiner.on(":").join(parts[parts.length - 2].split("[+]")); } }