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

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -1034,10 +1034,6 @@ message RepeatedKeyInfo {
repeated KeyInfo keyInfo = 1;
}

message KeyRenameInfo {
repeated string keyNames = 1;
}

message OzoneFileStatusProto {
optional KeyInfo keyInfo = 2;
optional uint64 blockSize = 3;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
import org.apache.hadoop.ozone.om.helpers.OmDBTenantState;
import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyRenameInfo;
import org.apache.hadoop.ozone.om.helpers.SnapshotInfo;
import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.lock.IOzoneManagerLock;
Expand Down Expand Up @@ -383,7 +382,7 @@ String getMultipartKey(String volume, String bucket, String key, String

Table<String, SnapshotInfo> getSnapshotInfoTable();

Table<String, OmKeyRenameInfo> getRenamedKeyTable();
Table<String, String> getSnapshotRenamedKeyTable();

/**
* Gets the OM Meta table.
Expand Down Expand Up @@ -496,7 +495,7 @@ String getOpenFileName(long volumeId, long bucketId,

/**
* Given a volume, bucket and a objectID, return the DB key name in
* renamedKeyTable.
* snapshotRenamedKeyTable.
*
* @param volume - volume name
* @param bucket - bucket name
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@
import org.apache.hadoop.ozone.om.codec.OmDBTenantStateCodec;
import org.apache.hadoop.ozone.om.codec.OmVolumeArgsCodec;
import org.apache.hadoop.ozone.om.codec.RepeatedOmKeyInfoCodec;
import org.apache.hadoop.ozone.om.codec.OmKeyRenameInfoCodec;
import org.apache.hadoop.ozone.om.codec.S3SecretValueCodec;
import org.apache.hadoop.ozone.om.codec.OmDBSnapshotInfoCodec;
import org.apache.hadoop.ozone.om.codec.TokenIdentifierCodec;
Expand All @@ -85,7 +84,6 @@
import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyRenameInfo;
import org.apache.hadoop.ozone.om.helpers.S3SecretValue;
import org.apache.hadoop.ozone.om.helpers.SnapshotInfo;
import org.apache.hadoop.ozone.om.helpers.BucketLayout;
Expand Down Expand Up @@ -191,13 +189,13 @@ public class OmMetadataManagerImpl implements OMMetadataManager,
* |----------------------------------------------------------------------|
*
* Snapshot Tables:
* |----------------------------------------------------------------------|
* | Column Family | VALUE |
* |----------------------------------------------------------------------|
* | snapshotInfoTable | /volume/bucket/snapshotName -> SnapshotInfo |
* |----------------------------------------------------------------------|
* | renamedKeyTable | /volumeName/bucketName/objectID -> OmKeyRenameInfo|
* |----------------------------------------------------------------------|
* |-------------------------------------------------------------------------|
* | Column Family | VALUE |
* |-------------------------------------------------------------------------|
* | snapshotInfoTable | /volume/bucket/snapshotName -> SnapshotInfo |
* |-------------------------------------------------------------------------|
* |snapshotRenamedKeyTable| /volumeName/bucketName/objectID -> /v/b/origKey |
* |-------------------------------------------------------------------------|
*/

public static final String USER_TABLE = "userTable";
Expand All @@ -224,7 +222,8 @@ public class OmMetadataManagerImpl implements OMMetadataManager,
"principalToAccessIdsTable";
public static final String TENANT_STATE_TABLE = "tenantStateTable";
public static final String SNAPSHOT_INFO_TABLE = "snapshotInfoTable";
public static final String RENAMED_KEY_TABLE = "renamedKeyTable";
public static final String SNAPSHOT_RENAMED_KEY_TABLE =
"snapshotRenamedKeyTable";

static final String[] ALL_TABLES = new String[] {
USER_TABLE,
Expand All @@ -247,7 +246,7 @@ public class OmMetadataManagerImpl implements OMMetadataManager,
PRINCIPAL_TO_ACCESS_IDS_TABLE,
TENANT_STATE_TABLE,
SNAPSHOT_INFO_TABLE,
RENAMED_KEY_TABLE
SNAPSHOT_RENAMED_KEY_TABLE
};

private DBStore store;
Expand Down Expand Up @@ -276,7 +275,7 @@ public class OmMetadataManagerImpl implements OMMetadataManager,
private Table tenantStateTable;

private Table snapshotInfoTable;
private Table renamedKeyTable;
private Table snapshotRenamedKeyTable;

private boolean isRatisEnabled;
private boolean ignorePipelineinKey;
Expand Down Expand Up @@ -529,7 +528,7 @@ public static DBStoreBuilder addOMTablesAndCodecs(DBStoreBuilder builder) {
.addTable(PRINCIPAL_TO_ACCESS_IDS_TABLE)
.addTable(TENANT_STATE_TABLE)
.addTable(SNAPSHOT_INFO_TABLE)
.addTable(RENAMED_KEY_TABLE)
.addTable(SNAPSHOT_RENAMED_KEY_TABLE)
.addCodec(OzoneTokenIdentifier.class, new TokenIdentifierCodec())
.addCodec(OmKeyInfo.class, new OmKeyInfoCodec(true))
.addCodec(RepeatedOmKeyInfo.class,
Expand All @@ -545,8 +544,7 @@ public static DBStoreBuilder addOMTablesAndCodecs(DBStoreBuilder builder) {
.addCodec(OmDBTenantState.class, new OmDBTenantStateCodec())
.addCodec(OmDBAccessIdInfo.class, new OmDBAccessIdInfoCodec())
.addCodec(OmDBUserPrincipalInfo.class, new OmDBUserPrincipalInfoCodec())
.addCodec(SnapshotInfo.class, new OmDBSnapshotInfoCodec())
.addCodec(OmKeyRenameInfo.class, new OmKeyRenameInfoCodec());
.addCodec(SnapshotInfo.class, new OmDBSnapshotInfoCodec());
}

/**
Expand Down Expand Up @@ -651,11 +649,12 @@ protected void initializeOmTables(boolean addCacheMetrics)
String.class, SnapshotInfo.class);
checkTableStatus(snapshotInfoTable, SNAPSHOT_INFO_TABLE, addCacheMetrics);

// objectID -> renamedKeys (renamed keys for key table)
renamedKeyTable = this.store.getTable(RENAMED_KEY_TABLE,
String.class, OmKeyRenameInfo.class);
checkTableStatus(renamedKeyTable, RENAMED_KEY_TABLE, addCacheMetrics);
// TODO: [SNAPSHOT] Initialize table lock for renamedKeyTable.
// volumeName/bucketName/objectID -> renamedKey (renamed key for key table)
snapshotRenamedKeyTable = this.store.getTable(SNAPSHOT_RENAMED_KEY_TABLE,
String.class, String.class);
checkTableStatus(snapshotRenamedKeyTable, SNAPSHOT_RENAMED_KEY_TABLE,
addCacheMetrics);
// TODO: [SNAPSHOT] Initialize table lock for snapshotRenamedKeyTable.
}

/**
Expand Down Expand Up @@ -1665,8 +1664,8 @@ public Table<String, SnapshotInfo> getSnapshotInfoTable() {
}

@Override
public Table<String, OmKeyRenameInfo> getRenamedKeyTable() {
return renamedKeyTable;
public Table<String, String> getSnapshotRenamedKeyTable() {
return snapshotRenamedKeyTable;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@
import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
import org.apache.hadoop.ozone.om.helpers.OmPrefixInfo;
import org.apache.hadoop.ozone.om.helpers.OmKeyRenameInfo;
import org.apache.hadoop.ozone.om.helpers.S3SecretValue;
import org.apache.hadoop.ozone.om.helpers.SnapshotInfo;
import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo;

import org.apache.hadoop.hdds.utils.TransactionInfo;
import org.apache.hadoop.ozone.om.service.SnapshotDeletingService;
import org.apache.hadoop.ozone.security.OzoneTokenIdentifier;
import org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos;

Expand Down Expand Up @@ -230,14 +230,24 @@ String.class, new StringCodec(), OmKeyInfo.class,
SnapshotInfo.class,
new OmDBSnapshotInfoCodec());

public static final DBColumnFamilyDefinition<String, OmKeyRenameInfo>
RENAMED_KEY_TABLE =
/**
* SnapshotRenamedKeyTable that complements the keyTable (or fileTable)
* entries of the immediately previous snapshot in the same snapshot
* scope (bucket or volume).
* <p>
* Key renames between the two subsequent snapshots are captured, this
* information is used in {@link SnapshotDeletingService} to check if the
* renamedKey is present in the previous snapshot's keyTable
* (or fileTable).
*/
public static final DBColumnFamilyDefinition<String, String>
SNAPSHOT_RENAMED_KEY_TABLE =
new DBColumnFamilyDefinition<>(
OmMetadataManagerImpl.RENAMED_KEY_TABLE,
OmMetadataManagerImpl.SNAPSHOT_RENAMED_KEY_TABLE,
String.class, // /volumeName/bucketName/objectID
new StringCodec(),
OmKeyRenameInfo.class, // list of key renames
new OmKeyRenameInfoCodec());
String.class, // path to the key in previous snapshot's key(file)Table
new StringCodec());

@Override
public String getName() {
Expand All @@ -258,7 +268,7 @@ public DBColumnFamilyDefinition[] getColumnFamilies() {
FILE_TABLE, OPEN_FILE_TABLE, DELETED_DIR_TABLE, META_TABLE,
TENANT_ACCESS_ID_TABLE,
PRINCIPAL_TO_ACCESS_IDS_TABLE, TENANT_STATE_TABLE,
SNAPSHOT_INFO_TABLE, RENAMED_KEY_TABLE};
SNAPSHOT_INFO_TABLE, SNAPSHOT_RENAMED_KEY_TABLE};
}
}

Loading