Class TsFileManager
- java.lang.Object
-
- org.apache.iotdb.db.engine.storagegroup.TsFileManager
-
public class TsFileManager extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description TsFileManager(java.lang.String storageGroupName, java.lang.String dataRegionId, java.lang.String storageGroupDir)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(TsFileResource tsFileResource, boolean sequence)voidaddAll(java.util.List<TsFileResource> tsFileResourceList, boolean sequence)voidaddForRecover(TsFileResource tsFileResource, boolean sequence)voidclear()java.util.List<java.io.File>collectHistoryTsFileForSync(ISyncManager syncManager, long dataStartTime)static intcompareFileName(java.io.File o1, java.io.File o2)booleancontains(TsFileResource tsFileResource, boolean sequence)java.lang.StringgetDataRegionId()java.util.Iterator<TsFileResource>getIterator(boolean sequence)longgetNextCompactionTaskId()TsFileResourceListgetSequenceListByTimePartition(long timePartition)java.util.List<TsFileResource>getSequenceRecoverTsFileResources()java.lang.StringgetStorageGroupDir()java.lang.StringgetStorageGroupName()java.util.Set<java.lang.Long>getTimePartitions()java.util.List<TsFileResource>getTsFileList(boolean sequence)TsFileResourceListgetUnsequenceListByTimePartition(long timePartition)java.util.List<TsFileResource>getUnsequenceRecoverTsFileResources()booleanhasNextTimePartition(long timePartition, boolean sequence)voidinsertToPartitionFileList(TsFileResource tsFileResource, boolean sequence, int insertPos)insert tsFileResource to a target pos(targetPos = insertPos) e.g.booleanisAllowCompaction()booleanisEmpty(boolean sequence)voidkeepOrderInsert(TsFileResource tsFileResource, boolean sequence)voidreadLock()voidreadUnlock()voidremove(TsFileResource tsFileResource, boolean sequence)voidremoveAll(java.util.List<TsFileResource> tsFileResourceList, boolean sequence)voidreplace(java.util.List<TsFileResource> seqFileResources, java.util.List<TsFileResource> unseqFileResources, java.util.List<TsFileResource> targetFileResources, long timePartition, boolean isTargetSequence)This method is called after compaction to update memory.voidsetAllowCompaction(boolean allowCompaction)voidsetDataRegionId(java.lang.String dataRegionId)voidsetStorageGroupDir(java.lang.String storageGroupDir)intsize(boolean sequence)voidwriteLock(java.lang.String holder)voidwriteLockWithTimeout(java.lang.String holder, long timeout)Acquire write lock with timeout,WriteLockFailedExceptionwill be thrown after timeout.voidwriteUnlock()
-
-
-
Method Detail
-
getTsFileList
public java.util.List<TsFileResource> getTsFileList(boolean sequence)
-
getSequenceListByTimePartition
public TsFileResourceList getSequenceListByTimePartition(long timePartition)
-
getUnsequenceListByTimePartition
public TsFileResourceList getUnsequenceListByTimePartition(long timePartition)
-
getIterator
public java.util.Iterator<TsFileResource> getIterator(boolean sequence)
-
remove
public void remove(TsFileResource tsFileResource, boolean sequence)
-
removeAll
public void removeAll(java.util.List<TsFileResource> tsFileResourceList, boolean sequence)
-
insertToPartitionFileList
public void insertToPartitionFileList(TsFileResource tsFileResource, boolean sequence, int insertPos)
insert tsFileResource to a target pos(targetPos = insertPos) e.g. if insertPos = 0, then to the first, if insert Pos = 1, then to the second.
-
add
public void add(TsFileResource tsFileResource, boolean sequence)
-
keepOrderInsert
public void keepOrderInsert(TsFileResource tsFileResource, boolean sequence) throws java.io.IOException
- Throws:
java.io.IOException
-
addForRecover
public void addForRecover(TsFileResource tsFileResource, boolean sequence)
-
addAll
public void addAll(java.util.List<TsFileResource> tsFileResourceList, boolean sequence)
-
replace
public void replace(java.util.List<TsFileResource> seqFileResources, java.util.List<TsFileResource> unseqFileResources, java.util.List<TsFileResource> targetFileResources, long timePartition, boolean isTargetSequence) throws java.io.IOException
This method is called after compaction to update memory.- Throws:
java.io.IOException
-
contains
public boolean contains(TsFileResource tsFileResource, boolean sequence)
-
clear
public void clear()
-
isEmpty
public boolean isEmpty(boolean sequence)
-
size
public int size(boolean sequence)
-
readLock
public void readLock()
-
readUnlock
public void readUnlock()
-
writeLock
public void writeLock(java.lang.String holder)
-
writeLockWithTimeout
public void writeLockWithTimeout(java.lang.String holder, long timeout) throws WriteLockFailedExceptionAcquire write lock with timeout,WriteLockFailedExceptionwill be thrown after timeout. The unit of timeout is ms.- Throws:
WriteLockFailedException
-
writeUnlock
public void writeUnlock()
-
getStorageGroupName
public java.lang.String getStorageGroupName()
-
getStorageGroupDir
public java.lang.String getStorageGroupDir()
-
setStorageGroupDir
public void setStorageGroupDir(java.lang.String storageGroupDir)
-
getTimePartitions
public java.util.Set<java.lang.Long> getTimePartitions()
-
isAllowCompaction
public boolean isAllowCompaction()
-
setAllowCompaction
public void setAllowCompaction(boolean allowCompaction)
-
getDataRegionId
public java.lang.String getDataRegionId()
-
setDataRegionId
public void setDataRegionId(java.lang.String dataRegionId)
-
getSequenceRecoverTsFileResources
public java.util.List<TsFileResource> getSequenceRecoverTsFileResources()
-
getUnsequenceRecoverTsFileResources
public java.util.List<TsFileResource> getUnsequenceRecoverTsFileResources()
-
collectHistoryTsFileForSync
public java.util.List<java.io.File> collectHistoryTsFileForSync(ISyncManager syncManager, long dataStartTime)
-
compareFileName
public static int compareFileName(java.io.File o1, java.io.File o2)
-
getNextCompactionTaskId
public long getNextCompactionTaskId()
-
hasNextTimePartition
public boolean hasNextTimePartition(long timePartition, boolean sequence)
-
-