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 2012/09/11 19:28:52 UTC
svn commit: r1383486 - in /accumulo/branches/ACCUMULO-722/1.5: ./
core/src/main/java/org/apache/accumulo/core/
core/src/main/java/org/apache/accumulo/core/data/
server/src/main/java/org/apache/accumulo/server/constraints/
server/src/main/java/org/apach...
Author: ecn
Date: Tue Sep 11 17:28:51 2012
New Revision: 1383486
URL: http://svn.apache.org/viewvc?rev=1383486&view=rev
Log:
ACCUMULO-722: make all the special tables start with an exclaimation mark
Modified:
accumulo/branches/ACCUMULO-722/1.5/core/src/main/java/org/apache/accumulo/core/Constants.java
accumulo/branches/ACCUMULO-722/1.5/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java
accumulo/branches/ACCUMULO-722/1.5/pom.xml
accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java
accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/master/Master.java
accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/security/ZKAuthenticator.java
accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/util/Initialize.java
accumulo/branches/ACCUMULO-722/1.5/server/src/test/java/org/apache/accumulo/server/constraints/MetadataConstraintsTest.java
Modified: accumulo/branches/ACCUMULO-722/1.5/core/src/main/java/org/apache/accumulo/core/Constants.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-722/1.5/core/src/main/java/org/apache/accumulo/core/Constants.java?rev=1383486&r1=1383485&r2=1383486&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-722/1.5/core/src/main/java/org/apache/accumulo/core/Constants.java (original)
+++ accumulo/branches/ACCUMULO-722/1.5/core/src/main/java/org/apache/accumulo/core/Constants.java Tue Sep 11 17:28:51 2012
@@ -37,7 +37,7 @@ public class Constants {
public static final String ZINSTANCES = "/instances";
public static final String ZTABLES = "/tables";
- public static final byte[] ZTABLES_INITIAL_ID = new byte[] {'3'};
+ public static final byte[] ZTABLES_INITIAL_ID = new byte[] {'0'};
public static final String ZTABLE_NAME = "/name";
public static final String ZTABLE_CONF = "/conf";
public static final String ZTABLE_STATE = "/state";
Modified: accumulo/branches/ACCUMULO-722/1.5/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-722/1.5/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java?rev=1383486&r1=1383485&r2=1383486&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-722/1.5/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java (original)
+++ accumulo/branches/ACCUMULO-722/1.5/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java Tue Sep 11 17:28:51 2012
@@ -53,7 +53,7 @@ public class KeyExtent implements Writab
private static WeakHashMap<Text,WeakReference<Text>> tableIds = new WeakHashMap<Text,WeakReference<Text>>();
static private final Set<Text> METASET = new HashSet<Text>();
static {
- for (String id : "!0,0,1,2".split(","))
+ for (String id : "!0,!1,!2,!3".split(","))
METASET.add(new Text(id));
}
Modified: accumulo/branches/ACCUMULO-722/1.5/pom.xml
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-722/1.5/pom.xml?rev=1383486&r1=1383485&r2=1383486&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-722/1.5/pom.xml (original)
+++ accumulo/branches/ACCUMULO-722/1.5/pom.xml Tue Sep 11 17:28:51 2012
@@ -496,7 +496,7 @@
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
- <version>[5.1,)</version>
+ <version>[5.1,7.0)</version>
<scope>provided</scope>
</dependency>
Modified: accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java?rev=1383486&r1=1383485&r2=1383486&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java (original)
+++ accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/constraints/MetadataConstraints.java Tue Sep 11 17:28:51 2012
@@ -119,9 +119,8 @@ public class MetadataConstraints impleme
violations.add((short) 4);
}
}
-
if (row.length > 0 && row[0] == '!') {
- if (row.length < 3 || row[1] != '0' || (row[2] != '<' && row[2] != ';')) {
+ if (row.length < 3 || row[1] < '0' || row[1] > '3' || (row[2] != '<' && row[2] != ';')) {
if (violations == null)
violations = new ArrayList<Short>();
if (!violations.contains((short) 4))
Modified: accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/master/Master.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/master/Master.java?rev=1383486&r1=1383485&r2=1383486&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/master/Master.java (original)
+++ accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/master/Master.java Tue Sep 11 17:28:51 2012
@@ -391,7 +391,11 @@ public class Master implements LiveTServ
}
private int nonMetaDataTabletsAssignedOrHosted() {
- return totalAssignedOrHosted() - assignedOrHosted(new Text(Constants.METADATA_TABLE_ID));
+ int metaTablets = assignedOrHosted(new Text(Constants.METADATA_TABLE_ID));
+ metaTablets += assignedOrHosted(new Text("!1"));
+ metaTablets += assignedOrHosted(new Text("!2"));
+ metaTablets += assignedOrHosted(new Text("!3"));
+ return totalAssignedOrHosted() - metaTablets;
}
private int notHosted() {
@@ -424,7 +428,7 @@ public class Master implements LiveTServ
}
break;
case SAFE_MODE:
- // Count offline tablets for the METADATA table
+ // Count offline tablets for the METADATA tables
for (TabletGroupWatcher watcher : watchers) {
result += watcher.getStats(meta).unassigned();
}
Modified: accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/security/ZKAuthenticator.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/security/ZKAuthenticator.java?rev=1383486&r1=1383485&r2=1383486&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/security/ZKAuthenticator.java (original)
+++ accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/security/ZKAuthenticator.java Tue Sep 11 17:28:51 2012
@@ -132,7 +132,7 @@ public final class ZKAuthenticator imple
Map<String,Set<TablePermission>> tablePerms = new HashMap<String,Set<TablePermission>>();
// Allow the root user to flush the !METADATA table
tablePerms.put(Constants.METADATA_TABLE_ID, Collections.singleton(TablePermission.ALTER_TABLE));
- for (String other : "0,1,2".split(",")) {
+ for (String other : "!1,!2,!3".split(",")) {
tablePerms.put(other, new HashSet<TablePermission>(Arrays.asList(TablePermission.ALTER_TABLE,TablePermission.READ, TablePermission.WRITE)));
}
constructUser(rootuser, Tool.createPass(rootpass), rootPerms, tablePerms, Constants.NO_AUTHS);
Modified: accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/util/Initialize.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/util/Initialize.java?rev=1383486&r1=1383485&r2=1383486&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/util/Initialize.java (original)
+++ accumulo/branches/ACCUMULO-722/1.5/server/src/main/java/org/apache/accumulo/server/util/Initialize.java Tue Sep 11 17:28:51 2012
@@ -317,7 +317,7 @@ public class Initialize {
mfw = FileOperations.getInstance().openWriter(defaultTabletFile, fs, conf, AccumuloConfiguration.getDefaultConfiguration());
mfw.startDefaultLocalityGroup();
Map<Key, Value> defaultData = new TreeMap<Key, Value>();
- String ids[] = "0,1,2".split(",");
+ String ids[] = "!1,!2,!3".split(",");
long now = System.currentTimeMillis();
for (int i = 0; i < ids.length; i++) {
Text extent = new Text(KeyExtent.getMetadataEntry(new Text(ids[i]), null));
@@ -330,7 +330,7 @@ public class Initialize {
fs.mkdirs(new Path(ServerConstants.getTablesDir() + "/" + ids[i] + Constants.DEFAULT_TABLET_LOCATION));
}
// Add the file entry for the namespace root entry
- Text extent = new Text(KeyExtent.getMetadataEntry(new Text("0"), null));
+ Text extent = new Text(KeyExtent.getMetadataEntry(new Text("!1"), null));
String rootNSFile = Constants.DEFAULT_TABLET_LOCATION + "/00000_00002." + suffix;
defaultData.put(new Key(extent, Constants.METADATA_DATAFILE_COLUMN_FAMILY, new Text(rootNSFile), 0), new Value("1,0".getBytes()));
for (Entry<Key,Value> entry : defaultData.entrySet()) {
@@ -339,12 +339,12 @@ public class Initialize {
mfw.close();
// write out the namespace data for / in the DistributedNameNode
- String rootNSDataFile = ServerConstants.getTablesDir() + "/0" + rootNSFile;
+ String rootNSDataFile = ServerConstants.getTablesDir() + "/!1" + rootNSFile;
mfw = FileOperations.getInstance().openWriter(rootNSDataFile, fs, conf, AccumuloConfiguration.getDefaultConfiguration());
mfw.startDefaultLocalityGroup();
Text infoFam = new Text("info");
- mfw.append(new Key(new Text("/"), infoFam, new Text("create_time"), now), new Value(Long.toString(now).getBytes()));
mfw.append(new Key(new Text("/"), infoFam, new Text("isDir"), now), new Value("Y".getBytes()));
+ mfw.append(new Key(new Text("/"), infoFam, new Text("mtime"), now), new Value(Long.toString(now).getBytes()));
mfw.close();
}
@@ -411,10 +411,10 @@ public class Initialize {
ZooReaderWriter.getInstance().putPersistentData(zkInstanceRoot, new byte[0], NodeExistsPolicy.FAIL);
ZooReaderWriter.getInstance().putPersistentData(zkInstanceRoot + Constants.ZTABLES, Constants.ZTABLES_INITIAL_ID, NodeExistsPolicy.FAIL);
TableManager.prepareNewTableState(uuid, Constants.METADATA_TABLE_ID, Constants.METADATA_TABLE_NAME, TableState.ONLINE, NodeExistsPolicy.FAIL);
- TableManager.prepareNewTableState(uuid, "0", "namespace", TableState.ONLINE, NodeExistsPolicy.FAIL);
- TableManager.prepareNewTableState(uuid, "1", "blocks", TableState.ONLINE, NodeExistsPolicy.FAIL);
- TableManager.prepareNewTableState(uuid, "2", "datanodes", TableState.ONLINE, NodeExistsPolicy.FAIL);
- for (String tableId :"0,1,2".split(",")) {
+ TableManager.prepareNewTableState(uuid, "!1", "namespace", TableState.ONLINE, NodeExistsPolicy.FAIL);
+ TableManager.prepareNewTableState(uuid, "!2", "blocks", TableState.ONLINE, NodeExistsPolicy.FAIL);
+ TableManager.prepareNewTableState(uuid, "!3", "datanodes", TableState.ONLINE, NodeExistsPolicy.FAIL);
+ for (String tableId :"!1,!2,!3".split(",")) {
String configPath = zkInstanceRoot + Constants.ZTABLES + "/" + tableId + Constants.ZTABLE_CONF + "/";
ZooReaderWriter.getInstance().putPersistentData(configPath + Property.TABLE_MAJC_RATIO.getKey(), "1".getBytes(), NodeExistsPolicy.FAIL);
ZooReaderWriter.getInstance().putPersistentData(configPath + Property.TABLE_BLOCKCACHE_ENABLED, "true".getBytes(), NodeExistsPolicy.FAIL);
Modified: accumulo/branches/ACCUMULO-722/1.5/server/src/test/java/org/apache/accumulo/server/constraints/MetadataConstraintsTest.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-722/1.5/server/src/test/java/org/apache/accumulo/server/constraints/MetadataConstraintsTest.java?rev=1383486&r1=1383485&r2=1383486&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-722/1.5/server/src/test/java/org/apache/accumulo/server/constraints/MetadataConstraintsTest.java (original)
+++ accumulo/branches/ACCUMULO-722/1.5/server/src/test/java/org/apache/accumulo/server/constraints/MetadataConstraintsTest.java Tue Sep 11 17:28:51 2012
@@ -102,6 +102,13 @@ public class MetadataConstraintsTest {
violations = mc.check(null, m);
+ assertEquals(null, violations);
+
+ m = new Mutation(new Text("!7<"));
+ Constants.METADATA_PREV_ROW_COLUMN.put(m, new Value("bar".getBytes()));
+
+ violations = mc.check(null, m);
+
assertNotNull(violations);
assertEquals(1, violations.size());
assertEquals(Short.valueOf((short) 4), violations.get(0));