Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,14 @@
*/
package org.apache.accumulo.core.fate;

import java.util.Set;

import org.apache.accumulo.core.clientImpl.Namespace;
import org.apache.accumulo.core.data.TableId;
import org.apache.accumulo.core.manager.thrift.TFateInstanceType;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.FateTable;

public enum FateInstanceType {
META, USER;

private static final Set<TableId> META_TABLES =
Set.of(AccumuloTable.ROOT.tableId(), AccumuloTable.METADATA.tableId(), FateTable.ID);

public static FateInstanceType fromNamespaceOrTableName(String tableOrNamespaceName) {
return tableOrNamespaceName.startsWith(Namespace.ACCUMULO.name()) ? FateInstanceType.META
: FateInstanceType.USER;
Expand Down Expand Up @@ -60,6 +54,6 @@ public static FateInstanceType fromThrift(TFateInstanceType tfit) {
}

public static FateInstanceType fromTableId(TableId tableId) {
return META_TABLES.contains(tableId) ? META : USER;
return AccumuloTable.allTableIds().contains(tableId) ? META : USER;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
import org.apache.accumulo.core.fate.accumulo.schema.FateSchema.RepoColumnFamily;
import org.apache.accumulo.core.fate.accumulo.schema.FateSchema.TxColumnFamily;
import org.apache.accumulo.core.fate.accumulo.schema.FateSchema.TxInfoColumnFamily;
import org.apache.accumulo.core.metadata.FateTable;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.util.ColumnFQ;
import org.apache.accumulo.core.util.FastFormat;
Expand All @@ -63,7 +63,7 @@ public AccumuloStore(ClientContext context, String tableName) {
}

public AccumuloStore(ClientContext context) {
this(context, FateTable.NAME);
this(context, AccumuloTable.FATE.tableName());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
*/
package org.apache.accumulo.core.metadata;

import java.util.Arrays;
import java.util.Set;
import java.util.stream.Collectors;

import org.apache.accumulo.core.clientImpl.Namespace;
import org.apache.accumulo.core.data.TableId;

Expand All @@ -26,7 +30,7 @@
*/
public enum AccumuloTable {

ROOT("root", "+r"), METADATA("metadata", "!0");
ROOT("root", "+r"), METADATA("metadata", "!0"), FATE("fate", "+fate");

private final String name;
private final TableId tableId;
Expand All @@ -43,4 +47,11 @@ public TableId tableId() {
this.name = Namespace.ACCUMULO.name() + "." + name;
this.tableId = TableId.of(id);
}

private static final Set<TableId> ALL_IDS =
Arrays.stream(values()).map(AccumuloTable::tableId).collect(Collectors.toUnmodifiableSet());

public static Set<TableId> allTableIds() {
return ALL_IDS;
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
import org.apache.accumulo.core.file.FileOperations;
import org.apache.accumulo.core.file.FileSKVWriter;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.FateTable;
import org.apache.accumulo.core.metadata.ReferencedTabletFile;
import org.apache.accumulo.core.metadata.StoredTabletFile;
import org.apache.accumulo.core.metadata.schema.DataFileValue;
Expand Down Expand Up @@ -106,13 +105,13 @@ void initialize(VolumeManager fs, String rootTabletDirUri, String rootTabletFile
String tableMetadataTabletDirUri =
fs.choose(chooserEnv, context.getBaseUris()) + Constants.HDFS_TABLES_DIR + Path.SEPARATOR
+ AccumuloTable.METADATA.tableId() + Path.SEPARATOR + tableMetadataTabletDirName;
chooserEnv = new VolumeChooserEnvironmentImpl(VolumeChooserEnvironment.Scope.INIT, FateTable.ID,
null, context);
chooserEnv = new VolumeChooserEnvironmentImpl(VolumeChooserEnvironment.Scope.INIT,
AccumuloTable.FATE.tableId(), null, context);
String fateTableDefaultTabletDirName =
MetadataSchema.TabletsSection.ServerColumnFamily.DEFAULT_TABLET_DIR_NAME;
String fateTableDefaultTabletDirUri =
fs.choose(chooserEnv, context.getBaseUris()) + Constants.HDFS_TABLES_DIR + Path.SEPARATOR
+ FateTable.ID + Path.SEPARATOR + fateTableDefaultTabletDirName;
+ AccumuloTable.FATE.tableId() + Path.SEPARATOR + fateTableDefaultTabletDirName;
chooserEnv = new VolumeChooserEnvironmentImpl(VolumeChooserEnvironment.Scope.INIT,
AccumuloTable.METADATA.tableId(), null, context);
String defaultMetadataTabletDirName =
Expand All @@ -129,7 +128,8 @@ void initialize(VolumeManager fs, String rootTabletDirUri, String rootTabletFile

// populate the metadata tablet with info about the fate tablet
String metadataFileName = tableMetadataTabletDirUri + Path.SEPARATOR + "0_1." + ext;
Tablet fateTablet = new Tablet(FateTable.ID, fateTableDefaultTabletDirName, null, null);
Tablet fateTablet =
new Tablet(AccumuloTable.FATE.tableId(), fateTableDefaultTabletDirName, null, null);
createMetadataFile(fs, metadataFileName, siteConfig, fateTablet);

// populate the root tablet with info about the metadata table's two initial tablets
Expand Down Expand Up @@ -165,7 +165,7 @@ private void initSystemTablesConfig(final ServerContext context)
setTableProperties(context, AccumuloTable.ROOT.tableId(), initConfig.getRootMetaConf());
setTableProperties(context, AccumuloTable.METADATA.tableId(), initConfig.getRootMetaConf());
setTableProperties(context, AccumuloTable.METADATA.tableId(), initConfig.getMetaTableConf());
setTableProperties(context, FateTable.ID, initConfig.getFateTableConf());
setTableProperties(context, AccumuloTable.FATE.tableId(), initConfig.getFateTableConf());
}

private void setTableProperties(final ServerContext context, TableId tableId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import org.apache.accumulo.core.manager.state.tables.TableState;
import org.apache.accumulo.core.manager.thrift.ManagerGoalState;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.FateTable;
import org.apache.accumulo.core.metadata.RootTable;
import org.apache.accumulo.core.metadata.StoredTabletFile;
import org.apache.accumulo.core.metadata.schema.DataFileValue;
Expand Down Expand Up @@ -127,8 +126,9 @@ void initialize(final ServerContext context, final boolean clearInstanceName,
TableManager.prepareNewTableState(context, AccumuloTable.METADATA.tableId(),
Namespace.ACCUMULO.id(), AccumuloTable.METADATA.tableName(), TableState.ONLINE,
ZooUtil.NodeExistsPolicy.FAIL);
TableManager.prepareNewTableState(context, FateTable.ID, Namespace.ACCUMULO.id(),
FateTable.NAME, TableState.ONLINE, ZooUtil.NodeExistsPolicy.FAIL);
TableManager.prepareNewTableState(context, AccumuloTable.FATE.tableId(),
Namespace.ACCUMULO.id(), AccumuloTable.FATE.tableName(), TableState.ONLINE,
ZooUtil.NodeExistsPolicy.FAIL);
zoo.putPersistentData(zkInstanceRoot + Constants.ZTSERVERS, EMPTY_BYTE_ARRAY,
ZooUtil.NodeExistsPolicy.FAIL);
zoo.putPersistentData(zkInstanceRoot + Constants.ZPROBLEMS, EMPTY_BYTE_ARRAY,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@
import org.apache.accumulo.core.manager.thrift.TableInfo;
import org.apache.accumulo.core.manager.thrift.TabletServerStatus;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.FateTable;
import org.apache.accumulo.core.metadata.TServerInstance;
import org.apache.accumulo.core.metadata.schema.Ample.DataLevel;
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.TabletColumnFamily;
Expand Down Expand Up @@ -1079,7 +1078,7 @@ boolean canSuspendTablets() {
var metaInstance = initializeFateInstance(context, FateInstanceType.META,
new ZooStore<>(getZooKeeperRoot() + Constants.ZFATE, context.getZooReaderWriter()));
var userInstance = initializeFateInstance(context, FateInstanceType.USER,
new AccumuloStore<>(context, FateTable.NAME));
new AccumuloStore<>(context, AccumuloTable.FATE.tableName()));

if (!fateRefs.compareAndSet(null,
Map.of(FateInstanceType.META, metaInstance, FateInstanceType.USER, userInstance))) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@
import org.apache.accumulo.core.manager.state.tables.TableState;
import org.apache.accumulo.core.manager.thrift.ManagerState;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.FateTable;
import org.apache.accumulo.core.metadata.StoredTabletFile;
import org.apache.accumulo.core.metadata.TServerInstance;
import org.apache.accumulo.core.metadata.schema.Ample;
Expand Down Expand Up @@ -416,7 +415,8 @@ private void copyTable(AccumuloClient client, String source, String copy)
// metadata should be stable with only 9 rows (2 for each table) + 1 for the FateTable
log.debug("Gathered {} rows to create copy {}", mutations.size(), copy);
assertEquals(9, mutations.size(),
"Metadata should have 8 rows (2 for each table) + one row for " + FateTable.ID.canonical());
"Metadata should have 8 rows (2 for each table) + one row for "
+ AccumuloTable.FATE.tableId().canonical());
client.tableOperations().create(copy);

try (BatchWriter writer = client.createBatchWriter(copy)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.dataImpl.KeyExtent;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.FateTable;
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection;
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.LogColumnFamily;
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.TabletColumnFamily;
Expand Down Expand Up @@ -123,7 +122,7 @@ public void test() throws Exception {

// flush the tables
for (String table : new String[] {tableName, AccumuloTable.METADATA.tableName(),
AccumuloTable.ROOT.tableName(), FateTable.NAME}) {
AccumuloTable.ROOT.tableName(), AccumuloTable.FATE.tableName()}) {
c.tableOperations().flush(table, null, null, true);
}
Thread.sleep(SECONDS.toMillis(1));
Expand Down Expand Up @@ -155,7 +154,8 @@ public void test() throws Exception {
markers.keySet().stream().anyMatch(extent -> extent.tableId().canonical().equals("1")),
"tableId of the keyExtent should be 1");
assertTrue(
markers.keySet().stream().anyMatch(extent -> extent.tableId().equals(FateTable.ID)),
markers.keySet().stream()
.anyMatch(extent -> extent.tableId().equals(AccumuloTable.FATE.tableId())),
"tableId of the FateTable can't be found");

// put some data in the WAL
Expand Down