| Package | Description |
|---|---|
| org.apache.hadoop.fs.s3a.s3guard |
This package contains classes related to S3Guard: a feature of S3A to mask
the eventual consistency behavior of S3 and optimize access patterns by
coordinating with a strongly consistent external store for file system
metadata.
|
| Modifier and Type | Class and Description |
|---|---|
class |
DDBPathMetadata
DDBPathMetadata wraps PathMetadata and adds the
isAuthoritativeDir flag to provide support for authoritative directory
listings in DynamoDBMetadataStore. |
| Modifier and Type | Field and Description |
|---|---|
static Collection<PathMetadata> |
DirListingMetadata.EMPTY_DIR
Convenience parameter for passing into constructor.
|
| Modifier and Type | Method and Description |
|---|---|
PathMetadata |
LocalMetadataStore.get(org.apache.hadoop.fs.Path p) |
PathMetadata |
MetadataStore.get(org.apache.hadoop.fs.Path path)
Gets metadata for a path.
|
PathMetadata |
NullMetadataStore.get(org.apache.hadoop.fs.Path path) |
PathMetadata |
DirListingMetadata.get(org.apache.hadoop.fs.Path childPath)
Lookup entry within this directory listing.
|
PathMetadata |
LocalMetadataStore.get(org.apache.hadoop.fs.Path p,
boolean wantEmptyDirectoryFlag) |
PathMetadata |
MetadataStore.get(org.apache.hadoop.fs.Path path,
boolean wantEmptyDirectoryFlag)
Gets metadata for a path.
|
PathMetadata |
NullMetadataStore.get(org.apache.hadoop.fs.Path path,
boolean wantEmptyDirectoryFlag) |
PathMetadata |
LocalMetadataEntry.getFileMeta() |
PathMetadata |
S3GuardFsck.ComparePair.getMsPathMetadata() |
PathMetadata |
S3GuardFsckViolationHandler.ViolationHandler.getPathMetadata() |
static PathMetadata |
S3Guard.getWithTtl(MetadataStore ms,
org.apache.hadoop.fs.Path path,
ITtlTimeProvider timeProvider,
boolean needEmptyDirectoryFlag,
boolean allowAuthoritative)
Get a path entry provided it is not considered expired.
|
static PathMetadata |
PathMetadata.tombstone(org.apache.hadoop.fs.Path path,
long lastUpdated)
Create a tombstone from the current time.
|
| Modifier and Type | Method and Description |
|---|---|
Collection<PathMetadata> |
DirListingMetadata.getListing() |
List<PathMetadata> |
DirListingMetadata.removeExpiredEntriesFromListing(long ttl,
long now)
Remove expired entries from the listing based on TTL.
|
| Modifier and Type | Method and Description |
|---|---|
protected S3GuardFsck.ComparePair |
S3GuardFsck.compareFileStatusToPathMetadata(S3AFileStatus s3FileStatus,
PathMetadata msPathMetadata)
Compares a
S3AFileStatus from S3 to a PathMetadata
from the metadata store. |
void |
DynamoDBMetadataStore.put(PathMetadata meta) |
void |
LocalMetadataStore.put(PathMetadata meta) |
void |
MetadataStore.put(PathMetadata meta)
Saves metadata for exactly one path.
|
void |
NullMetadataStore.put(PathMetadata meta) |
boolean |
DirListingMetadata.put(PathMetadata childPathMetadata)
Add an entry to the directory listing.
|
void |
DynamoDBMetadataStore.put(PathMetadata meta,
BulkOperationState operationState) |
void |
LocalMetadataStore.put(PathMetadata meta,
BulkOperationState operationState) |
void |
MetadataStore.put(PathMetadata meta,
BulkOperationState operationState)
Saves metadata for exactly one path, potentially
using any bulk operation state to eliminate duplicate work.
|
void |
NullMetadataStore.put(PathMetadata meta,
BulkOperationState operationState) |
static void |
S3Guard.putWithTtl(MetadataStore ms,
PathMetadata fileMeta,
ITtlTimeProvider timeProvider,
BulkOperationState operationState)
Put an entry, using the time provider to set its timestamp.
|
static boolean |
S3Guard.refreshEntry(MetadataStore metadataStore,
PathMetadata pm,
S3AFileStatus s3AFileStatus,
ITtlTimeProvider timeProvider)
We update the metastore for the specific case of S3 value == S3Guard value
so as to place a more recent modtime in the store.
|
void |
LocalMetadataEntry.setPathMetadata(PathMetadata pathMetadata) |
| Modifier and Type | Method and Description |
|---|---|
static void |
S3Guard.addMoveAncestors(MetadataStore ms,
Collection<org.apache.hadoop.fs.Path> srcPaths,
Collection<PathMetadata> dstMetas,
org.apache.hadoop.fs.Path srcRoot,
org.apache.hadoop.fs.Path srcPath,
org.apache.hadoop.fs.Path dstPath,
String owner)
Helper method that records the move of all ancestors of a path.
|
static void |
S3Guard.addMoveDir(MetadataStore ms,
Collection<org.apache.hadoop.fs.Path> srcPaths,
Collection<PathMetadata> dstMetas,
org.apache.hadoop.fs.Path srcPath,
org.apache.hadoop.fs.Path dstPath,
String owner)
Helper function that records the move of directory paths, adding
resulting metadata to the supplied lists.
|
static void |
S3Guard.addMoveFile(MetadataStore ms,
Collection<org.apache.hadoop.fs.Path> srcPaths,
Collection<PathMetadata> dstMetas,
org.apache.hadoop.fs.Path srcPath,
org.apache.hadoop.fs.Path dstPath,
long size,
long blockSize,
String owner,
String eTag,
String versionId)
Like
S3Guard.addMoveDir(MetadataStore, Collection, Collection, Path,
Path, String) (), but for files. |
void |
DynamoDBMetadataStore.move(Collection<org.apache.hadoop.fs.Path> pathsToDelete,
Collection<PathMetadata> pathsToCreate,
BulkOperationState operationState)
Record the effects of a
FileSystem.rename(Path, Path) in the
MetadataStore. |
void |
LocalMetadataStore.move(Collection<org.apache.hadoop.fs.Path> pathsToDelete,
Collection<PathMetadata> pathsToCreate,
BulkOperationState operationState) |
void |
MetadataStore.move(Collection<org.apache.hadoop.fs.Path> pathsToDelete,
Collection<PathMetadata> pathsToCreate,
BulkOperationState operationState)
Record the effects of a
FileSystem.rename(Path, Path) in the
MetadataStore. |
void |
NullMetadataStore.move(Collection<org.apache.hadoop.fs.Path> pathsToDelete,
Collection<PathMetadata> pathsToCreate,
BulkOperationState operationState) |
void |
DynamoDBMetadataStore.put(Collection<? extends PathMetadata> metas,
BulkOperationState operationState) |
void |
LocalMetadataStore.put(Collection<? extends PathMetadata> metas,
BulkOperationState operationState) |
void |
MetadataStore.put(Collection<? extends PathMetadata> metas,
BulkOperationState operationState)
Saves metadata for any number of paths.
|
void |
NullMetadataStore.put(Collection<? extends PathMetadata> meta,
BulkOperationState operationState) |
static void |
S3Guard.putWithTtl(MetadataStore ms,
Collection<? extends PathMetadata> fileMetas,
ITtlTimeProvider timeProvider,
BulkOperationState operationState)
Put entries, using the time provider to set their timestamp.
|
| Constructor and Description |
|---|
DDBPathMetadata(PathMetadata pmd) |
DescendantsIterator(MetadataStore ms,
PathMetadata meta)
Creates a new
DescendantsIterator. |
MetadataStoreListFilesIterator(MetadataStore ms,
PathMetadata meta,
boolean allowAuthoritative) |
| Constructor and Description |
|---|
DirListingMetadata(org.apache.hadoop.fs.Path path,
Collection<PathMetadata> listing,
boolean isAuthoritative) |
DirListingMetadata(org.apache.hadoop.fs.Path path,
Collection<PathMetadata> listing,
boolean isAuthoritative,
long lastUpdated)
Create a directory listing metadata container.
|
Copyright © 2008–2022 Apache Software Foundation. All rights reserved.