SilverNarcissus commented on a change in pull request #2405:
URL: https://github.com/apache/iotdb/pull/2405#discussion_r557181494
##########
File path: server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
##########
@@ -449,56 +542,63 @@ private void
updateMonitorStatistics(StorageGroupProcessor processor, InsertPlan
*/
public void syncCloseAllProcessor() {
logger.info("Start closing all storage group processor");
- for (StorageGroupProcessor processor : processorMap.values()) {
+ for (VirtualStorageGroupManager processor : processorMap.values()) {
processor.syncCloseAllWorkingTsFileProcessors();
}
}
public void forceCloseAllProcessor() throws TsFileProcessorException {
logger.info("Start force closing all storage group processor");
- for (StorageGroupProcessor processor : processorMap.values()) {
+ for (VirtualStorageGroupManager processor : processorMap.values()) {
processor.forceCloseAllWorkingTsFileProcessors();
}
}
public void closeStorageGroupProcessor(PartialPath storageGroupPath, boolean
isSeq,
boolean isSync) {
- StorageGroupProcessor processor = processorMap.get(storageGroupPath);
- if (processor == null) {
+ if (!processorMap.containsKey(storageGroupPath)) {
return;
}
- if (logger.isInfoEnabled()) {
- logger.info("{} closing sg processor is called for closing {}, seq = {}",
- isSync ? "sync" : "async", storageGroupPath,
- isSeq);
- }
+ VirtualStorageGroupManager virtualStorageGroupManager =
processorMap.get(storageGroupPath);
+ for (StorageGroupProcessor processor : virtualStorageGroupManager
+ .getAllVirutalStorageGroupProcessor()) {
+ if (processor == null) {
+ continue;
+ }
- processor.writeLock();
- try {
- if (isSeq) {
- // to avoid concurrent modification problem, we need a new array list
- for (TsFileProcessor tsfileProcessor : new ArrayList<>(
- processor.getWorkSequenceTsFileProcessors())) {
- if (isSync) {
- processor.syncCloseOneTsFileProcessor(true, tsfileProcessor);
- } else {
- processor.asyncCloseOneTsFileProcessor(true, tsfileProcessor);
+ if (logger.isInfoEnabled()) {
+ logger.info("{} closing sg processor is called for closing {}, seq =
{}",
+ isSync ? "sync" : "async", storageGroupPath,
+ isSeq);
+ }
Review comment:
fixed~
----------------------------------------------------------------
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]