Browse Source

fixed snapshot expire

七锋 6 years ago
parent
commit
fd7b9d766a

+ 5 - 2
parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java

@@ -84,16 +84,19 @@ public class DatabaseTableMeta implements TableMetaTSDB {
 
                 @Override
                 public void run() {
+                    boolean applyResult = false;
                     try {
                         MDC.put("destination", destination);
-                        applySnapshotToDB(lastPosition, false);
+                        applyResult = applySnapshotToDB(lastPosition, false);
                     } catch (Throwable e) {
                         logger.error("scheudle applySnapshotToDB faield", e);
                     }
 
                     try {
                         MDC.put("destination", destination);
-                        snapshotExpire((int) TimeUnit.HOURS.toSeconds(snapshotExpire));
+                        if (applyResult) {
+                            snapshotExpire((int) TimeUnit.HOURS.toSeconds(snapshotExpire));
+                        }
                     } catch (Throwable e) {
                         logger.error("scheudle snapshotExpire faield", e);
                     }