@InterfaceAudience.Private public class HRegionFileSystem extends Object
Modifier and Type | Field and Description |
---|---|
static Log |
LOG |
static String |
REGION_INFO_FILE
Name of the region info file that resides just under the region directory.
|
static String |
REGION_MERGES_DIR
Temporary subdirectory of the region directory used for merges.
|
static String |
REGION_SPLITS_DIR
Temporary subdirectory of the region directory used for splits.
|
Modifier and Type | Method and Description |
---|---|
Path |
commitStoreFile(String familyName,
Path buildPath)
Move the file from a build/temp location to the main family store directory.
|
static HRegionFileSystem |
createRegionOnFileSystem(Configuration conf,
FileSystem fs,
Path tableDir,
HRegionInfo regionInfo)
Create a new Region on file-system.
|
Path |
createTempName()
Generate a unique temporary Path.
|
Path |
createTempName(String suffix)
Generate a unique temporary Path.
|
void |
deleteFamily(String familyName)
Remove the region family from disk, archiving the store files.
|
static void |
deleteRegionFromFileSystem(Configuration conf,
FileSystem fs,
Path tableDir,
HRegionInfo regionInfo)
Remove the region from the table directory, archiving the region's hfiles.
|
Collection<String> |
getFamilies() |
FileSystem |
getFileSystem() |
Path |
getRegionDir() |
HRegionInfo |
getRegionInfo() |
HRegionInfo |
getRegionInfoForFS() |
Path |
getStoreDir(String familyName)
Returns the directory path of the specified family
|
Collection<StoreFileInfo> |
getStoreFiles(byte[] familyName)
Returns the store files available for the family.
|
Collection<StoreFileInfo> |
getStoreFiles(String familyName) |
Collection<StoreFileInfo> |
getStoreFiles(String familyName,
boolean validate)
Returns the store files available for the family.
|
Path |
getTableDir() |
boolean |
hasReferences(HTableDescriptor htd)
Check whether region has Reference file
|
boolean |
hasReferences(String familyName)
Returns true if the specified family has reference files
|
static HRegionInfo |
loadRegionInfoFileContent(FileSystem fs,
Path regionDir)
Create a
HRegionInfo from the serialized version on-disk. |
static HRegionFileSystem |
openRegionFromFileSystem(Configuration conf,
FileSystem fs,
Path tableDir,
HRegionInfo regionInfo,
boolean readOnly)
Open Region from file-system.
|
void |
removeStoreFile(String familyName,
Path filePath)
Archives the specified store file from the specified family.
|
void |
removeStoreFiles(String familyName,
Collection<StoreFile> storeFiles)
Closes and archives the specified store files from the specified family.
|
public static final Log LOG
public static final String REGION_INFO_FILE
public static final String REGION_MERGES_DIR
public static final String REGION_SPLITS_DIR
public FileSystem getFileSystem()
FileSystem
public HRegionInfo getRegionInfo()
HRegionInfo
that describe this on-disk region viewpublic HRegionInfo getRegionInfoForFS()
public Path getTableDir()
Path
to the region's root directory.public Path getRegionDir()
Path
to the region directory.public Path getStoreDir(String familyName)
familyName
- Column Family NamePath
to the directory of the specified familypublic Collection<StoreFileInfo> getStoreFiles(byte[] familyName) throws IOException
familyName
- Column Family NameStoreFileInfo
for the specified family.IOException
public Collection<StoreFileInfo> getStoreFiles(String familyName) throws IOException
IOException
public Collection<StoreFileInfo> getStoreFiles(String familyName, boolean validate) throws IOException
familyName
- Column Family NameStoreFileInfo
for the specified family.IOException
public boolean hasReferences(String familyName) throws IOException
familyName
- Column Family NameIOException
public boolean hasReferences(HTableDescriptor htd) throws IOException
htd
- table desciptor of the regionIOException
public Collection<String> getFamilies() throws IOException
IOException
public void deleteFamily(String familyName) throws IOException
familyName
- Column Family NameIOException
- if an error occours during the archivingpublic Path createTempName()
Path file = fs.createTempName();
...StoreFile.Writer(file)...
fs.commitStoreFile("family", file);
Path
of the temporary filepublic Path createTempName(String suffix)
Path file = fs.createTempName();
...StoreFile.Writer(file)...
fs.commitStoreFile("family", file);
suffix
- extra information to append to the generated namePath
of the temporary filepublic Path commitStoreFile(String familyName, Path buildPath) throws IOException
familyName
- Family that will gain the filebuildPath
- Path
to the file to commit.Path
of the committed fileIOException
public void removeStoreFile(String familyName, Path filePath) throws IOException
familyName
- Family that contains the store filesfilePath
- Path
to the store file to removeIOException
- if the archiving failspublic void removeStoreFiles(String familyName, Collection<StoreFile> storeFiles) throws IOException
familyName
- Family that contains the store filesstoreFiles
- set of store files to removeIOException
- if the archiving failspublic static HRegionInfo loadRegionInfoFileContent(FileSystem fs, Path regionDir) throws IOException
HRegionInfo
from the serialized version on-disk.fs
- FileSystem
that contains the Region Info fileregionDir
- Path
to the Region Directory that contains the Info fileHRegionInfo
instance gotten from the Region Info file.IOException
- if an error occurred during file open/read operation.public static HRegionFileSystem createRegionOnFileSystem(Configuration conf, FileSystem fs, Path tableDir, HRegionInfo regionInfo) throws IOException
conf
- the Configuration
to usefs
- FileSystem
from which to add the regiontableDir
- Path
to where the table is being storedregionInfo
- HRegionInfo
for region to be addedIOException
- if the region creation fails due to a FileSystem exception.public static HRegionFileSystem openRegionFromFileSystem(Configuration conf, FileSystem fs, Path tableDir, HRegionInfo regionInfo, boolean readOnly) throws IOException
conf
- the Configuration
to usefs
- FileSystem
from which to add the regiontableDir
- Path
to where the table is being storedregionInfo
- HRegionInfo
for region to be addedreadOnly
- True if you don't want to edit the region dataIOException
- if the region creation fails due to a FileSystem exception.public static void deleteRegionFromFileSystem(Configuration conf, FileSystem fs, Path tableDir, HRegionInfo regionInfo) throws IOException
conf
- the Configuration
to usefs
- FileSystem
from which to remove the regiontableDir
- Path
to where the table is being storedregionInfo
- HRegionInfo
for region to be deletedIOException
- if the request cannot be completed