New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[IOTDB-205]Support storage-group-level data ttl #429
Conversation
# Conflicts: # server/src/main/java/org/apache/iotdb/db/engine/merge/manage/MergeResource.java # server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java # server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
add show ttl
# Conflicts: # server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java # server/src/main/java/org/apache/iotdb/db/metadata/MTree.java # server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java # server/src/test/java/org/apache/iotdb/db/engine/cache/DeviceMetaDataCacheTest.java # server/src/test/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessorTest.java # server/src/test/java/org/apache/iotdb/db/query/reader/ReaderTestHelper.java # server/src/test/java/org/apache/iotdb/db/query/reader/fileRelated/UnSealedTsFileReaderTest.java # server/src/test/java/org/apache/iotdb/db/query/reader/resourceRelated/SeqResourceReaderTest.java # server/src/test/java/org/apache/iotdb/db/query/reader/resourceRelated/UnseqResourceReaderTest.java # service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
fix tests
change log level
A design document in CHINESE. |
Experiment settings and results. Pay extra attention to the changes in file sizes. |
# Conflicts: # jdbc/src/main/java/org/apache/iotdb/jdbc/Constant.java # jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBDatabaseMetadata.java # jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBMetadataResultSet.java # jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBStatement.java # server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java # server/src/main/java/org/apache/iotdb/db/metadata/MGraph.java # server/src/main/java/org/apache/iotdb/db/metadata/MManager.java # server/src/main/java/org/apache/iotdb/db/metadata/MTree.java # server/src/main/java/org/apache/iotdb/db/metadata/MetadataOperationType.java # server/src/main/java/org/apache/iotdb/db/qp/logical/Operator.java # server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java # server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java # service-rpc/src/main/thrift/rpc.thrift
update comments fix license code refinements
Hi,
I want to draw attention to another point that can be easily misunderstood when using the operation |
That is true. We currently do not provide any way to "recycle" the last flushed time of a device other than DELETE STORAGE GROUP statements, even general DELETE DATA statements can not do that. And the "recycling" does not seem to bring many benefits since, on most occasions, data is rolling forward. Actually, the data TTL has little relation to the last flushed time. And whether the data goes into sequence files or unsequence files should be invisible to users. I do not think users should be concerned about that. What I have hidden in my implementation is that "UNSET TTL TO root.group1" equals "SET TTL TO root.group1 Long.maxValue". In all, data TTL just avoids the DBA deleting old data manually. |
I agree. |
# Conflicts: # server/src/main/java/org/apache/iotdb/db/qp/executor/AbstractQueryProcessExecutor.java # server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java # server/src/main/java/org/apache/iotdb/db/qp/strategy/PhysicalGenerator.java # server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
server/src/main/java/org/apache/iotdb/db/engine/merge/manage/MergeResource.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/iotdb/db/metadata/MetadataOperationType.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lambda used in several places should be replaced by inner class that implements the corresponding functional interface to avoid creating lambda class frequently.
Creating a new inner class object or creating a lambda does not seem quite different to me. But I hope using method reference could help a bit. |
# Conflicts: # server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java # server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
# Conflicts: # server/src/main/antlr3/org/apache/iotdb/db/sql/parse/TSLexer.g # server/src/main/antlr3/org/apache/iotdb/db/sql/parse/TSParser.g # server/src/main/java/org/apache/iotdb/db/qp/constant/SQLConstant.java # server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java
server/src/main/java/org/apache/iotdb/db/engine/merge/manage/MergeResource.java
Outdated
Show resolved
Hide resolved
Good job, please fix the conflicts. |
docs/Documentation/UserGuide/5-IoTDB SQL Documentation/1-IoTDB Query Statement.md
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/iotdb/db/qp/executor/AbstractQueryProcessExecutor.java
Show resolved
Hide resolved
# Conflicts: # docs/Documentation-CHN/UserGuide/4-Operation Manual/7-IoTDB Query Language.md # docs/Documentation/UserGuide/4-Operation Manual/7-IoTDB Query Statement.md # server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java # server/src/main/java/org/apache/iotdb/db/metadata/MGraph.java # server/src/main/java/org/apache/iotdb/db/metadata/MManager.java # server/src/main/java/org/apache/iotdb/db/metadata/MTree.java # server/src/main/java/org/apache/iotdb/db/monitor/StatMonitor.java # server/src/main/java/org/apache/iotdb/db/qp/executor/QueryProcessExecutor.java # server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java # server/src/test/java/org/apache/iotdb/db/engine/modification/DeletionFileNodeTest.java # server/src/test/java/org/apache/iotdb/db/engine/modification/DeletionQueryTest.java # server/src/test/java/org/apache/iotdb/db/metadata/MManagerAdvancedTest.java # server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java # server/src/test/java/org/apache/iotdb/db/metadata/MManagerImproveTest.java # server/src/test/java/org/apache/iotdb/db/metadata/MTreeTest.java
# Conflicts: # server/src/main/java/org/apache/iotdb/db/conf/IoTDBConstant.java
# Conflicts: # jdbc/src/main/java/org/apache/iotdb/jdbc/Constant.java # jdbc/src/main/java/org/apache/iotdb/jdbc/IoTDBStatement.java # server/src/main/antlr3/org/apache/iotdb/db/sql/parse/TqlParser.g # server/src/main/java/org/apache/iotdb/db/metadata/MManager.java # server/src/main/java/org/apache/iotdb/db/metadata/MTree.java # server/src/main/java/org/apache/iotdb/db/qp/constant/SQLConstant.java # server/src/main/java/org/apache/iotdb/db/qp/executor/QueryProcessExecutor.java # server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java # server/src/main/java/org/apache/iotdb/db/qp/strategy/PhysicalGenerator.java # server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
docs/Documentation-CHN/UserGuide/4-Operation Manual/7-IoTDB Query Language.md
Show resolved
Hide resolved
docs/Documentation-CHN/UserGuide/4-Operation Manual/7-IoTDB Query Language.md
Show resolved
Hide resolved
server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/iotdb/db/engine/merge/manage/MergeResource.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
Show resolved
Hide resolved
static String combineMetadataInStrings(String[] metadatas) { | ||
return MTree.combineMetadataInStrings(metadatas); | ||
static String combineMetadataInStrings(String[] metadataArray) { | ||
return MTree.combineMetadataInStrings(metadataArray); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this method a devil?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个方法是魔鬼吗,这方法干嘛的,连个例子都没有
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
你问我我也不知道,我只是当了一下语法警察。
server/src/main/java/org/apache/iotdb/db/query/context/QueryContext.java
Show resolved
Hide resolved
# Conflicts: # server/src/main/java/org/apache/iotdb/db/conf/IoTDBConstant.java # server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java # server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java # server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServiceImpl.java
https://issues.apache.org/jira/browse/IOTDB-205