mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
fixed format & import
This commit is contained in:
@@ -349,7 +349,9 @@ public class CanalInstanceWithManager extends AbstractCanalInstance {
|
|||||||
} else if (indexMode.isMixed()) {
|
} else if (indexMode.isMixed()) {
|
||||||
MemoryLogPositionManager memoryLogPositionManager = new MemoryLogPositionManager();
|
MemoryLogPositionManager memoryLogPositionManager = new MemoryLogPositionManager();
|
||||||
ZooKeeperLogPositionManager zooKeeperLogPositionManager = new ZooKeeperLogPositionManager(getZkclientx());
|
ZooKeeperLogPositionManager zooKeeperLogPositionManager = new ZooKeeperLogPositionManager(getZkclientx());
|
||||||
logPositionManager = new PeriodMixedLogPositionManager(memoryLogPositionManager, zooKeeperLogPositionManager, 1000L);
|
logPositionManager = new PeriodMixedLogPositionManager(memoryLogPositionManager,
|
||||||
|
zooKeeperLogPositionManager,
|
||||||
|
1000L);
|
||||||
} else if (indexMode.isMeta()) {
|
} else if (indexMode.isMeta()) {
|
||||||
logPositionManager = new MetaLogPositionManager(metaManager);
|
logPositionManager = new MetaLogPositionManager(metaManager);
|
||||||
} else if (indexMode.isMemoryMetaFailback()) {
|
} else if (indexMode.isMemoryMetaFailback()) {
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import java.util.TimerTask;
|
|||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.index.CanalLogPositionManager;
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.lang.exception.ExceptionUtils;
|
import org.apache.commons.lang.exception.ExceptionUtils;
|
||||||
import org.apache.commons.lang.math.RandomUtils;
|
import org.apache.commons.lang.math.RandomUtils;
|
||||||
@@ -23,6 +22,7 @@ import com.alibaba.otter.canal.parse.CanalEventParser;
|
|||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
import com.alibaba.otter.canal.parse.exception.TableIdNotFoundException;
|
import com.alibaba.otter.canal.parse.exception.TableIdNotFoundException;
|
||||||
import com.alibaba.otter.canal.parse.inbound.EventTransactionBuffer.TransactionFlushCallback;
|
import com.alibaba.otter.canal.parse.inbound.EventTransactionBuffer.TransactionFlushCallback;
|
||||||
|
import com.alibaba.otter.canal.parse.index.CanalLogPositionManager;
|
||||||
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
||||||
import com.alibaba.otter.canal.protocol.CanalEntry;
|
import com.alibaba.otter.canal.protocol.CanalEntry;
|
||||||
import com.alibaba.otter.canal.protocol.CanalEntry.Entry;
|
import com.alibaba.otter.canal.protocol.CanalEntry.Entry;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.alibaba.otter.canal.parse.inbound.mysql;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.index.CanalLogPositionManager;
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.CanalEventParser;
|
import com.alibaba.otter.canal.parse.CanalEventParser;
|
||||||
@@ -10,6 +9,7 @@ import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
|||||||
import com.alibaba.otter.canal.parse.inbound.ErosaConnection;
|
import com.alibaba.otter.canal.parse.inbound.ErosaConnection;
|
||||||
import com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert;
|
import com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert;
|
||||||
import com.alibaba.otter.canal.parse.inbound.mysql.dbsync.TableMetaCache;
|
import com.alibaba.otter.canal.parse.inbound.mysql.dbsync.TableMetaCache;
|
||||||
|
import com.alibaba.otter.canal.parse.index.CanalLogPositionManager;
|
||||||
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
||||||
import com.alibaba.otter.canal.protocol.position.EntryPosition;
|
import com.alibaba.otter.canal.protocol.position.EntryPosition;
|
||||||
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ package com.alibaba.otter.canal.parse.index;
|
|||||||
import com.alibaba.otter.canal.common.AbstractCanalLifeCycle;
|
import com.alibaba.otter.canal.common.AbstractCanalLifeCycle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by yinxiu on 17/3/17.
|
* Created by yinxiu on 17/3/17. Email: marklin.hz@gmail.com
|
||||||
* Email: marklin.hz@gmail.com
|
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractLogPositionManager extends AbstractCanalLifeCycle implements CanalLogPositionManager {
|
public abstract class AbstractLogPositionManager extends AbstractCanalLifeCycle implements CanalLogPositionManager {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
|||||||
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by yinxiu on 17/3/17.
|
* Created by yinxiu on 17/3/17. Email: marklin.hz@gmail.com
|
||||||
* Email: marklin.hz@gmail.com
|
|
||||||
*/
|
*/
|
||||||
public interface CanalLogPositionManager extends CanalLifeCycle {
|
public interface CanalLogPositionManager extends CanalLifeCycle {
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
package com.alibaba.otter.canal.parse.index;
|
package com.alibaba.otter.canal.parse.index;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
|
||||||
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
|
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by yinxiu on 17/3/18.
|
* Created by yinxiu on 17/3/18. Email: marklin.hz@gmail.com
|
||||||
* Email: marklin.hz@gmail.com
|
|
||||||
*
|
|
||||||
* 实现基于failover查找的机制完成meta的操作
|
* 实现基于failover查找的机制完成meta的操作
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
@@ -74,7 +73,10 @@ public class FailbackLogPositionManager extends AbstractLogPositionManager {
|
|||||||
try {
|
try {
|
||||||
primary.persistLogPosition(destination, logPosition);
|
primary.persistLogPosition(destination, logPosition);
|
||||||
} catch (CanalParseException e) {
|
} catch (CanalParseException e) {
|
||||||
logger.warn("persistLogPosition use primary log position manager exception. destination: {}, logPosition: {}", destination, logPosition, e);
|
logger.warn("persistLogPosition use primary log position manager exception. destination: {}, logPosition: {}",
|
||||||
|
destination,
|
||||||
|
logPosition,
|
||||||
|
e);
|
||||||
secondary.persistLogPosition(destination, logPosition);
|
secondary.persistLogPosition(destination, logPosition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,28 +1,32 @@
|
|||||||
package com.alibaba.otter.canal.parse.index;
|
package com.alibaba.otter.canal.parse.index;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.common.utils.JsonUtils;
|
import com.alibaba.otter.canal.common.utils.JsonUtils;
|
||||||
import com.alibaba.otter.canal.meta.exception.CanalMetaManagerException;
|
import com.alibaba.otter.canal.meta.exception.CanalMetaManagerException;
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import com.google.common.collect.MigrateMap;
|
import com.google.common.collect.MigrateMap;
|
||||||
import org.apache.commons.io.FileUtils;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.charset.Charset;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.concurrent.Executors;
|
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by yinxiu on 17/3/18.
|
* Created by yinxiu on 17/3/18. Email: marklin.hz@gmail.com 基于文件刷新的log
|
||||||
* Email: marklin.hz@gmail.com
|
* position实现
|
||||||
*
|
|
||||||
* 基于文件刷新的log position实现
|
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* 策略:
|
* 策略:
|
||||||
@@ -41,7 +45,8 @@ public class FileMixedLogPositionManager extends AbstractLogPositionManager {
|
|||||||
|
|
||||||
private ScheduledExecutorService executorService;
|
private ScheduledExecutorService executorService;
|
||||||
|
|
||||||
private final LogPosition nullPosition = new LogPosition(){};
|
private final LogPosition nullPosition = new LogPosition() {
|
||||||
|
};
|
||||||
|
|
||||||
private MemoryLogPositionManager memoryLogPositionManager;
|
private MemoryLogPositionManager memoryLogPositionManager;
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
package com.alibaba.otter.canal.parse.index;
|
package com.alibaba.otter.canal.parse.index;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
||||||
import com.google.common.collect.MapMaker;
|
import com.google.common.collect.MapMaker;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by yinxiu on 17/3/17.
|
* Created by yinxiu on 17/3/17. Email: marklin.hz@gmail.com
|
||||||
* Email: marklin.hz@gmail.com
|
|
||||||
*/
|
*/
|
||||||
public class MemoryLogPositionManager extends AbstractLogPositionManager {
|
public class MemoryLogPositionManager extends AbstractLogPositionManager {
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
package com.alibaba.otter.canal.parse.index;
|
package com.alibaba.otter.canal.parse.index;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.meta.CanalMetaManager;
|
import com.alibaba.otter.canal.meta.CanalMetaManager;
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
import com.alibaba.otter.canal.protocol.ClientIdentity;
|
import com.alibaba.otter.canal.protocol.ClientIdentity;
|
||||||
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
||||||
import com.alibaba.otter.canal.store.helper.CanalEventUtils;
|
import com.alibaba.otter.canal.store.helper.CanalEventUtils;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.util.CollectionUtils;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by yinxiu on 17/3/18.
|
* Created by yinxiu on 17/3/18. Email: marklin.hz@gmail.com
|
||||||
* Email: marklin.hz@gmail.com
|
|
||||||
*/
|
*/
|
||||||
public class MetaLogPositionManager extends AbstractLogPositionManager {
|
public class MetaLogPositionManager extends AbstractLogPositionManager {
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,17 @@
|
|||||||
package com.alibaba.otter.canal.parse.index;
|
package com.alibaba.otter.canal.parse.index;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.common.zookeeper.ZkClientx;
|
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
|
||||||
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import com.alibaba.otter.canal.common.zookeeper.ZkClientx;
|
||||||
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
|
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by yinxiu on 17/3/17.
|
* Created by yinxiu on 17/3/17. Email: marklin.hz@gmail.com Memory first.
|
||||||
* Email: marklin.hz@gmail.com
|
|
||||||
*
|
|
||||||
* Memory first.
|
|
||||||
* Asynchronous commit position info to ZK.
|
* Asynchronous commit position info to ZK.
|
||||||
*/
|
*/
|
||||||
public class MixedLogPositionManager extends AbstractLogPositionManager {
|
public class MixedLogPositionManager extends AbstractLogPositionManager {
|
||||||
@@ -71,6 +69,7 @@ public class MixedLogPositionManager extends AbstractLogPositionManager {
|
|||||||
public void persistLogPosition(final String destination, final LogPosition logPosition) throws CanalParseException {
|
public void persistLogPosition(final String destination, final LogPosition logPosition) throws CanalParseException {
|
||||||
memoryLogPositionManager.persistLogPosition(destination, logPosition);
|
memoryLogPositionManager.persistLogPosition(destination, logPosition);
|
||||||
executor.submit(new Runnable() {
|
executor.submit(new Runnable() {
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
zooKeeperLogPositionManager.persistLogPosition(destination, logPosition);
|
zooKeeperLogPositionManager.persistLogPosition(destination, logPosition);
|
||||||
|
|||||||
@@ -1,18 +1,22 @@
|
|||||||
package com.alibaba.otter.canal.parse.index;
|
package com.alibaba.otter.canal.parse.index;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
import java.util.ArrayList;
|
||||||
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
import java.util.Collections;
|
||||||
import org.slf4j.Logger;
|
import java.util.HashSet;
|
||||||
import org.slf4j.LoggerFactory;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.*;
|
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
|
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by yinxiu on 17/3/18.
|
* Created by yinxiu on 17/3/18. Email: marklin.hz@gmail.com
|
||||||
* Email: marklin.hz@gmail.com
|
|
||||||
*/
|
*/
|
||||||
public class PeriodMixedLogPositionManager extends AbstractLogPositionManager {
|
public class PeriodMixedLogPositionManager extends AbstractLogPositionManager {
|
||||||
|
|
||||||
@@ -25,9 +29,11 @@ public class PeriodMixedLogPositionManager extends AbstractLogPositionManager {
|
|||||||
private long period;
|
private long period;
|
||||||
private Set<String> persistTasks;
|
private Set<String> persistTasks;
|
||||||
|
|
||||||
private final LogPosition nullPosition = new LogPosition(){};
|
private final LogPosition nullPosition = new LogPosition() {
|
||||||
|
};
|
||||||
|
|
||||||
public PeriodMixedLogPositionManager(MemoryLogPositionManager memoryLogPositionManager, ZooKeeperLogPositionManager zooKeeperLogPositionManager, long period) {
|
public PeriodMixedLogPositionManager(MemoryLogPositionManager memoryLogPositionManager,
|
||||||
|
ZooKeeperLogPositionManager zooKeeperLogPositionManager, long period){
|
||||||
if (memoryLogPositionManager == null) {
|
if (memoryLogPositionManager == null) {
|
||||||
throw new NullPointerException("null memoryLogPositionManager");
|
throw new NullPointerException("null memoryLogPositionManager");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
package com.alibaba.otter.canal.parse.index;
|
package com.alibaba.otter.canal.parse.index;
|
||||||
|
|
||||||
|
import org.I0Itec.zkclient.exception.ZkNoNodeException;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.common.utils.JsonUtils;
|
import com.alibaba.otter.canal.common.utils.JsonUtils;
|
||||||
import com.alibaba.otter.canal.common.zookeeper.ZkClientx;
|
import com.alibaba.otter.canal.common.zookeeper.ZkClientx;
|
||||||
import com.alibaba.otter.canal.common.zookeeper.ZookeeperPathUtils;
|
import com.alibaba.otter.canal.common.zookeeper.ZookeeperPathUtils;
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
import com.alibaba.otter.canal.protocol.position.LogPosition;
|
||||||
import org.I0Itec.zkclient.exception.ZkNoNodeException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by yinxiu on 17/3/17.
|
* Created by yinxiu on 17/3/17. Email: marklin.hz@gmail.com
|
||||||
* Email: marklin.hz@gmail.com
|
|
||||||
*/
|
*/
|
||||||
public class ZooKeeperLogPositionManager extends AbstractLogPositionManager {
|
public class ZooKeeperLogPositionManager extends AbstractLogPositionManager {
|
||||||
|
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ package com.alibaba.otter.canal.parse.inbound.group;
|
|||||||
|
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.index.AbstractLogPositionManager;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
import com.alibaba.otter.canal.parse.inbound.AbstractBinlogParser;
|
import com.alibaba.otter.canal.parse.inbound.AbstractBinlogParser;
|
||||||
import com.alibaba.otter.canal.parse.inbound.BinlogParser;
|
import com.alibaba.otter.canal.parse.inbound.BinlogParser;
|
||||||
import com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser;
|
import com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser;
|
||||||
|
import com.alibaba.otter.canal.parse.index.AbstractLogPositionManager;
|
||||||
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
||||||
import com.alibaba.otter.canal.protocol.CanalEntry.Entry;
|
import com.alibaba.otter.canal.protocol.CanalEntry.Entry;
|
||||||
import com.alibaba.otter.canal.protocol.position.EntryPosition;
|
import com.alibaba.otter.canal.protocol.position.EntryPosition;
|
||||||
@@ -71,6 +71,7 @@ public class GroupEventPaserTest {
|
|||||||
mysqlEventPaser.setBinlogParser(buildParser(buildAuthentication()));
|
mysqlEventPaser.setBinlogParser(buildParser(buildAuthentication()));
|
||||||
mysqlEventPaser.setEventSink(new EntryEventSink());
|
mysqlEventPaser.setEventSink(new EntryEventSink());
|
||||||
mysqlEventPaser.setLogPositionManager(new AbstractLogPositionManager() {
|
mysqlEventPaser.setLogPositionManager(new AbstractLogPositionManager() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LogPosition getLatestIndexBy(String destination) {
|
public LogPosition getLatestIndexBy(String destination) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ import java.net.InetSocketAddress;
|
|||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
|
||||||
import com.alibaba.otter.canal.parse.index.AbstractLogPositionManager;
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
|
import com.alibaba.otter.canal.parse.index.AbstractLogPositionManager;
|
||||||
import com.alibaba.otter.canal.parse.stub.AbstractCanalEventSinkTest;
|
import com.alibaba.otter.canal.parse.stub.AbstractCanalEventSinkTest;
|
||||||
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
||||||
import com.alibaba.otter.canal.protocol.CanalEntry.Column;
|
import com.alibaba.otter.canal.protocol.CanalEntry.Column;
|
||||||
@@ -82,6 +82,7 @@ public class LocalBinlogDumpTest {
|
|||||||
|
|
||||||
});
|
});
|
||||||
controller.setLogPositionManager(new AbstractLogPositionManager() {
|
controller.setLogPositionManager(new AbstractLogPositionManager() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LogPosition getLatestIndexBy(String destination) {
|
public LogPosition getLatestIndexBy(String destination) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ import java.util.Date;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.index.AbstractLogPositionManager;
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.helper.TimeoutChecker;
|
import com.alibaba.otter.canal.parse.helper.TimeoutChecker;
|
||||||
|
import com.alibaba.otter.canal.parse.index.AbstractLogPositionManager;
|
||||||
import com.alibaba.otter.canal.parse.stub.AbstractCanalEventSinkTest;
|
import com.alibaba.otter.canal.parse.stub.AbstractCanalEventSinkTest;
|
||||||
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
||||||
import com.alibaba.otter.canal.protocol.CanalEntry.Entry;
|
import com.alibaba.otter.canal.protocol.CanalEntry.Entry;
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ import java.net.InetSocketAddress;
|
|||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
|
||||||
import com.alibaba.otter.canal.parse.index.AbstractLogPositionManager;
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
|
import com.alibaba.otter.canal.parse.index.AbstractLogPositionManager;
|
||||||
import com.alibaba.otter.canal.parse.stub.AbstractCanalEventSinkTest;
|
import com.alibaba.otter.canal.parse.stub.AbstractCanalEventSinkTest;
|
||||||
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
||||||
import com.alibaba.otter.canal.protocol.CanalEntry.Column;
|
import com.alibaba.otter.canal.protocol.CanalEntry.Column;
|
||||||
@@ -85,6 +85,7 @@ public class MysqlDumpTest {
|
|||||||
|
|
||||||
});
|
});
|
||||||
controller.setLogPositionManager(new AbstractLogPositionManager() {
|
controller.setLogPositionManager(new AbstractLogPositionManager() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LogPosition getLatestIndexBy(String destination) {
|
public LogPosition getLatestIndexBy(String destination) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ import java.util.Date;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
|
||||||
import com.alibaba.otter.canal.parse.index.AbstractLogPositionManager;
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import com.alibaba.otter.canal.parse.exception.CanalParseException;
|
||||||
import com.alibaba.otter.canal.parse.helper.TimeoutChecker;
|
import com.alibaba.otter.canal.parse.helper.TimeoutChecker;
|
||||||
|
import com.alibaba.otter.canal.parse.index.AbstractLogPositionManager;
|
||||||
import com.alibaba.otter.canal.parse.stub.AbstractCanalEventSinkTest;
|
import com.alibaba.otter.canal.parse.stub.AbstractCanalEventSinkTest;
|
||||||
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
import com.alibaba.otter.canal.parse.support.AuthenticationInfo;
|
||||||
import com.alibaba.otter.canal.protocol.CanalEntry.Entry;
|
import com.alibaba.otter.canal.protocol.CanalEntry.Entry;
|
||||||
@@ -69,6 +69,7 @@ public class MysqlEventParserTest {
|
|||||||
});
|
});
|
||||||
|
|
||||||
controller.setLogPositionManager(new AbstractLogPositionManager() {
|
controller.setLogPositionManager(new AbstractLogPositionManager() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LogPosition getLatestIndexBy(String destination) {
|
public LogPosition getLatestIndexBy(String destination) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -28,13 +28,17 @@ public class FileMixedLogPositionManagerTest extends AbstractLogPositionManagerT
|
|||||||
public void testAll() {
|
public void testAll() {
|
||||||
MemoryLogPositionManager memoryLogPositionManager = new MemoryLogPositionManager();
|
MemoryLogPositionManager memoryLogPositionManager = new MemoryLogPositionManager();
|
||||||
|
|
||||||
FileMixedLogPositionManager logPositionManager = new FileMixedLogPositionManager(dataDir, 1000, memoryLogPositionManager);
|
FileMixedLogPositionManager logPositionManager = new FileMixedLogPositionManager(dataDir,
|
||||||
|
1000,
|
||||||
|
memoryLogPositionManager);
|
||||||
logPositionManager.start();
|
logPositionManager.start();
|
||||||
|
|
||||||
LogPosition position2 = doTest(logPositionManager);
|
LogPosition position2 = doTest(logPositionManager);
|
||||||
sleep(1500);
|
sleep(1500);
|
||||||
|
|
||||||
FileMixedLogPositionManager logPositionManager2 = new FileMixedLogPositionManager(dataDir, 1000, memoryLogPositionManager);
|
FileMixedLogPositionManager logPositionManager2 = new FileMixedLogPositionManager(dataDir,
|
||||||
|
1000,
|
||||||
|
memoryLogPositionManager);
|
||||||
logPositionManager2.start();
|
logPositionManager2.start();
|
||||||
|
|
||||||
LogPosition getPosition2 = logPositionManager2.getLatestIndexBy(destination);
|
LogPosition getPosition2 = logPositionManager2.getLatestIndexBy(destination);
|
||||||
|
|||||||
Reference in New Issue
Block a user