You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by vi...@apache.org on 2013/04/18 01:42:59 UTC
svn commit: r1469105 - in /accumulo/trunk: ./ core/
core/src/main/java/org/apache/accumulo/core/client/impl/
core/src/main/java/org/apache/accumulo/core/client/mapred/
core/src/main/java/org/apache/accumulo/core/client/mapreduce/
core/src/main/java/org...
Author: vines
Date: Wed Apr 17 23:42:57 2013
New Revision: 1469105
URL: http://svn.apache.org/r1469105
Log:
ACCUMULO-970 - TODO tagging/busting/ticketing/etc.
Modified:
accumulo/trunk/ (props changed)
accumulo/trunk/core/ (props changed)
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/BlockCache.java
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java
accumulo/trunk/examples/ (props changed)
accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Viewer.java
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/Fate.java
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java (contents, props changed)
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/DistributedReadWriteLock.java
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReservation.java
accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java
accumulo/trunk/server/ (props changed)
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilter.java
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/ExportTable.java
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/TableRangeOp.java
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tserverOps/ShutdownTServer.java
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/GcStatusServlet.java
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
accumulo/trunk/server/src/test/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilterTest.java
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
accumulo/trunk/start/src/test/java/org/apache/accumulo/test/AccumuloDFSBase.java
accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Compact.java
accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Merge.java
accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/shard/Search.java
Propchange: accumulo/trunk/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5:r1469104
Propchange: accumulo/trunk/core/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/core:r1469104
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java Wed Apr 17 23:42:57 2013
@@ -287,7 +287,7 @@ class OfflineIterator implements Iterato
private SortedKeyValueIterator<Key,Value> createIterator(KeyExtent extent, List<String> absFiles) throws TableNotFoundException, AccumuloException,
IOException {
- // TODO share code w/ tablet
+ // TODO share code w/ tablet - ACCUMULO-1303
AccumuloConfiguration acuTableConf = AccumuloConfiguration.getTableConfiguration(conn, tableId);
Configuration conf = CachedConfiguration.getInstance();
@@ -300,7 +300,7 @@ class OfflineIterator implements Iterato
readers.clear();
- // TODO need to close files
+ // TODO need to close files - ACCUMULO-1303
for (String file : absFiles) {
FileSKVIterator reader = FileOperations.getInstance().openReader(file, false, fs, conf, acuTableConf, null, null);
readers.add(reader);
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java Wed Apr 17 23:42:57 2013
@@ -662,8 +662,6 @@ public abstract class InputFormatBase<K,
RowIterator rowIter = new RowIterator(scanner);
- // TODO check that extents match prev extent
-
KeyExtent lastExtent = null;
while (rowIter.hasNext()) {
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java Wed Apr 17 23:42:57 2013
@@ -685,8 +685,6 @@ public abstract class InputFormatBase<K,
RowIterator rowIter = new RowIterator(scanner);
- // TODO check that extents match prev extent
-
KeyExtent lastExtent = null;
while (rowIter.hasNext()) {
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java Wed Apr 17 23:42:57 2013
@@ -30,7 +30,6 @@ import org.apache.accumulo.start.classlo
import org.apache.log4j.Logger;
public enum Property {
-
// Crypto-related properties
CRYPTO_PREFIX("crypto.", null, PropertyType.PREFIX, "Properties in this category related to the configuration of both default and custom crypto modules.",
true),
@@ -358,7 +357,9 @@ public enum Property {
private String key, defaultValue, description;
private PropertyType type;
private boolean experimental;
+ static Logger log = Logger.getLogger(Property.class);
+
private Property(String name, String defaultValue, PropertyType type, String description, boolean experimental) {
this.key = name;
this.defaultValue = defaultValue;
@@ -490,4 +491,23 @@ public enum Property {
}
return false;
}
+
+ public static <T> T createInstanceFromPropertyName(AccumuloConfiguration conf, Property property, Class<T> base, T defaultInstance) {
+ String clazzName = conf.get(property);
+ T instance = null;
+
+ try {
+ Class<? extends T> clazz = AccumuloVFSClassLoader.loadClass(clazzName, base);
+ instance = clazz.newInstance();
+ log.info("Loaded class : " + clazzName);
+ } catch (Exception e) {
+ log.warn("Failed to load class ", e);
+ }
+
+ if (instance == null) {
+ log.info("Using " + defaultInstance.getClass().getName());
+ instance = defaultInstance;
+ }
+ return instance;
+ }
}
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/BlockCache.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/BlockCache.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/BlockCache.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/BlockCache.java Wed Apr 17 23:42:57 2013
@@ -20,7 +20,7 @@
package org.apache.accumulo.core.file.blockfile.cache;
/**
- * Block cache interface. TODO: Add filename or hash of filename to block cache key.
+ * Block cache interface.
*/
public interface BlockCache {
/**
Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/IntersectingIterator.java Wed Apr 17 23:42:57 2013
@@ -513,11 +513,11 @@ public class IntersectingIterator implem
sources = new TermSource[1];
} else {
// allocate space for node, and copy current tree.
- // TODO: Should we change this to an ArrayList so that we can just add() ?
+ // TODO: Should we change this to an ArrayList so that we can just add() ? - ACCUMULO-1309
TermSource[] localSources = new TermSource[sources.length + 1];
int currSource = 0;
for (TermSource myTerm : sources) {
- // TODO: Do I need to call new here? or can I just re-use the term?
+ // TODO: Do I need to call new here? or can I just re-use the term? - ACCUMULO-1309
localSources[currSource] = new TermSource(myTerm);
currSource++;
}
Modified: accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java (original)
+++ accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java Wed Apr 17 23:42:57 2013
@@ -216,11 +216,11 @@ public class MockConnectorTest {
* @param c
* connector to the {@link MockInstance}
* @param tableName
- * TODO
+ * Table to check
* @param count
* number of entries to expect in the table
* @param count
- * TODO
+ * number of rows the table should contain
*/
private void checkRemaining(Connector c, String tableName, int count) throws Exception {
Scanner scanner = c.createScanner(tableName, Constants.NO_AUTHS);
Propchange: accumulo/trunk/examples/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/examples:r1469104
Modified: accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Viewer.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Viewer.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Viewer.java (original)
+++ accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Viewer.java Wed Apr 17 23:42:57 2013
@@ -165,7 +165,6 @@ public class Viewer extends JFrame imple
try {
populateChildren((DefaultMutableTreeNode) event.getPath().getLastPathComponent());
} catch (TableNotFoundException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
}
Modified: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/Fate.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/Fate.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/Fate.java (original)
+++ accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/Fate.java Wed Apr 17 23:42:57 2013
@@ -140,7 +140,7 @@ public class Fate<T> {
this.environment = environment;
for (int i = 0; i < numTreads; i++) {
- // TODO: use a ExecutorService, maybe a utility to do these steps throughout the server packages
+ // TODO: use an ExecutorService, maybe a utility to do these steps throughout the server packages - ACCUMULO-1311
Thread thread = new Daemon(new LoggingRunnable(log, new TransactionRunner()), "Repo runner " + i);
thread.start();
}
Modified: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java (original)
+++ accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java Wed Apr 17 23:42:57 2013
@@ -39,9 +39,9 @@ import org.apache.zookeeper.KeeperExcept
import org.apache.zookeeper.KeeperException.NoNodeException;
import org.apache.zookeeper.KeeperException.NodeExistsException;
-//TODO use zoocache?
-//TODO handle zookeeper being down gracefully
-//TODO document zookeeper layout
+//TODO use zoocache? - ACCUMULO-1297
+//TODO handle zookeeper being down gracefully - ACCUMULO-1297
+//TODO document zookeeper layout - ACCUMULO-1298
public class ZooStore<T> implements TStore<T> {
@@ -66,7 +66,6 @@ public class ZooStore<T> implements TSto
} catch (IOException e) {
throw new RuntimeException(e);
}
-
}
private Object deserialize(byte ser[]) {
Propchange: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:r1469104
Modified: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/DistributedReadWriteLock.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/DistributedReadWriteLock.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/DistributedReadWriteLock.java (original)
+++ accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/DistributedReadWriteLock.java Wed Apr 17 23:42:57 2013
@@ -164,7 +164,7 @@ public class DistributedReadWriteLock im
while (returnTime > now) {
if (tryLock())
return true;
- // TODO: do something better than poll
+ // TODO: do something better than poll - ACCUMULO-1310
UtilWaitThread.sleep(100);
now = System.currentTimeMillis();
}
Modified: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReservation.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReservation.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReservation.java (original)
+++ accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReservation.java Wed Apr 17 23:42:57 2013
@@ -58,7 +58,7 @@ public class ZooReservation {
try {
zooData = zk.getData(path, stat);
} catch (NoNodeException e) {
- // TODO log warning? this may happen as a normal course of business.... could return a boolean...
+ // Just logging a warning, if data is gone then our work here is done.
Logger.getLogger(ZooReservation.class).debug("Node does not exist " + path);
return;
}
Modified: accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java (original)
+++ accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java Wed Apr 17 23:42:57 2013
@@ -67,7 +67,11 @@ public class TestProxyTableOperations {
};
thread.start();
tpc = new TestProxyClient("localhost", port);
- userpass = tpc.proxy().login("root", new TreeMap<String, String>() {{put("password",""); }});
+ userpass = tpc.proxy().login("root", new TreeMap<String,String>() {
+ {
+ put("password", "");
+ }
+ });
}
@AfterClass
@@ -106,7 +110,7 @@ public class TestProxyTableOperations {
}
// This test does not yet function because the backing Mock instance does not yet support merging
- // TODO: add back in as a test when Mock is improved
+ // TODO: add back in as a test when Mock is improved - ACCUMULO-1306
// @Test
public void merge() throws TException {
Set<ByteBuffer> splits = new HashSet<ByteBuffer>();
@@ -152,9 +156,7 @@ public class TestProxyTableOperations {
assertNull(constraints.get("org.apache.accumulo.TestConstraint"));
}
- // This test does not yet function because the backing Mock instance does not yet support locality groups
- // TODO: add back in as a test when Mock is improved
- // @Test
+ @Test
public void localityGroups() throws TException {
Map<String,Set<String>> groups = new HashMap<String,Set<String>>();
Set<String> group1 = new HashSet<String>();
@@ -202,7 +204,7 @@ public class TestProxyTableOperations {
assertEquals(tpc.proxy().getMaxRow(userpass, testtable, null, null, true, null, true), ByteBuffer.wrap("9".getBytes()));
- tpc.proxy().deleteRows(userpass,testtable,ByteBuffer.wrap("51".getBytes()), ByteBuffer.wrap("99".getBytes()));
+ tpc.proxy().deleteRows(userpass, testtable, ByteBuffer.wrap("51".getBytes()), ByteBuffer.wrap("99".getBytes()));
assertEquals(tpc.proxy().getMaxRow(userpass, testtable, null, null, true, null, true), ByteBuffer.wrap("5".getBytes()));
}
Propchange: accumulo/trunk/server/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/server:r1469104
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java Wed Apr 17 23:42:57 2013
@@ -192,7 +192,6 @@ public class ClientServiceHandler implem
Map<String,String> result = new HashMap<String,String>();
for (Entry<String,String> entry : conf) {
- // TODO: do we need to send any instance information?
if (entry.getKey().equals(Property.INSTANCE_SECRET.getKey()))
continue;
if (entry.getKey().toLowerCase().contains("password"))
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilter.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilter.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilter.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilter.java Wed Apr 17 23:42:57 2013
@@ -29,12 +29,14 @@ import org.apache.accumulo.core.iterator
import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
import org.apache.accumulo.fate.zookeeper.TransactionWatcher.Arbitrator;
import org.apache.accumulo.server.zookeeper.TransactionWatcher.ZooArbitrator;
+import org.apache.log4j.Logger;
/**
* A special iterator for the metadata table that removes inactive bulk load flags
*
*/
public class MetadataBulkLoadFilter extends Filter {
+ private static Logger log = Logger.getLogger(MetadataBulkLoadFilter.class);
enum Status {
ACTIVE, INACTIVE
@@ -57,8 +59,8 @@ public class MetadataBulkLoadFilter exte
status = Status.ACTIVE;
}
} catch (Exception e) {
- // TODO log
status = Status.ACTIVE;
+ log.error(e, e);
}
bulkTxStatusCache.put(txid, status);
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java Wed Apr 17 23:42:57 2013
@@ -429,7 +429,7 @@ public class Master implements LiveTServ
listener.waitForEvents(ONE_SECOND);
}
- // @TODO: maybe move this to Property? We do this in TabletServer, Master, TableLoadBalancer, etc.
+ // TODO: maybe move this to Property? We do this in TabletServer, Master, TableLoadBalancer, etc. - ACCUMULO-1295
public static <T> T createInstanceFromPropertyName(AccumuloConfiguration conf, Property property, Class<T> base, T defaultInstance) {
String clazzName = conf.get(property);
T instance = null;
@@ -549,7 +549,6 @@ public class Master implements LiveTServ
scanner.fetchColumnFamily(Constants.METADATA_LOG_COLUMN_FAMILY);
scanner.setRange(new KeyExtent(new Text(tableId), null, ByteBufferUtil.toText(startRow)).toMetadataRange());
- // TODO this used to be TabletIterator... any problems with splits/merges?
RowIterator ri = new RowIterator(scanner);
int tabletsToWaitFor = 0;
@@ -601,7 +600,7 @@ public class Master implements LiveTServ
if (tabletsToWaitFor == 0)
break;
- // TODO detect case of table offline AND tablets w/ logs?
+ // TODO detect case of table offline AND tablets w/ logs? - ACCUMULO-1296
if (tabletCount == 0 && !Tables.exists(instance, tableId))
throw new ThriftTableOperationException(tableId, null, TableOperation.FLUSH, TableOperationExceptionType.NOTFOUND, null);
@@ -2060,7 +2059,7 @@ public class Master implements LiveTServ
tserverSet.startListeningForTabletServerChanges();
- // TODO: add shutdown for fate object
+ // TODO: add shutdown for fate object - ACCUMULO-1307
try {
final AgeOffStore<Master> store = new AgeOffStore<Master>(new org.apache.accumulo.fate.ZooStore<Master>(ZooUtil.getRoot(instance) + Constants.ZFATE,
ZooReaderWriter.getRetryingInstance()), 1000 * 60 * 60 * 8);
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java Wed Apr 17 23:42:57 2013
@@ -102,7 +102,6 @@ class CompactionDriver extends MasterRep
Constants.METADATA_DIRECTORY_COLUMN.fetch(scanner);
scanner.fetchColumnFamily(Constants.METADATA_CURRENT_LOCATION_COLUMN_FAMILY);
- // TODO since not using tablet iterator, are there any issues w/ splits merges?
long t1 = System.currentTimeMillis();
RowIterator ri = new RowIterator(scanner);
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/ExportTable.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/ExportTable.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/ExportTable.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/ExportTable.java Wed Apr 17 23:42:57 2013
@@ -59,7 +59,7 @@ import org.apache.hadoop.io.Text;
class ExportInfo implements Serializable {
private static final long serialVersionUID = 1L;
-
+
public String tableName;
public String tableID;
public String exportDir;
@@ -73,7 +73,7 @@ class WriteExportFiles extends MasterRep
WriteExportFiles(ExportInfo tableInfo) {
this.tableInfo = tableInfo;
}
-
+
private void checkOffline(Connector conn) throws Exception {
if (Tables.getTableState(conn.getInstance(), tableInfo.tableID) != TableState.OFFLINE) {
Tables.clearCache(conn.getInstance());
@@ -90,7 +90,7 @@ class WriteExportFiles extends MasterRep
long reserved = Utils.reserveTable(tableInfo.tableID, tid, false, true, TableOperation.EXPORT);
if (reserved > 0)
return reserved;
-
+
Connector conn = master.getConnector();
checkOffline(conn);
@@ -115,14 +115,14 @@ class WriteExportFiles extends MasterRep
throw new ThriftTableOperationException(tableInfo.tableID, tableInfo.tableName, TableOperation.EXPORT, TableOperationExceptionType.OTHER,
"Write ahead logs found for table");
}
-
+
return 0;
}
-
+
@Override
public Repo<Master> call(long tid, Master master) throws Exception {
Connector conn = master.getConnector();
-
+
try {
exportTable(master.getFileSystem(), conn, tableInfo.tableName, tableInfo.tableID, tableInfo.exportDir);
} catch (IOException ioe) {
@@ -140,7 +140,7 @@ class WriteExportFiles extends MasterRep
}
public static void exportTable(FileSystem fs, Connector conn, String tableName, String tableID, String exportDir) throws Exception {
-
+
fs.mkdirs(new Path(exportDir));
Path exportMetaFilePath = new Path(exportDir, Constants.EXPORT_FILE);
@@ -173,7 +173,7 @@ class WriteExportFiles extends MasterRep
dataOut.close();
dataOut = null;
-
+
createDistcpFile(fs, exportDir, exportMetaFilePath, uniqueFiles);
} finally {
@@ -181,7 +181,7 @@ class WriteExportFiles extends MasterRep
dataOut.close();
}
}
-
+
private static void createDistcpFile(FileSystem fs, String exportDir, Path exportMetaFilePath, Map<String,String> uniqueFiles) throws IOException {
BufferedWriter distcpOut = new BufferedWriter(new OutputStreamWriter(fs.create(new Path(exportDir, "distcp.txt"), false)));
@@ -199,12 +199,12 @@ class WriteExportFiles extends MasterRep
absEMP = new Path(fs.getWorkingDirectory().toUri().getPath(), exportMetaFilePath);
distcpOut.append(new Path(uri.getScheme(), uri.getAuthority(), absEMP.toString()).toUri().toString());
-
+
distcpOut.newLine();
distcpOut.close();
distcpOut = null;
-
+
} finally {
if (distcpOut != null)
distcpOut.close();
@@ -216,7 +216,7 @@ class WriteExportFiles extends MasterRep
zipOut.putNextEntry(new ZipEntry(Constants.EXPORT_METADATA_FILE));
Map<String,String> uniqueFiles = new HashMap<String,String>();
-
+
Scanner metaScanner = conn.createScanner(Constants.METADATA_TABLE_NAME, Constants.NO_AUTHS);
metaScanner.fetchColumnFamily(Constants.METADATA_DATAFILE_COLUMN_FAMILY);
Constants.METADATA_PREV_ROW_COLUMN.fetch(metaScanner);
@@ -247,26 +247,25 @@ class WriteExportFiles extends MasterRep
uniqueFiles.put(filename, relPath);
} else if (!existingPath.equals(relPath)) {
// make sure file names are unique, should only apply for tables with file names generated by Accumulo 1.3 and earlier
- // TODO throw another type of exception?
- throw new RuntimeException("Cannot export table with nonunique file names " + filename + ". Major compact table.");
+ throw new IOException("Cannot export table with nonunique file names " + filename + ". Major compact table.");
}
}
}
return uniqueFiles;
}
-
+
private static void exportConfig(Connector conn, String tableID, ZipOutputStream zipOut, DataOutputStream dataOut) throws AccumuloException,
AccumuloSecurityException, TableNotFoundException, IOException {
-
+
DefaultConfiguration defaultConfig = AccumuloConfiguration.getDefaultConfiguration();
Map<String,String> siteConfig = conn.instanceOperations().getSiteConfiguration();
Map<String,String> systemConfig = conn.instanceOperations().getSystemConfiguration();
-
+
TableConfiguration tableConfig = ServerConfiguration.getTableConfiguration(conn.getInstance(), tableID);
-
+
OutputStreamWriter osw = new OutputStreamWriter(dataOut);
-
+
// only put props that are different than defaults and higher level configurations
zipOut.putNextEntry(new ZipEntry(Constants.EXPORT_TABLE_CONFIG_FILE));
for (Entry<String,String> prop : tableConfig) {
@@ -289,7 +288,7 @@ public class ExportTable extends MasterR
private static final long serialVersionUID = 1L;
private final ExportInfo tableInfo;
-
+
public ExportTable(String tableName, String tableId, String exportDir) {
tableInfo = new ExportInfo();
tableInfo.tableName = tableName;
@@ -316,5 +315,5 @@ public class ExportTable extends MasterR
public static final String DATA_VERSION_PROP = "srcDataVersion";
public static final String EXPORT_VERSION_PROP = "exportVersion";
-
+
}
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/TableRangeOp.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/TableRangeOp.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/TableRangeOp.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/TableRangeOp.java Wed Apr 17 23:42:57 2013
@@ -52,7 +52,7 @@ import org.apache.hadoop.io.Text;
class MakeDeleteEntries extends MasterRepo {
private static final long serialVersionUID = 1L;
-
+
@Override
public Repo<Master> call(long tid, Master master) throws Exception {
log.info("creating delete entries for merged metadata tablets");
@@ -60,7 +60,7 @@ class MakeDeleteEntries extends MasterRe
BatchWriter bw = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, new BatchWriterConfig());
String tableDir = Constants.getMetadataTableDir(master.getConfiguration().getConfiguration());
for (FileStatus fs : master.getFileSystem().listStatus(new Path(tableDir))) {
- // TODO: add the entries only if there are no !METADATA table references
+ // TODO: add the entries only if there are no !METADATA table references - ACCUMULO-1308
if (fs.isDir() && fs.getPath().getName().matches("^" + Constants.GENERATED_TABLET_DIRECTORY_PREFIX + ".*")) {
bw.addMutation(MetadataTable.createDeleteMutation(Constants.METADATA_TABLE_ID, "/" + fs.getPath().getName()));
}
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tserverOps/ShutdownTServer.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tserverOps/ShutdownTServer.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tserverOps/ShutdownTServer.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tserverOps/ShutdownTServer.java Wed Apr 17 23:42:57 2013
@@ -63,7 +63,7 @@ public class ShutdownTServer extends Mas
return null;
}
- // TODO move this to isReady() and drop while loop?
+ // TODO move this to isReady() and drop while loop? - ACCUMULO-1259
Listener listener = master.getEventCoordinator().getListener();
master.shutdownTServer(server);
while (master.onlineTabletServers().contains(server)) {
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/GcStatusServlet.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/GcStatusServlet.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/GcStatusServlet.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/GcStatusServlet.java Wed Apr 17 23:42:57 2013
@@ -16,7 +16,6 @@
*/
package org.apache.accumulo.server.monitor.servlets;
-import java.text.DateFormat;
import java.text.SimpleDateFormat;
import javax.servlet.http.HttpServletRequest;
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java Wed Apr 17 23:42:57 2013
@@ -1473,7 +1473,7 @@ public class Tablet {
String contextName = acuTableConf.get(Property.TABLE_CLASSPATH);
if (contextName != null && !contextName.equals("")) {
// initialize context classloader, instead of possibly waiting for it to initialize for a scan
- // TODO this could hang causing other tablets to fail to load
+ // TODO this could hang, causing other tablets to fail to load - ACCUMULO-1292
AccumuloVFSClassLoader.getContextManager().getClassLoader(contextName);
}
@@ -2834,7 +2834,7 @@ public class Tablet {
throw new RuntimeException(msg);
}
- // TODO check lastFlushID and lostCompactID
+ // TODO check lastFlushID and lostCompactID - ACCUMULO-1290
}
/**
@@ -3674,7 +3674,7 @@ public class Tablet {
throw new IOException("tablet " + extent + " is closed");
}
- // TODO check seems uneeded now
+ // TODO check seems uneeded now - ACCUMULO-1291
long lockWait = System.currentTimeMillis() - now;
if (lockWait > tabletServer.getSystemConfiguration().getTimeInMillis(Property.GENERAL_RPC_TIMEOUT)) {
throw new IOException("Timeout waiting " + (lockWait / 1000.) + " seconds to get tablet lock");
Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java Wed Apr 17 23:42:57 2013
@@ -468,7 +468,7 @@ public class MetadataTable extends org.a
String tableId = extent.getTableId().toString();
- // TODO could use batch writer,would need to handle failure and retry like update does
+ // TODO could use batch writer,would need to handle failure and retry like update does - ACCUMULO-1294
for (String pathToRemove : datafilesToDelete)
update(credentials, createDeleteMutation(tableId, pathToRemove));
}
Modified: accumulo/trunk/server/src/test/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilterTest.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/test/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilterTest.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/server/src/test/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilterTest.java (original)
+++ accumulo/trunk/server/src/test/java/org/apache/accumulo/server/iterators/MetadataBulkLoadFilterTest.java Wed Apr 17 23:42:57 2013
@@ -107,19 +107,15 @@ public class MetadataBulkLoadFilterTest
@Override
public SortedKeyValueIterator<Key,Value> reserveMapFileReader(String mapFileName) throws IOException {
- // TODO Auto-generated method stub
return null;
}
@Override
public void registerSideChannel(SortedKeyValueIterator<Key,Value> iter) {
- // TODO Auto-generated method stub
-
}
@Override
public boolean isFullMajorCompaction() {
- // TODO Auto-generated method stub
return false;
}
Modified: accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java (original)
+++ accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java Wed Apr 17 23:42:57 2013
@@ -185,7 +185,7 @@ public class AccumuloVFSClassLoader {
if (dynamicCPath == null || dynamicCPath.equals(""))
return wrapper;
- // TODO monitor time for lib/ext was 1 sec... should this be configurable?
+ // TODO monitor time for lib/ext was 1 sec... should this be configurable? - ACCUMULO-1301
return new AccumuloReloadingVFSClassLoader(dynamicCPath, vfs, wrapper, 1000, true);
}
Modified: accumulo/trunk/start/src/test/java/org/apache/accumulo/test/AccumuloDFSBase.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/start/src/test/java/org/apache/accumulo/test/AccumuloDFSBase.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/start/src/test/java/org/apache/accumulo/test/AccumuloDFSBase.java (original)
+++ accumulo/trunk/start/src/test/java/org/apache/accumulo/test/AccumuloDFSBase.java Wed Apr 17 23:42:57 2013
@@ -37,8 +37,8 @@ import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class AccumuloDFSBase {
-
- //Turn off the MiniDFSCluster logging
+
+ // Turn off the MiniDFSCluster logging
static {
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
}
@@ -49,20 +49,18 @@ public class AccumuloDFSBase {
// Choose an IANA unassigned port
// http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
- // TODO Given that the URI for the NameNode is statically declared in config files
- // in src/test/resources, we have to assert the given port. It would be better to let
- // MiniDFSCluster find a free port to use and then update the URI to be used in the VFS tests
+ // TODO Given that the URI for the NameNode is statically declared in config files in src/test/resources, we have to assert the given port. It would be better
+ // to let MiniDFSCluster find a free port to use and then update the URI to be used in the VFS tests - ACCUMULO-1299
protected static final Integer HDFS_PORT = 8620;
protected static final URI HDFS_URI;
-
static {
Logger.getRootLogger().setLevel(Level.ERROR);
- //Put the MiniDFSCluster directory in the target directory
+ // Put the MiniDFSCluster directory in the target directory
System.setProperty("test.build.data", "target/build/test/data");
- //Setup HDFS
+ // Setup HDFS
conf = new Configuration();
conf.set("hadoop.security.token.service.use_ip", "true");
@@ -71,23 +69,22 @@ public class AccumuloDFSBase {
// the appropriate Hadoop property so that the data directories will be created
// with the correct permissions.
try {
- Process p = Runtime.getRuntime().exec("/bin/sh -c umask");
- BufferedReader bri = new BufferedReader(new InputStreamReader(p.getInputStream()));
- String line = bri.readLine();
- p.waitFor();
-// System.out.println("umask response: " + line);
- Short umask = Short.parseShort(line.trim(), 8);
- //Need to set permission to 777 xor umask
- // leading zero makes java interpret as base 8
- int newPermission = 0777 ^ umask;
-// System.out.println("Umask is: " + String.format("%03o", umask));
-// System.out.println("Perm is: " + String.format("%03o", newPermission));
- conf.set("dfs.datanode.data.dir.perm", String.format("%03o", newPermission));
+ Process p = Runtime.getRuntime().exec("/bin/sh -c umask");
+ BufferedReader bri = new BufferedReader(new InputStreamReader(p.getInputStream()));
+ String line = bri.readLine();
+ p.waitFor();
+
+ Short umask = Short.parseShort(line.trim(), 8);
+ // Need to set permission to 777 xor umask
+ // leading zero makes java interpret as base 8
+ int newPermission = 0777 ^ umask;
+
+ conf.set("dfs.datanode.data.dir.perm", String.format("%03o", newPermission));
} catch (Exception e) {
- throw new RuntimeException("Error getting umask from O/S", e);
+ throw new RuntimeException("Error getting umask from O/S", e);
}
- conf.setLong(DFSConfigKeys.DFS_BLOCK_SIZE_KEY, 1024 * 100); //100K blocksize
+ conf.setLong(DFSConfigKeys.DFS_BLOCK_SIZE_KEY, 1024 * 100); // 100K blocksize
try {
cluster = new MiniDFSCluster(HDFS_PORT, conf, 1, true, true, true, null, null, null, null);
@@ -99,7 +96,7 @@ public class AccumuloDFSBase {
throw new RuntimeException("Error setting up mini cluster", e);
}
- //Set up the VFS
+ // Set up the VFS
vfs = new DefaultFileSystemManager();
try {
vfs.setFilesCache(new DefaultFilesCache());
@@ -143,7 +140,7 @@ public class AccumuloDFSBase {
} catch (FileSystemException e) {
throw new RuntimeException("Error setting up VFS", e);
}
-
+
}
}
Modified: accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Compact.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Compact.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Compact.java (original)
+++ accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Compact.java Wed Apr 17 23:42:57 2013
@@ -41,7 +41,7 @@ public class Compact extends Test {
String tableName = tableNames.get(rand.nextInt(tableNames.size()));
- // TODO need to sometimes do null start and end ranges
+ // TODO need to sometimes do null start and end ranges - ACCUMULO-1304
TreeSet<Text> range = new TreeSet<Text>();
range.add(new Text(String.format("%016x", rand.nextLong() & 0x7fffffffffffffffl)));
Modified: accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Merge.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Merge.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Merge.java (original)
+++ accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/Merge.java Wed Apr 17 23:42:57 2013
@@ -44,7 +44,7 @@ public class Merge extends Test {
tableNames.add(Constants.METADATA_TABLE_NAME);
String tableName = tableNames.get(rand.nextInt(tableNames.size()));
- // TODO need to sometimes do null start and end ranges
+ // TODO need to sometimes do null start and end ranges - ACCUMULO-1304
TreeSet<Text> range = new TreeSet<Text>();
range.add(new Text(String.format("%016x", rand.nextLong() & 0x7fffffffffffffffl)));
Modified: accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/shard/Search.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/shard/Search.java?rev=1469105&r1=1469104&r2=1469105&view=diff
==============================================================================
--- accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/shard/Search.java (original)
+++ accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/shard/Search.java Wed Apr 17 23:42:57 2013
@@ -79,8 +79,7 @@ public class Search extends Test {
for (Entry<Key,Value> entry2 : bs) {
if (entry2.getKey().getColumnQualifier().equals(docID)) {
sawDocID = true;
- // TODO breaking w/o reading all data causes batch reader to spew exceptions
- // break;
+ break;
}
}