You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ec...@apache.org on 2013/08/05 15:43:11 UTC
git commit: ACCUMULO-1629 skip the table itself when looking for
other references
Updated Branches:
refs/heads/master 4c51fb26d -> a54dbe2e2
ACCUMULO-1629 skip the table itself when looking for other references
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/a54dbe2e
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/a54dbe2e
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/a54dbe2e
Branch: refs/heads/master
Commit: a54dbe2e288918f167ffe527a4c61fbc7a38cdbf
Parents: 4c51fb2
Author: Eric Newton <ec...@apache.org>
Authored: Mon Aug 5 09:43:22 2013 -0400
Committer: Eric Newton <ec...@apache.org>
Committed: Mon Aug 5 09:43:22 2013 -0400
----------------------------------------------------------------------
.../server/master/tableOps/DeleteTable.java | 7 ++++-
.../accumulo/test/functional/CloneTestIT.java | 33 +++++++++++++++++++-
2 files changed, 38 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a54dbe2e/server/src/main/java/org/apache/accumulo/server/master/tableOps/DeleteTable.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/accumulo/server/master/tableOps/DeleteTable.java b/server/src/main/java/org/apache/accumulo/server/master/tableOps/DeleteTable.java
index 6f3b49a..6c6b0d6 100644
--- a/server/src/main/java/org/apache/accumulo/server/master/tableOps/DeleteTable.java
+++ b/server/src/main/java/org/apache/accumulo/server/master/tableOps/DeleteTable.java
@@ -17,6 +17,7 @@
package org.apache.accumulo.server.master.tableOps;
import java.io.IOException;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Map.Entry;
@@ -130,7 +131,11 @@ class CleanUp extends MasterRepo {
Connector conn = master.getConnector();
BatchScanner bs = conn.createBatchScanner(MetadataTable.NAME, Authorizations.EMPTY, 8);
try {
- bs.setRanges(Collections.singleton(MetadataSchema.TabletsSection.getRange()));
+ Range allTables = MetadataSchema.TabletsSection.getRange();
+ Range tableRange = MetadataSchema.TabletsSection.getRange(tableId);
+ Range beforeTable = new Range(allTables.getStartKey(), true, tableRange.getStartKey(), false);
+ Range afterTable = new Range(tableRange.getEndKey(), false, allTables.getEndKey(), true);
+ bs.setRanges(Arrays.asList(beforeTable, afterTable));
bs.fetchColumnFamily(DataFileColumnFamily.NAME);
IteratorSetting cfg = new IteratorSetting(40, "grep", GrepIterator.class);
GrepIterator.setTerm(cfg, "/" + tableId + "/");
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a54dbe2e/test/src/test/java/org/apache/accumulo/test/functional/CloneTestIT.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/accumulo/test/functional/CloneTestIT.java b/test/src/test/java/org/apache/accumulo/test/functional/CloneTestIT.java
index ba40b18..ee2b26a 100644
--- a/test/src/test/java/org/apache/accumulo/test/functional/CloneTestIT.java
+++ b/test/src/test/java/org/apache/accumulo/test/functional/CloneTestIT.java
@@ -16,8 +16,13 @@
*/
package org.apache.accumulo.test.functional;
+import static org.junit.Assert.*;
+
+import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
@@ -28,11 +33,17 @@ import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.MutationsRejectedException;
import org.apache.accumulo.core.client.Scanner;
import org.apache.accumulo.core.client.TableNotFoundException;
+import org.apache.accumulo.core.client.admin.DiskUsage;
import org.apache.accumulo.core.conf.Property;
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.security.Authorizations;
+import org.apache.commons.math.stat.clustering.Cluster;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
import org.junit.Assert;
import org.junit.Test;
@@ -125,9 +136,29 @@ public class CloneTestIT extends SimpleMacIT {
public void testDeleteClone() throws Exception {
String table1 = makeTableName();
String table2 = makeTableName();
+ String table3 = makeTableName();
Connector c = getConnector();
-
+
+ // verify that deleting a new table removes the files
+ c.tableOperations().create(table3);
+ writeData(table3, c).close();
+ c.tableOperations().flush(table3, null, null, true);
+ // check for files
+ FileSystem fs = FileSystem.get(new Configuration());
+ String id = c.tableOperations().tableIdMap().get(table3);
+ FileStatus[] status = fs.listStatus(new Path(rootPath() + "/accumulo/tables/" + id));
+ assertTrue(status.length > 0);
+ // verify disk usage
+ List<DiskUsage> diskUsage = c.tableOperations().getDiskUsage(Collections.singleton(table3));
+ assertEquals(1, diskUsage.size());
+ assertTrue(diskUsage.get(0).getUsage() > 100);
+ // delete the table
+ c.tableOperations().delete(table3);
+ // verify its gone from the file system
+ status = fs.listStatus(new Path(rootPath() + "/accumulo/tables/" + id));
+ assertTrue(status == null || status.length == 0);
+
c.tableOperations().create(table1);
BatchWriter bw = writeData(table1, c);