| Package | Description |
|---|---|
| org.apache.hadoop.fs.s3a |
S3A Filesystem.
|
| org.apache.hadoop.fs.s3a.audit |
Support for auditing and ultimately tracing operations.
|
| org.apache.hadoop.fs.s3a.audit.impl |
The internal implementations of auditing support.
|
| org.apache.hadoop.fs.s3a.impl |
Implementation classes private to the S3A store.
|
| 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.
|
| org.apache.hadoop.fs.s3a.tools |
S3A Command line tools independent of S3Guard.
|
| Modifier and Type | Method and Description |
|---|---|
static S3AFileStatus |
S3AUtils.createFileStatus(org.apache.hadoop.fs.Path keyPath,
com.amazonaws.services.s3.model.S3ObjectSummary summary,
long blockSize,
String owner,
String eTag,
String versionId,
boolean isCSEEnabled)
Create a files status instance from a listing.
|
static S3AFileStatus |
S3AUtils.createUploadFileStatus(org.apache.hadoop.fs.Path keyPath,
boolean isDir,
long size,
long blockSize,
String owner,
String eTag,
String versionId)
Create a file status for object we just uploaded.
|
static S3AFileStatus |
S3AFileStatus.fromFileStatus(org.apache.hadoop.fs.FileStatus source,
Tristate isEmptyDirectory,
String eTag,
String versionId)
Convenience constructor for creating from a vanilla FileStatus plus
an isEmptyDirectory flag.
|
static S3AFileStatus[] |
S3AUtils.iteratorToStatuses(org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> iterator,
Set<org.apache.hadoop.fs.Path> tombstones)
Convert the data of an iterator of
S3AFileStatus to
an array. |
S3AFileStatus |
S3AFileSystem.MkdirOperationCallbacksImpl.probePathStatus(org.apache.hadoop.fs.Path path,
Set<StatusProbeEnum> probes) |
S3AFileStatus |
S3AFileSystem.GetContentSummaryCallbacksImpl.probePathStatus(org.apache.hadoop.fs.Path path,
Set<StatusProbeEnum> probes) |
S3AFileStatus |
S3ALocatedFileStatus.toS3AFileStatus()
Generate an S3AFileStatus instance, including etag and
version ID, if present.
|
| Modifier and Type | Method and Description |
|---|---|
org.apache.commons.lang3.tuple.Triple<org.apache.hadoop.fs.RemoteIterator<S3AFileStatus>,DirListingMetadata,Boolean> |
Listing.getFileStatusesAssumingNonEmptyDir(org.apache.hadoop.fs.Path path,
org.apache.hadoop.fs.store.audit.AuditSpan span)
Calculate list of file statuses assuming path
to be a non-empty directory.
|
org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> |
S3AFileSystem.GetContentSummaryCallbacksImpl.listStatusIterator(org.apache.hadoop.fs.Path path) |
static org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> |
Listing.toProvidedFileStatusIterator(S3AFileStatus[] fileStatuses)
Create a FileStatus iterator against a provided list of file status.
|
| Modifier and Type | Method and Description |
|---|---|
S3ALocatedFileStatus |
S3AFileSystem.ListingOperationCallbacksImpl.toLocatedFileStatus(S3AFileStatus status) |
static org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> |
Listing.toProvidedFileStatusIterator(S3AFileStatus[] fileStatuses)
Create a FileStatus iterator against a provided list of file status.
|
| Modifier and Type | Method and Description |
|---|---|
org.apache.hadoop.fs.s3a.Listing.FileStatusListingIterator |
Listing.createFileStatusListingIterator(org.apache.hadoop.fs.Path listPath,
S3ListRequest request,
org.apache.hadoop.fs.PathFilter filter,
org.apache.hadoop.fs.s3a.Listing.FileStatusAcceptor acceptor,
org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> providedStatus,
org.apache.hadoop.fs.store.audit.AuditSpan span)
Create a FileStatus iterator against a path, with a given
list object request.
|
org.apache.hadoop.fs.RemoteIterator<S3ALocatedFileStatus> |
Listing.createLocatedFileStatusIterator(org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> statusIterator)
Create a located status iterator over a file status iterator.
|
static S3AFileStatus[] |
S3AUtils.iteratorToStatuses(org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> iterator,
Set<org.apache.hadoop.fs.Path> tombstones)
Convert the data of an iterator of
S3AFileStatus to
an array. |
| Constructor and Description |
|---|
S3ALocatedFileStatus(S3AFileStatus status,
org.apache.hadoop.fs.BlockLocation[] locations) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
AuditManagerS3A.checkAccess(org.apache.hadoop.fs.Path path,
S3AFileStatus status,
org.apache.hadoop.fs.permission.FsAction mode)
Check for permission to access a path.
|
default boolean |
OperationAuditor.checkAccess(org.apache.hadoop.fs.Path path,
S3AFileStatus status,
org.apache.hadoop.fs.permission.FsAction mode)
Check for permission to access a path.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
ActiveAuditManagerS3A.checkAccess(org.apache.hadoop.fs.Path path,
S3AFileStatus status,
org.apache.hadoop.fs.permission.FsAction mode) |
boolean |
NoopAuditManagerS3A.checkAccess(org.apache.hadoop.fs.Path path,
S3AFileStatus status,
org.apache.hadoop.fs.permission.FsAction mode)
Forward to the auditor.
|
| Modifier and Type | Method and Description |
|---|---|
S3AFileStatus |
MkdirOperation.MkdirCallbacks.probePathStatus(org.apache.hadoop.fs.Path path,
Set<StatusProbeEnum> probes)
Get the status of a path.
|
S3AFileStatus |
GetContentSummaryOperation.GetContentSummaryCallbacks.probePathStatus(org.apache.hadoop.fs.Path path,
Set<StatusProbeEnum> probes)
Get the status of a path.
|
| Modifier and Type | Method and Description |
|---|---|
org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> |
OperationCallbacks.listObjects(org.apache.hadoop.fs.Path path,
String key)
Create an iterator over objects in S3 only; S3Guard
is not involved.
|
org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> |
GetContentSummaryOperation.GetContentSummaryCallbacks.listStatusIterator(org.apache.hadoop.fs.Path path)
Incremental list of all entries in a directory.
|
| Modifier and Type | Method and Description |
|---|---|
S3ObjectAttributes |
OperationCallbacks.createObjectAttributes(S3AFileStatus fileStatus)
Create the attributes of an object for subsequent use.
|
String |
StoreContext.fullKey(S3AFileStatus stat)
Build the full S3 key for a request from the status entry,
possibly adding a "/" if it represents directory and it does
not have a trailing slash already.
|
org.apache.hadoop.fs.RemoteIterator<S3ALocatedFileStatus> |
OperationCallbacks.listFilesAndDirectoryMarkers(org.apache.hadoop.fs.Path path,
S3AFileStatus status,
boolean collectTombstones,
boolean includeSelf)
Recursive list of files and directory markers.
|
S3ALocatedFileStatus |
ListingOperationCallbacks.toLocatedFileStatus(S3AFileStatus status)
Build a
S3ALocatedFileStatus from a FileStatus instance. |
| Constructor and Description |
|---|
DeleteOperation(StoreContext context,
S3AFileStatus status,
boolean recursive,
OperationCallbacks callbacks,
int pageSize)
Constructor.
|
RenameOperation(StoreContext storeContext,
org.apache.hadoop.fs.Path sourcePath,
String sourceKey,
S3AFileStatus sourceStatus,
org.apache.hadoop.fs.Path destPath,
String destKey,
S3AFileStatus destStatus,
OperationCallbacks callbacks,
int pageSize)
Initiate the rename.
|
| Modifier and Type | Method and Description |
|---|---|
static S3AFileStatus[] |
S3Guard.dirMetaToStatuses(DirListingMetadata dirMeta)
Convert the data of a directory listing to an array of
FileStatus
entries. |
S3AFileStatus |
PathMetadata.getFileStatus() |
S3AFileStatus |
S3GuardFsckViolationHandler.ViolationHandler.getMsFileStatus() |
S3AFileStatus |
S3GuardFsckViolationHandler.ViolationHandler.getS3FileStatus() |
S3AFileStatus |
S3GuardFsck.ComparePair.getS3FileStatus() |
S3AFileStatus |
MetadataStoreListFilesIterator.next() |
S3AFileStatus |
DescendantsIterator.next() |
static S3AFileStatus |
S3Guard.putAndReturn(MetadataStore ms,
S3AFileStatus status,
ITtlTimeProvider timeProvider)
Helper function which puts a given S3AFileStatus into the MetadataStore and
returns the same S3AFileStatus.
|
static S3AFileStatus |
S3Guard.putAndReturn(MetadataStore ms,
S3AFileStatus status,
ITtlTimeProvider timeProvider,
BulkOperationState operationState)
Helper function which puts a given S3AFileStatus into the MetadataStore and
returns the same S3AFileStatus.
|
| Modifier and Type | Method and Description |
|---|---|
static org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> |
S3Guard.dirListingUnion(MetadataStore ms,
org.apache.hadoop.fs.Path path,
org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> backingStatuses,
DirListingMetadata dirMeta,
boolean isAuthoritative,
ITtlTimeProvider timeProvider,
Function<S3AFileStatus[],org.apache.hadoop.fs.RemoteIterator<S3AFileStatus>> toStatusItr)
Given directory listing metadata from both the backing store and the
MetadataStore, merge the two sources of truth to create a consistent
view of the current directory contents, which can be returned to clients.
|
| 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. |
protected List<S3GuardFsck.ComparePair> |
S3GuardFsck.compareS3DirContentToMs(S3AFileStatus s3CurrentDir,
List<S3AFileStatus> children)
Compares S3 directory content to the metadata store.
|
RenameTracker |
DynamoDBMetadataStore.initiateRenameOperation(StoreContext storeContext,
org.apache.hadoop.fs.Path source,
S3AFileStatus sourceStatus,
org.apache.hadoop.fs.Path dest)
Initiate the rename operation by creating the tracker for the filesystem
to keep up to date with state changes in the S3A bucket.
|
RenameTracker |
LocalMetadataStore.initiateRenameOperation(StoreContext storeContext,
org.apache.hadoop.fs.Path source,
S3AFileStatus sourceStatus,
org.apache.hadoop.fs.Path dest) |
RenameTracker |
MetadataStore.initiateRenameOperation(StoreContext storeContext,
org.apache.hadoop.fs.Path source,
S3AFileStatus sourceStatus,
org.apache.hadoop.fs.Path dest)
Start a rename operation.
|
RenameTracker |
NullMetadataStore.initiateRenameOperation(StoreContext storeContext,
org.apache.hadoop.fs.Path source,
S3AFileStatus sourceStatus,
org.apache.hadoop.fs.Path dest) |
static S3AFileStatus |
S3Guard.putAndReturn(MetadataStore ms,
S3AFileStatus status,
ITtlTimeProvider timeProvider)
Helper function which puts a given S3AFileStatus into the MetadataStore and
returns the same S3AFileStatus.
|
static S3AFileStatus |
S3Guard.putAndReturn(MetadataStore ms,
S3AFileStatus status,
ITtlTimeProvider timeProvider,
BulkOperationState operationState)
Helper function which puts a given S3AFileStatus into the MetadataStore and
returns the same S3AFileStatus.
|
static void |
S3Guard.putAuthDirectoryMarker(MetadataStore ms,
S3AFileStatus status,
ITtlTimeProvider timeProvider,
BulkOperationState operationState)
Creates an authoritative directory marker for the store.
|
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.
|
| Modifier and Type | Method and Description |
|---|---|
protected List<S3GuardFsck.ComparePair> |
S3GuardFsck.compareS3DirContentToMs(S3AFileStatus s3CurrentDir,
List<S3AFileStatus> children)
Compares S3 directory content to the metadata store.
|
static org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> |
S3Guard.dirListingUnion(MetadataStore ms,
org.apache.hadoop.fs.Path path,
org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> backingStatuses,
DirListingMetadata dirMeta,
boolean isAuthoritative,
ITtlTimeProvider timeProvider,
Function<S3AFileStatus[],org.apache.hadoop.fs.RemoteIterator<S3AFileStatus>> toStatusItr)
Given directory listing metadata from both the backing store and the
MetadataStore, merge the two sources of truth to create a consistent
view of the current directory contents, which can be returned to clients.
|
static org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> |
S3Guard.dirListingUnion(MetadataStore ms,
org.apache.hadoop.fs.Path path,
org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> backingStatuses,
DirListingMetadata dirMeta,
boolean isAuthoritative,
ITtlTimeProvider timeProvider,
Function<S3AFileStatus[],org.apache.hadoop.fs.RemoteIterator<S3AFileStatus>> toStatusItr)
Given directory listing metadata from both the backing store and the
MetadataStore, merge the two sources of truth to create a consistent
view of the current directory contents, which can be returned to clients.
|
| Constructor and Description |
|---|
DDBPathMetadata(S3AFileStatus fileStatus) |
DDBPathMetadata(S3AFileStatus fileStatus,
Tristate isEmptyDir,
boolean isDeleted,
boolean isAuthoritativeDir,
long lastUpdated) |
DDBPathMetadata(S3AFileStatus fileStatus,
Tristate isEmptyDir,
boolean isDeleted,
long lastUpdated) |
PathMetadata(S3AFileStatus fileStatus)
Creates a new
PathMetadata containing given FileStatus. |
PathMetadata(S3AFileStatus fileStatus,
long lastUpdated)
Creates a new
PathMetadata containing given FileStatus. |
PathMetadata(S3AFileStatus fileStatus,
Tristate isEmptyDir)
Creates a new
PathMetadata. |
PathMetadata(S3AFileStatus fileStatus,
Tristate isEmptyDir,
boolean isDeleted)
Creates a new
PathMetadata. |
PathMetadata(S3AFileStatus fileStatus,
Tristate isEmptyDir,
boolean isDeleted,
long lastUpdated)
Creates a new
PathMetadata. |
| Modifier and Type | Method and Description |
|---|---|
org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> |
MarkerToolOperations.listObjects(org.apache.hadoop.fs.Path path,
String key)
Create an iterator over objects in S3 only; S3Guard
is not involved.
|
org.apache.hadoop.fs.RemoteIterator<S3AFileStatus> |
MarkerToolOperationsImpl.listObjects(org.apache.hadoop.fs.Path path,
String key) |
Copyright © 2008–2022 Apache Software Foundation. All rights reserved.