jt2594838 commented on a change in pull request #460:
URL: https://github.com/apache/iotdb/pull/460#discussion_r537399805
##########
File path:
server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
##########
@@ -2079,16 +2055,21 @@ private void removeFullyOverlapFiles(TsFileResource
newTsFile, Iterator<TsFileRe
private void removeFullyOverlapFile(TsFileResource tsFileResource,
Iterator<TsFileResource> iterator
, boolean isSeq) {
+ logger.info("Removing a covered file {}, closed: {}", tsFileResource,
tsFileResource.isClosed());
if (!tsFileResource.isClosed()) {
- // also remove the TsFileProcessor if the overlapped file is not closed
- long timePartition = tsFileResource.getTimePartition();
- Map<Long, TsFileProcessor> fileProcessorMap = isSeq ?
workSequenceTsFileProcessors :
- workUnsequenceTsFileProcessors;
- TsFileProcessor tsFileProcessor = fileProcessorMap.get(timePartition);
- if (tsFileProcessor != null && tsFileProcessor.getTsFileResource() ==
tsFileResource) {
- //have to take some time to close the tsFileProcessor
- tsFileProcessor.syncClose();
- fileProcessorMap.remove(timePartition);
+ try {
+ // also remove the TsFileProcessor if the overlapped file is not closed
+ long timePartition = tsFileResource.getTimePartition();
+ Map<Long, TsFileProcessor> fileProcessorMap = isSeq ?
workSequenceTsFileProcessors :
+ workUnsequenceTsFileProcessors;
+ TsFileProcessor tsFileProcessor = fileProcessorMap.get(timePartition);
+ if (tsFileProcessor != null && tsFileProcessor.getTsFileResource() ==
tsFileResource) {
+ //have to take some time to close the tsFileProcessor
+ tsFileProcessor.syncClose();
+ fileProcessorMap.remove(timePartition);
+ }
+ } catch (Exception e) {
+ logger.error("Cannot close {}", tsFileResource, e);
Review comment:
The exception will also only be logged in the upper level, so it is fine
to do the logging here. When there is any exception, removing it may not be
safe anymore, we'd better leave it be.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]