Переглянути джерело

fix bug 同步统计总数

AE86 2 роки тому
батько
коміт
a572fdc44f

+ 6 - 0
dbsyncer-manager/src/main/java/org/dbsyncer/manager/puller/FullPuller.java

@@ -124,6 +124,12 @@ public class FullPuller extends AbstractPuller implements ApplicationListener<Fu
         Meta meta = manager.getMeta(task.getId());
         Assert.notNull(meta, "检查meta为空.");
 
+        // 全量的过程中,有新数据则更新总数
+        long finished = meta.getSuccess().get() + meta.getFail().get();
+        if(meta.getTotal().get() < finished){
+            meta.getTotal().set(finished);
+        }
+
         meta.setBeginTime(task.getBeginTime());
         meta.setEndTime(task.getEndTime());
         Map<String, String> snapshot = meta.getSnapshot();

+ 6 - 6
dbsyncer-parser/src/main/java/org/dbsyncer/parser/ParserFactory.java

@@ -279,16 +279,16 @@ public class ParserFactory implements Parser {
             BatchWriter batchWriter = new BatchWriter(tConnectorMapper, command, sTableName, ConnectorConstant.OPERTION_INSERT, picker.getTargetFields(), target, batchSize);
             Result writer = writeBatch(batchWriter, executorService);
 
-            // 6、判断尾页
+            // 6、更新结果
+            task.setPageIndex(task.getPageIndex() + 1);
+            task.setCursor(getLastCursor(data, pk));
+            flush(task, writer);
+
+            // 7、判断尾页
             if (data.size() < pageSize) {
                 logger.info("完成全量:{}, [{}] >> [{}]", metaId, sTableName, tTableName);
                 break;
             }
-
-            // 7、更新结果
-            task.setPageIndex(task.getPageIndex() + 1);
-            task.setCursor(getLastCursor(data, pk));
-            flush(task, writer);
         }
     }