@InterfaceAudience.Private public class StoreFileInfo extends Object implements org.apache.hadoop.conf.Configurable
Modifier and Type | Field and Description |
---|---|
private org.apache.hadoop.conf.Configuration |
conf |
private RegionCoprocessorHost |
coprocessorHost |
private long |
createdTimestamp |
static boolean |
DEFAULT_STORE_FILE_READER_NO_READAHEAD |
private org.apache.hadoop.fs.FileSystem |
fs |
private HDFSBlocksDistribution |
hdfsBlocksDistribution |
private static Pattern |
HFILE_NAME_PATTERN
Regex that will work for hfiles
|
static String |
HFILE_NAME_REGEX
A non-capture group, for hfiles, so that this can be embedded.
|
private HFileInfo |
hfileInfo |
private org.apache.hadoop.fs.Path |
initialPath |
private HFileLink |
link |
private static org.slf4j.Logger |
LOG |
private boolean |
noReadahead |
private boolean |
primaryReplica |
private static Pattern |
REF_NAME_PATTERN
Regex that will work for straight reference names (
<hfile>.<parentEncRegion> ) and
hfilelink reference names (<table>
=<region>-<hfile>.<parentEncRegion> ) If reference, then the regex has more than just one
group. |
private AtomicInteger |
refCount |
private Reference |
reference |
private static String |
SEQ_ID_MARKER
Cells in a bulkloaded file don't have a sequenceId since they don't go through memstore.
|
private static int |
SEQ_ID_MARKER_LENGTH |
private long |
size |
static String |
STORE_FILE_READER_NO_READAHEAD |
Modifier | Constructor and Description |
---|---|
|
StoreFileInfo(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.FileStatus fileStatus)
Create a Store File Info
|
|
StoreFileInfo(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.FileStatus fileStatus,
HFileLink link)
Create a Store File Info from an HFileLink
|
private |
StoreFileInfo(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.FileStatus fileStatus,
org.apache.hadoop.fs.Path initialPath,
boolean primaryReplica) |
|
StoreFileInfo(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.FileStatus fileStatus,
Reference reference)
Create a Store File Info from an HFileLink
|
|
StoreFileInfo(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.FileStatus fileStatus,
Reference reference,
HFileLink link)
Create a Store File Info from an HFileLink and a Reference
|
|
StoreFileInfo(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path initialPath,
boolean primaryReplica)
Create a Store File Info
|
Modifier and Type | Method and Description |
---|---|
HDFSBlocksDistribution |
computeHDFSBlocksDistribution(org.apache.hadoop.fs.FileSystem fs)
Compute the HDFS Block Distribution for this StoreFile
|
private HDFSBlocksDistribution |
computeHDFSBlocksDistributionInternal(org.apache.hadoop.fs.FileSystem fs) |
private static HDFSBlocksDistribution |
computeRefFileHDFSBlockDistribution(org.apache.hadoop.fs.FileSystem fs,
Reference reference,
org.apache.hadoop.fs.FileStatus status)
helper function to compute HDFS blocks distribution of a given reference file.For reference
file, we don't compute the exact value.
|
StoreFileReader |
createReader(ReaderContext context,
CacheConfig cacheConf) |
(package private) ReaderContext |
createReaderContext(boolean doDropBehind,
long readahead,
ReaderContext.ReaderType type) |
(package private) int |
decreaseRefCount() |
boolean |
equals(Object that) |
static String |
formatBulkloadSeqId(long seqId) |
String |
getActiveFileName()
Return the active file name that contains the real data.
|
static OptionalLong |
getBulkloadSeqId(org.apache.hadoop.fs.Path path) |
org.apache.hadoop.conf.Configuration |
getConf() |
long |
getCreatedTimestamp()
Returns timestamp when this file was created (as returned by filesystem)
|
org.apache.hadoop.fs.FileStatus |
getFileStatus()
Returns The
FileStatus of the file |
(package private) org.apache.hadoop.fs.FileSystem |
getFileSystem() |
HDFSBlocksDistribution |
getHDFSBlockDistribution()
Returns the HDFS block distribution
|
HFileInfo |
getHFileInfo() |
long |
getModificationTime()
Returns Get the modification time of the file.
|
org.apache.hadoop.fs.Path |
getPath()
Returns The
Path of the file |
(package private) int |
getRefCount() |
Reference |
getReference() |
org.apache.hadoop.fs.FileStatus |
getReferencedFileStatus(org.apache.hadoop.fs.FileSystem fs)
Get the
FileStatus of the file referenced by this StoreFileInfo |
static org.apache.hadoop.fs.Path |
getReferredToFile(org.apache.hadoop.fs.Path p) |
static Pair<String,String> |
getReferredToRegionAndFile(String referenceFile) |
long |
getSize()
Size of the Hfile
|
static boolean |
hasBulkloadSeqId(org.apache.hadoop.fs.Path path) |
int |
hashCode() |
(package private) int |
increaseRefCount() |
(package private) void |
initHDFSBlocksDistribution() |
void |
initHFileInfo(ReaderContext context) |
static boolean |
isHFile(org.apache.hadoop.fs.Path path) |
static boolean |
isHFile(String fileName) |
boolean |
isLink()
Returns True if the store file is a link
|
static boolean |
isMobFile(org.apache.hadoop.fs.Path path)
Checks if the file is a MOB file
|
static boolean |
isMobRefFile(org.apache.hadoop.fs.Path path)
Checks if the file is a MOB reference file, created by snapshot
|
(package private) boolean |
isNoReadahead() |
boolean |
isReference()
Returns True if the store file is a Reference
|
static boolean |
isReference(org.apache.hadoop.fs.Path path) |
static boolean |
isReference(String name) |
boolean |
isTopReference()
Returns True if the store file is a top Reference
|
static boolean |
isValid(org.apache.hadoop.fs.FileStatus fileStatus)
Return if the specified file is a valid store file or not.
|
(package private) StoreFileReader |
postStoreFileReaderOpen(ReaderContext context,
CacheConfig cacheConf,
StoreFileReader reader) |
(package private) StoreFileReader |
preStoreFileReaderOpen(ReaderContext context,
CacheConfig cacheConf) |
void |
setConf(org.apache.hadoop.conf.Configuration conf) |
void |
setRegionCoprocessorHost(RegionCoprocessorHost coprocessorHost)
Sets the region coprocessor env.
|
String |
toString() |
static boolean |
validateStoreFileName(String fileName)
Validate the store file name.
|
private static final org.slf4j.Logger LOG
public static final String HFILE_NAME_REGEX
private static final Pattern HFILE_NAME_PATTERN
private static final Pattern REF_NAME_PATTERN
<hfile>.<parentEncRegion>
) and
hfilelink reference names (<table>
=<region>-<hfile>.<parentEncRegion>
) If reference, then the regex has more than just one
group. Group 1, hfile/hfilelink pattern, is this file's id. Group 2 '(.+)' is the reference's
parent region name.public static final String STORE_FILE_READER_NO_READAHEAD
public static final boolean DEFAULT_STORE_FILE_READER_NO_READAHEAD
private org.apache.hadoop.conf.Configuration conf
private final org.apache.hadoop.fs.FileSystem fs
private HDFSBlocksDistribution hdfsBlocksDistribution
private final org.apache.hadoop.fs.Path initialPath
private RegionCoprocessorHost coprocessorHost
private long createdTimestamp
private long size
private final boolean primaryReplica
private final boolean noReadahead
private final AtomicInteger refCount
private static final String SEQ_ID_MARKER
private static final int SEQ_ID_MARKER_LENGTH
public StoreFileInfo(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path initialPath, boolean primaryReplica) throws IOException
conf
- the Configuration
to usefs
- The current file system to use.initialPath
- The Path
of the fileprimaryReplica
- true if this is a store file for primary replica, otherwise false.IOException
private StoreFileInfo(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.FileStatus fileStatus, org.apache.hadoop.fs.Path initialPath, boolean primaryReplica) throws IOException
IOException
public StoreFileInfo(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.FileStatus fileStatus) throws IOException
conf
- the Configuration
to usefs
- The current file system to use.fileStatus
- The FileStatus
of the fileIOException
public StoreFileInfo(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.FileStatus fileStatus, HFileLink link)
conf
- The Configuration
to usefs
- The current file system to usefileStatus
- The FileStatus
of the filepublic StoreFileInfo(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.FileStatus fileStatus, Reference reference)
conf
- The Configuration
to usefs
- The current file system to usefileStatus
- The FileStatus
of the filereference
- The reference instancepublic StoreFileInfo(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.FileStatus fileStatus, Reference reference, HFileLink link)
conf
- The Configuration
to usefs
- The current file system to usefileStatus
- The FileStatus
of the filereference
- The reference instancelink
- The link instancepublic org.apache.hadoop.conf.Configuration getConf()
getConf
in interface org.apache.hadoop.conf.Configurable
public void setConf(org.apache.hadoop.conf.Configuration conf)
setConf
in interface org.apache.hadoop.conf.Configurable
public long getSize()
public void setRegionCoprocessorHost(RegionCoprocessorHost coprocessorHost)
public Reference getReference()
public boolean isReference()
public boolean isTopReference()
public boolean isLink()
public HDFSBlocksDistribution getHDFSBlockDistribution()
public StoreFileReader createReader(ReaderContext context, CacheConfig cacheConf) throws IOException
IOException
ReaderContext createReaderContext(boolean doDropBehind, long readahead, ReaderContext.ReaderType type) throws IOException
IOException
public HDFSBlocksDistribution computeHDFSBlocksDistribution(org.apache.hadoop.fs.FileSystem fs) throws IOException
IOException
private HDFSBlocksDistribution computeHDFSBlocksDistributionInternal(org.apache.hadoop.fs.FileSystem fs) throws IOException
IOException
public org.apache.hadoop.fs.FileStatus getReferencedFileStatus(org.apache.hadoop.fs.FileSystem fs) throws IOException
FileStatus
of the file referenced by this StoreFileInfofs
- The current file system to use.FileStatus
of the file referenced by this StoreFileInfoIOException
public org.apache.hadoop.fs.Path getPath()
Path
of the filepublic org.apache.hadoop.fs.FileStatus getFileStatus() throws IOException
FileStatus
of the fileIOException
public long getModificationTime() throws IOException
IOException
public static boolean hasBulkloadSeqId(org.apache.hadoop.fs.Path path)
SEQ_ID_MARKER
public static OptionalLong getBulkloadSeqId(org.apache.hadoop.fs.Path path)
SEQ_ID_MARKER
public static String formatBulkloadSeqId(long seqId)
SEQ_ID_MARKER
public static boolean isHFile(org.apache.hadoop.fs.Path path)
path
- Path to check.public static boolean isMobFile(org.apache.hadoop.fs.Path path)
path
- path to a filepublic static boolean isMobRefFile(org.apache.hadoop.fs.Path path)
path
- path to a filepublic static boolean isReference(org.apache.hadoop.fs.Path path)
path
- Path to check.public static boolean isReference(String name)
name
- file name to check.public long getCreatedTimestamp()
public static org.apache.hadoop.fs.Path getReferredToFile(org.apache.hadoop.fs.Path p)
public static Pair<String,String> getReferredToRegionAndFile(String referenceFile)
public static boolean validateStoreFileName(String fileName)
fileName
- name of the file to validatepublic static boolean isValid(org.apache.hadoop.fs.FileStatus fileStatus) throws IOException
fileStatus
- The FileStatus
of the fileIOException
private static HDFSBlocksDistribution computeRefFileHDFSBlockDistribution(org.apache.hadoop.fs.FileSystem fs, Reference reference, org.apache.hadoop.fs.FileStatus status) throws IOException
fs
- The FileSystemreference
- The referencestatus
- The reference FileStatusIOException
public String getActiveFileName()
For referenced hfile, we will return the name of the reference file as it will be used to construct the StoreFileReader. And for linked hfile, we will return the name of the file being linked.
org.apache.hadoop.fs.FileSystem getFileSystem()
boolean isNoReadahead()
public HFileInfo getHFileInfo()
void initHDFSBlocksDistribution() throws IOException
IOException
StoreFileReader preStoreFileReaderOpen(ReaderContext context, CacheConfig cacheConf) throws IOException
IOException
StoreFileReader postStoreFileReaderOpen(ReaderContext context, CacheConfig cacheConf, StoreFileReader reader) throws IOException
IOException
public void initHFileInfo(ReaderContext context) throws IOException
IOException
int getRefCount()
int increaseRefCount()
int decreaseRefCount()
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.