Package org.apache.iotdb.db.tools.settle
Class TsFileAndModSettleTool
- java.lang.Object
-
- org.apache.iotdb.db.tools.settle.TsFileAndModSettleTool
-
public class TsFileAndModSettleTool extends java.lang.ObjectOffline Settle tool, which is used to settle TsFile and its corresponding mods file to a new TsFile.
-
-
Field Summary
Fields Modifier and Type Field Description java.util.Map<java.lang.String,java.lang.Integer>recoverSettleFileMap
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.util.List<java.io.File>checkArgs(java.lang.String[] args)static voidclearRecoverSettleFileMap()static voidfindFilesToBeRecovered()java.util.List<TsFileResource>findSettledFile(TsFileResource resourceToBeSettled)when the new file is settled , we need to find and deserialize it.static TsFileAndModSettleToolgetInstance()booleanisSettledFileGenerated(TsFileResource oldTsFileResource)this method is used to check whether the new file is settled when recovering old tsFile.static voidmain(java.lang.String[] args)static voidmoveNewTsFile(TsFileResource oldTsFileResource, java.util.List<TsFileResource> newTsFileResources)This method is used to move a new TsFile and its corresponding resource file to the correct folder.voidsettleOneTsFileAndMod(TsFileResource resourceToBeSettled, java.util.List<TsFileResource> settledResources)The size of settledResources will be 0 in one of the following conditions: (1) old TsFile is not closed (2) old ModFile is not existed (3) all data in the old tsfile is being deleted after settlingstatic voidsettleTsFilesAndMods(java.util.Map<java.lang.String,TsFileResource> resourcesToBeSettled)This method is used to settle tsFiles and mods files, so that each old TsFile corresponds to one or several new TsFiles.
-
-
-
Method Detail
-
getInstance
public static TsFileAndModSettleTool getInstance()
-
main
public static void main(java.lang.String[] args)
-
checkArgs
public static java.util.List<java.io.File> checkArgs(java.lang.String[] args)
-
settleTsFilesAndMods
public static void settleTsFilesAndMods(java.util.Map<java.lang.String,TsFileResource> resourcesToBeSettled)
This method is used to settle tsFiles and mods files, so that each old TsFile corresponds to one or several new TsFiles. This method is only applicable to V3 TsFile. Each old TsFile corresponds to one or several new TsFileResources of the new TsFiles
-
settleOneTsFileAndMod
public void settleOneTsFileAndMod(TsFileResource resourceToBeSettled, java.util.List<TsFileResource> settledResources) throws org.apache.iotdb.tsfile.exception.write.WriteProcessException, org.apache.iotdb.commons.exception.IllegalPathException, java.io.IOException
The size of settledResources will be 0 in one of the following conditions: (1) old TsFile is not closed (2) old ModFile is not existed (3) all data in the old tsfile is being deleted after settling- Throws:
org.apache.iotdb.tsfile.exception.write.WriteProcessExceptionorg.apache.iotdb.commons.exception.IllegalPathExceptionjava.io.IOException
-
findFilesToBeRecovered
public static void findFilesToBeRecovered()
-
isSettledFileGenerated
public boolean isSettledFileGenerated(TsFileResource oldTsFileResource)
this method is used to check whether the new file is settled when recovering old tsFile.
-
findSettledFile
public java.util.List<TsFileResource> findSettledFile(TsFileResource resourceToBeSettled) throws java.io.IOException
when the new file is settled , we need to find and deserialize it.- Throws:
java.io.IOException
-
moveNewTsFile
public static void moveNewTsFile(TsFileResource oldTsFileResource, java.util.List<TsFileResource> newTsFileResources) throws java.io.IOException
This method is used to move a new TsFile and its corresponding resource file to the correct folder.- Parameters:
oldTsFileResource-newTsFileResources- if the old TsFile has not any deletions or all the data in which has been deleted or its modFile does not exist, then this size will be 0.- Throws:
java.io.IOException
-
clearRecoverSettleFileMap
public static void clearRecoverSettleFileMap()
-
-