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 @@ -90,9 +90,9 @@
import org.apache.accumulo.core.lock.ServiceLockPaths.AddressSelector;
import org.apache.accumulo.core.lock.ServiceLockPaths.ServiceLockPath;
import org.apache.accumulo.core.manager.state.tables.TableState;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.MetadataCachedTabletObtainer;
import org.apache.accumulo.core.metadata.RootTable;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.metadata.schema.Ample;
import org.apache.accumulo.core.metadata.schema.Ample.DataLevel;
import org.apache.accumulo.core.metadata.schema.AmpleImpl;
Expand Down Expand Up @@ -1105,16 +1105,16 @@ public ClientTabletCache getTabletLocationCache(TableId tableId) {
return tabletLocationCache.get(DataLevel.of(tableId)).computeIfAbsent(tableId,
(TableId key) -> {
var lockChecker = getTServerLockChecker();
if (AccumuloTable.ROOT.tableId().equals(tableId)) {
if (SystemTables.ROOT.tableId().equals(tableId)) {
return new RootClientTabletCache(lockChecker);
}
var mlo = new MetadataCachedTabletObtainer();
if (AccumuloTable.METADATA.tableId().equals(tableId)) {
return new ClientTabletCacheImpl(AccumuloTable.METADATA.tableId(),
getTabletLocationCache(AccumuloTable.ROOT.tableId()), mlo, lockChecker);
if (SystemTables.METADATA.tableId().equals(tableId)) {
return new ClientTabletCacheImpl(SystemTables.METADATA.tableId(),
getTabletLocationCache(SystemTables.ROOT.tableId()), mlo, lockChecker);
} else {
return new ClientTabletCacheImpl(tableId,
getTabletLocationCache(AccumuloTable.METADATA.tableId()), mlo, lockChecker);
getTabletLocationCache(SystemTables.METADATA.tableId()), mlo, lockChecker);
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
import org.apache.accumulo.core.dataImpl.KeyExtent;
import org.apache.accumulo.core.dataImpl.thrift.TKeyExtent;
import org.apache.accumulo.core.manager.state.tables.TableState;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.rpc.clients.ThriftClientTypes;
import org.apache.accumulo.core.trace.TraceUtil;
import org.apache.accumulo.core.util.LockMap;
Expand Down Expand Up @@ -632,7 +632,7 @@ private void requestTabletHosting(ClientContext context,
}

// System tables should always be hosted
if (AccumuloTable.allTableIds().contains(tableId)) {
if (SystemTables.containsTableId(tableId)) {
return;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@
import org.apache.accumulo.core.manager.thrift.TFateId;
import org.apache.accumulo.core.manager.thrift.TFateInstanceType;
import org.apache.accumulo.core.manager.thrift.TFateOperation;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.metadata.TServerInstance;
import org.apache.accumulo.core.metadata.TabletState;
import org.apache.accumulo.core.metadata.schema.TabletDeletedException;
Expand Down Expand Up @@ -223,8 +223,8 @@ public SortedSet<String> list() {
public boolean exists(String tableName) {
EXISTING_TABLE_NAME.validate(tableName);

if (tableName.equals(AccumuloTable.METADATA.tableName())
|| tableName.equals(AccumuloTable.ROOT.tableName())) {
if (tableName.equals(SystemTables.METADATA.tableName())
|| tableName.equals(SystemTables.ROOT.tableName())) {
return true;
}

Expand Down Expand Up @@ -1511,15 +1511,15 @@ private void changeTableState(String tableName, boolean wait, TableState newStat
switch (newState) {
case OFFLINE:
op = TFateOperation.TABLE_OFFLINE;
if (tableName.equals(AccumuloTable.METADATA.tableName())
|| tableName.equals(AccumuloTable.ROOT.tableName())) {
if (tableName.equals(SystemTables.METADATA.tableName())
|| tableName.equals(SystemTables.ROOT.tableName())) {
throw new AccumuloException("Cannot set table to offline state");
}
break;
case ONLINE:
op = TFateOperation.TABLE_ONLINE;
if (tableName.equals(AccumuloTable.METADATA.tableName())
|| tableName.equals(AccumuloTable.ROOT.tableName())) {
if (tableName.equals(SystemTables.METADATA.tableName())
|| tableName.equals(SystemTables.ROOT.tableName())) {
// Don't submit a Fate operation for this, these tables can only be online.
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
import org.apache.accumulo.core.file.rfile.RFile;
import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
import org.apache.accumulo.core.iteratorsImpl.system.DeletingIterator;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.spi.compaction.RatioBasedCompactionPlanner;
import org.apache.accumulo.core.spi.compaction.SimpleCompactionDispatcher;
import org.apache.accumulo.core.spi.fs.RandomVolumeChooser;
Expand Down Expand Up @@ -479,7 +479,7 @@ public enum Property {
+ "indicates an unlimited number of threads will be used.",
"1.8.0"),
MANAGER_METADATA_SUSPENDABLE("manager.metadata.suspendable", "false", PropertyType.BOOLEAN,
"Allow tablets for the " + AccumuloTable.METADATA.tableName()
"Allow tablets for the " + SystemTables.METADATA.tableName()
+ " table to be suspended via table.suspend.duration.",
"1.8.0"),
MANAGER_STARTUP_TSERVER_AVAIL_MIN_COUNT("manager.startup.tserver.avail.min.count", "0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
import org.apache.accumulo.core.data.TabletId;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.dataImpl.thrift.TKeyExtent;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection;
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.TabletColumnFamily;
import org.apache.accumulo.core.util.ByteBufferUtil;
Expand Down Expand Up @@ -540,15 +540,15 @@ public boolean isPreviousExtent(KeyExtent prevExtent) {
}

public boolean isSystemTable() {
return AccumuloTable.allTableIds().contains(tableId());
return SystemTables.containsTableId(tableId());
}

public boolean isMeta() {
return tableId().equals(AccumuloTable.METADATA.tableId()) || isRootTablet();
return tableId().equals(SystemTables.METADATA.tableId()) || isRootTablet();
}

public boolean isRootTablet() {
return tableId().equals(AccumuloTable.ROOT.tableId());
return tableId().equals(SystemTables.ROOT.tableId());
}

public String obscured() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
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.SystemTables;

public enum FateInstanceType {
META, USER;
Expand Down Expand Up @@ -54,6 +54,6 @@ public static FateInstanceType fromThrift(TFateInstanceType tfit) {
}

public static FateInstanceType fromTableId(TableId tableId) {
return AccumuloTable.allTableIds().contains(tableId) ? META : USER;
return SystemTables.containsTableId(tableId) ? META : USER;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ public class RootTable {
*/
public static final String ZROOT_TABLET_GC_CANDIDATES = ZROOT_TABLET + "/gc_candidates";

public static final KeyExtent EXTENT = new KeyExtent(AccumuloTable.ROOT.tableId(), null, null);
public static final KeyExtent OLD_EXTENT = new KeyExtent(AccumuloTable.METADATA.tableId(),
TabletsSection.encodeRow(AccumuloTable.METADATA.tableId(), null), null);
public static final KeyExtent EXTENT = new KeyExtent(SystemTables.ROOT.tableId(), null, null);
public static final KeyExtent OLD_EXTENT = new KeyExtent(SystemTables.METADATA.tableId(),
TabletsSection.encodeRow(SystemTables.METADATA.tableId(), null), null);

}
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,18 @@
package org.apache.accumulo.core.metadata;

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

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

/**
* Defines the name and id of all tables in the accumulo table namespace.
*/
public enum AccumuloTable {
public enum SystemTables {

ROOT("root", "+r"),
METADATA("metadata", "!0"),
Expand All @@ -46,15 +48,46 @@ public TableId tableId() {
return tableId;
}

AccumuloTable(String name, String id) {
SystemTables(String name, String id) {
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());
Arrays.stream(values()).map(SystemTables::tableId).collect(Collectors.toUnmodifiableSet());

public static Set<TableId> allTableIds() {
private static final Set<String> ALL_NAMES =
Arrays.stream(values()).map(SystemTables::tableName).collect(Collectors.toUnmodifiableSet());

private static final Map<String,String> TABLE_ID_TO_NAME =
Arrays.stream(values()).collect(Collectors.toUnmodifiableMap(
sysTable -> sysTable.tableId().canonical(), sysTable -> sysTable.name));

public static NamespaceId namespaceId() {
return Namespace.ACCUMULO.id();
}

public static String namespaceName() {
return Namespace.ACCUMULO.name();
}

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

public static Set<String> tableNames() {
return ALL_NAMES;
}

public static boolean containsTableId(TableId tableId) {
return ALL_IDS.contains(tableId);
}

public static boolean containsTableName(String tableName) {
return ALL_NAMES.contains(tableName);
}

public static Map<String,String> tableIdToNameMap() {
return TABLE_ID_TO_NAME;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@
import org.apache.accumulo.core.fate.FateId;
import org.apache.accumulo.core.gc.GcCandidate;
import org.apache.accumulo.core.gc.ReferenceFile;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.ReferencedTabletFile;
import org.apache.accumulo.core.metadata.ScanServerRefStore;
import org.apache.accumulo.core.metadata.StoredTabletFile;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.metadata.TServerInstance;
import org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType;
import org.apache.accumulo.core.metadata.schema.TabletMetadata.Location;
Expand Down Expand Up @@ -81,8 +81,8 @@ public interface Ample {
*/
public enum DataLevel {
ROOT(null, null),
METADATA(AccumuloTable.ROOT.tableName(), AccumuloTable.ROOT.tableId()),
USER(AccumuloTable.METADATA.tableName(), AccumuloTable.METADATA.tableId());
METADATA(SystemTables.ROOT.tableName(), SystemTables.ROOT.tableId()),
USER(SystemTables.METADATA.tableName(), SystemTables.METADATA.tableId());

private final String table;
private final TableId id;
Expand Down Expand Up @@ -113,9 +113,9 @@ public TableId metaTableId() {
}

public static DataLevel of(TableId tableId) {
if (tableId.equals(AccumuloTable.ROOT.tableId())) {
if (tableId.equals(SystemTables.ROOT.tableId())) {
return DataLevel.ROOT;
} else if (tableId.equals(AccumuloTable.METADATA.tableId())) {
} else if (tableId.equals(SystemTables.METADATA.tableId())) {
return DataLevel.METADATA;
} else {
return DataLevel.USER;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@
import org.apache.accumulo.core.lock.ServiceLockData;
import org.apache.accumulo.core.lock.ServiceLockPaths.AddressSelector;
import org.apache.accumulo.core.lock.ServiceLockPaths.ServiceLockPath;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.StoredTabletFile;
import org.apache.accumulo.core.metadata.SuspendingTServer;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.metadata.TServerInstance;
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.BulkFileColumnFamily;
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.ClonedColumnFamily;
Expand Down Expand Up @@ -585,7 +585,7 @@ public Set<FateId> getUserCompactionsRequested() {
}

public TabletAvailability getTabletAvailability() {
if (AccumuloTable.allTableIds().contains(getTableId())) {
if (SystemTables.containsTableId(getTableId())) {
// Override the availability for the system tables
return TabletAvailability.HOSTED;
}
Expand Down Expand Up @@ -781,8 +781,8 @@ public static <E extends Entry<Key,Value>> TabletMetadata convertRow(Iterator<E>
}
}

if (AccumuloTable.ROOT.tableId().equals(tmBuilder.tableId)
|| AccumuloTable.METADATA.tableId().equals(tmBuilder.tableId)) {
if (SystemTables.ROOT.tableId().equals(tmBuilder.tableId)
|| SystemTables.METADATA.tableId().equals(tmBuilder.tableId)) {
// Override the availability for the system tables
tmBuilder.availability(TabletAvailability.HOSTED);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
import org.apache.accumulo.core.data.TableId;
import org.apache.accumulo.core.dataImpl.KeyExtent;
import org.apache.accumulo.core.iterators.user.WholeRowIterator;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.metadata.schema.Ample.DataLevel;
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection;
import org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType;
Expand Down Expand Up @@ -476,7 +476,7 @@ Options forTablets(Collection<KeyExtent> extents,
* {@link TabletsSection#getRange()}
*/
default RangeOptions scanMetadataTable() {
return scanTable(AccumuloTable.METADATA.tableName());
return scanTable(SystemTables.METADATA.tableName());
}

/**
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/org/apache/accumulo/core/util/Merge.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.TableId;
import org.apache.accumulo.core.dataImpl.KeyExtent;
import org.apache.accumulo.core.metadata.AccumuloTable;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.metadata.schema.TabletsMetadata;
import org.apache.accumulo.core.trace.TraceUtil;
import org.apache.hadoop.io.Text;
Expand Down Expand Up @@ -143,7 +143,7 @@ public Size(KeyExtent extent, long size) {
public void mergomatic(AccumuloClient client, String table, Text start, Text end, long goalSize,
boolean force) throws MergeException {
try {
if (table.equals(AccumuloTable.METADATA.tableName())) {
if (table.equals(SystemTables.METADATA.tableName())) {
throw new IllegalArgumentException("cannot merge tablets on the metadata table");
}
List<Size> sizes = new ArrayList<>();
Expand Down
Loading