Package org.apache.iotdb.db.engine
Class StorageEngineV2
- java.lang.Object
-
- org.apache.iotdb.db.engine.StorageEngineV2
-
- All Implemented Interfaces:
org.apache.iotdb.commons.service.IService
public class StorageEngineV2 extends java.lang.Object implements org.apache.iotdb.commons.service.IService
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidblockInsertionIfReject(TsFileProcessor tsFileProcessor)block insertion if the insertion is rejected by memory controlDataRegionbuildNewDataRegion(java.lang.String logicalStorageGroupName, org.apache.iotdb.commons.consensus.DataRegionId dataRegionId, long ttl)build a new data regionvoidcloseStorageGroupProcessor(java.lang.String storageGroupPath, boolean isSeq)static longconvertMilliWithPrecision(long milliTime)DataRegioncreateDataRegion(org.apache.iotdb.commons.consensus.DataRegionId regionId, java.lang.String sg, long ttl)voiddeleteDataRegion(org.apache.iotdb.commons.consensus.DataRegionId regionId)voidforceCloseAllProcessor()java.util.List<org.apache.iotdb.commons.consensus.DataRegionId>getAllDataRegionIds()java.util.List<DataRegion>getAllDataRegions()DataRegiongetDataRegion(org.apache.iotdb.commons.consensus.DataRegionId regionId)TsFileFlushPolicygetFileFlushPolicy()org.apache.iotdb.commons.service.ServiceTypegetID()static StorageEngineV2getInstance()java.util.Map<java.lang.String,java.util.List<org.apache.iotdb.commons.consensus.DataRegionId>>getLocalDataRegionInfo()get StorageGroup -> DataRegionIdList map from data/system directory.static longgetTimePartition(long time)static longgetTimePartitionInterval()static org.apache.iotdb.common.rpc.thrift.TTimePartitionSlotgetTimePartitionSlot(long time)booleanisAllSgReady()static booleanisEnablePartition()voidmergeAll()merge all storage groups.org.apache.iotdb.common.rpc.thrift.TSStatusoperateFlush(org.apache.iotdb.common.rpc.thrift.TFlushReq req)voidrecover()voidregisterCloseFileListener(CloseFileListener listener)Add a listener to listen file close events.voidregisterFlushListener(FlushListener listener)Add a listener to listen flush start/end events.voidreset()This function is just for unit test.voidsetAllSgReady(boolean allSgReady)voidsetDataRegion(org.apache.iotdb.commons.consensus.DataRegionId regionId, DataRegion newRegion)This method is not thread-safestatic voidsetEnablePartition(boolean enablePartition)static voidsetTimePartitionInterval(long timePartitionInterval)voidsetTTL(java.util.List<org.apache.iotdb.commons.consensus.DataRegionId> dataRegionIdList, long dataTTL)org.apache.iotdb.common.rpc.thrift.TSStatussetTTL(org.apache.iotdb.common.rpc.thrift.TSetTTLReq req)voidshutdown(long milliseconds)voidstart()voidstop()voidsyncCloseAllProcessor()flush command Sync asyncCloseOneProcessor all file node processors.org.apache.iotdb.common.rpc.thrift.TSStatuswrite(org.apache.iotdb.commons.consensus.DataRegionId groupId, PlanNode planNode)Write data into DataRegion.
-
-
-
Method Detail
-
getInstance
public static StorageEngineV2 getInstance()
-
convertMilliWithPrecision
public static long convertMilliWithPrecision(long milliTime)
-
getTimePartitionInterval
public static long getTimePartitionInterval()
-
setTimePartitionInterval
public static void setTimePartitionInterval(long timePartitionInterval)
-
getTimePartition
public static long getTimePartition(long time)
-
isEnablePartition
public static boolean isEnablePartition()
-
setEnablePartition
public static void setEnablePartition(boolean enablePartition)
-
blockInsertionIfReject
public static void blockInsertionIfReject(TsFileProcessor tsFileProcessor) throws WriteProcessRejectException
block insertion if the insertion is rejected by memory control- Throws:
WriteProcessRejectException
-
getTimePartitionSlot
public static org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot getTimePartitionSlot(long time)
-
isAllSgReady
public boolean isAllSgReady()
-
setAllSgReady
public void setAllSgReady(boolean allSgReady)
-
recover
public void recover()
-
getLocalDataRegionInfo
public java.util.Map<java.lang.String,java.util.List<org.apache.iotdb.commons.consensus.DataRegionId>> getLocalDataRegionInfo()
get StorageGroup -> DataRegionIdList map from data/system directory.
-
start
public void start()
- Specified by:
startin interfaceorg.apache.iotdb.commons.service.IService
-
stop
public void stop()
- Specified by:
stopin interfaceorg.apache.iotdb.commons.service.IService
-
shutdown
public void shutdown(long milliseconds) throws org.apache.iotdb.commons.exception.ShutdownException- Specified by:
shutdownin interfaceorg.apache.iotdb.commons.service.IService- Throws:
org.apache.iotdb.commons.exception.ShutdownException
-
getID
public org.apache.iotdb.commons.service.ServiceType getID()
- Specified by:
getIDin interfaceorg.apache.iotdb.commons.service.IService
-
buildNewDataRegion
public DataRegion buildNewDataRegion(java.lang.String logicalStorageGroupName, org.apache.iotdb.commons.consensus.DataRegionId dataRegionId, long ttl) throws DataRegionException
build a new data region- Parameters:
dataRegionId- data region id e.g. 1logicalStorageGroupName- logical storage group name e.g. root.sg1- Throws:
DataRegionException
-
write
public org.apache.iotdb.common.rpc.thrift.TSStatus write(org.apache.iotdb.commons.consensus.DataRegionId groupId, PlanNode planNode)Write data into DataRegion. For standalone mode only.
-
reset
public void reset()
This function is just for unit test.
-
syncCloseAllProcessor
public void syncCloseAllProcessor()
flush command Sync asyncCloseOneProcessor all file node processors.
-
forceCloseAllProcessor
public void forceCloseAllProcessor() throws TsFileProcessorException- Throws:
TsFileProcessorException
-
closeStorageGroupProcessor
public void closeStorageGroupProcessor(java.lang.String storageGroupPath, boolean isSeq)
-
mergeAll
public void mergeAll() throws StorageEngineExceptionmerge all storage groups.- Throws:
StorageEngineException- StorageEngineException
-
operateFlush
public org.apache.iotdb.common.rpc.thrift.TSStatus operateFlush(org.apache.iotdb.common.rpc.thrift.TFlushReq req)
-
setTTL
public void setTTL(java.util.List<org.apache.iotdb.commons.consensus.DataRegionId> dataRegionIdList, long dataTTL)
-
registerFlushListener
public void registerFlushListener(FlushListener listener)
Add a listener to listen flush start/end events. Notice that this addition only applies to TsFileProcessors created afterwards.- Parameters:
listener-
-
registerCloseFileListener
public void registerCloseFileListener(CloseFileListener listener)
Add a listener to listen file close events. Notice that this addition only applies to TsFileProcessors created afterwards.- Parameters:
listener-
-
createDataRegion
public DataRegion createDataRegion(org.apache.iotdb.commons.consensus.DataRegionId regionId, java.lang.String sg, long ttl) throws DataRegionException
- Throws:
DataRegionException
-
deleteDataRegion
public void deleteDataRegion(org.apache.iotdb.commons.consensus.DataRegionId regionId)
-
getDataRegion
public DataRegion getDataRegion(org.apache.iotdb.commons.consensus.DataRegionId regionId)
-
getAllDataRegions
public java.util.List<DataRegion> getAllDataRegions()
-
getAllDataRegionIds
public java.util.List<org.apache.iotdb.commons.consensus.DataRegionId> getAllDataRegionIds()
-
setDataRegion
public void setDataRegion(org.apache.iotdb.commons.consensus.DataRegionId regionId, DataRegion newRegion)This method is not thread-safe
-
setTTL
public org.apache.iotdb.common.rpc.thrift.TSStatus setTTL(org.apache.iotdb.common.rpc.thrift.TSetTTLReq req)
-
getFileFlushPolicy
public TsFileFlushPolicy getFileFlushPolicy()
-
-