@@ -58,6 +58,7 @@ public class DBConvert implements Callable<Boolean> {
5858 private final long startTime ;
5959 private static final int CPUS = Runtime .getRuntime ().availableProcessors ();
6060 private static final int BATCH = 256 ;
61+ private static final String CHECKPOINT_V2_DIR_NAME = "checkpoint" ;
6162
6263
6364 @ Override
@@ -110,8 +111,18 @@ public static int run(String[] args) {
110111 return 404 ;
111112 }
112113 List <File > files = Arrays .stream (Objects .requireNonNull (dbDirectory .listFiles ()))
113- .filter (File ::isDirectory ).collect (
114- Collectors .toList ());
114+ .filter (File ::isDirectory )
115+ .filter (e -> !CHECKPOINT_V2_DIR_NAME .equals (e .getName ()))
116+ .collect (Collectors .toList ());
117+
118+ // add checkpoint v2 convert
119+ File cpV2Dir = new File (Paths .get (dbSrc , CHECKPOINT_V2_DIR_NAME ).toString ());
120+ List <File > cpList = null ;
121+ if (cpV2Dir .exists ()) {
122+ cpList = Arrays .stream (Objects .requireNonNull (cpV2Dir .listFiles ()))
123+ .filter (File ::isDirectory )
124+ .collect (Collectors .toList ());
125+ }
115126
116127 if (files .isEmpty ()) {
117128 logger .info ("{} does not contain any database." , dbSrc );
@@ -128,6 +139,12 @@ public static int run(String[] args) {
128139 esDb .allowCoreThreadTimeOut (true );
129140
130141 files .forEach (f -> res .add (esDb .submit (new DBConvert (dbSrc , dbDst , f .getName ()))));
142+ // convert v2
143+ if (cpList != null ) {
144+ cpList .forEach (f -> res .add (esDb .submit (
145+ new DBConvert (dbSrc + "/" + CHECKPOINT_V2_DIR_NAME ,
146+ dbDst + "/" + CHECKPOINT_V2_DIR_NAME , f .getName ()))));
147+ }
131148
132149 int fails = res .size ();
133150
0 commit comments