@@ -673,6 +673,7 @@ private void continueFailedRenames(File fileFolder, String suffix) {
673
673
674
674
private void recoverTsFiles (List <TsFileResource > tsFiles , boolean isSeq ) throws IOException {
675
675
boolean needsCheckTsFile = true ;
676
+ List <TsFileResource > resourcesToBeInserted = new ArrayList <>();
676
677
for (int i = tsFiles .size () - 1 ; i >= 0 ; i --) {
677
678
TsFileResource tsFileResource = tsFiles .get (i );
678
679
long timePartitionId = tsFileResource .getTimePartition ();
@@ -694,7 +695,7 @@ private void recoverTsFiles(List<TsFileResource> tsFiles, boolean isSeq) throws
694
695
writer =
695
696
recoverPerformer .recover (false , this ::getWalDirectByteBuffer , this ::releaseWalBuffer );
696
697
tsFileResource .setClosed (true );
697
- tsFileManagement .add (tsFileResource , isSeq );
698
+ resourcesToBeInserted .add (tsFileResource );
698
699
continue ;
699
700
} else {
700
701
writer =
@@ -769,7 +770,10 @@ private void recoverTsFiles(List<TsFileResource> tsFiles, boolean isSeq) throws
769
770
tsFileProcessor .getTsFileProcessorInfo ().addTSPMemCost (chunkMetadataSize );
770
771
}
771
772
}
772
- tsFileManagement .add (tsFileResource , isSeq );
773
+ resourcesToBeInserted .add (tsFileResource );
774
+ }
775
+ for (int i = resourcesToBeInserted .size () - 1 ; i >= 0 ; --i ) {
776
+ tsFileManagement .add (resourcesToBeInserted .get (i ), isSeq );
773
777
}
774
778
}
775
779
0 commit comments