mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
fix bug of repeat log manager
This commit is contained in:
@@ -74,10 +74,8 @@
|
|||||||
<appender-ref ref="CANAL-META" />
|
<appender-ref ref="CANAL-META" />
|
||||||
</logger>
|
</logger>
|
||||||
|
|
||||||
<root level="WARN">
|
<root level="INFO">
|
||||||
<!--
|
<!--<appender-ref ref="STDOUT"/>-->
|
||||||
<appender-ref ref="STDOUT"/>
|
|
||||||
-->
|
|
||||||
<appender-ref ref="CANAL-ROOT" />
|
<appender-ref ref="CANAL-ROOT" />
|
||||||
</root>
|
</root>
|
||||||
</configuration>
|
</configuration>
|
||||||
@@ -43,7 +43,7 @@ public class FailbackLogPositionManager extends AbstractLogPositionManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!secondary.isStart()) {
|
if (!secondary.isStart()) {
|
||||||
primary.start();
|
secondary.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,8 +40,13 @@ public class MixedLogPositionManager extends AbstractLogPositionManager {
|
|||||||
public void start() {
|
public void start() {
|
||||||
super.start();
|
super.start();
|
||||||
|
|
||||||
memoryLogPositionManager.start();
|
if (!memoryLogPositionManager.isStart()) {
|
||||||
zooKeeperLogPositionManager.start();
|
memoryLogPositionManager.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!zooKeeperLogPositionManager.isStart()) {
|
||||||
|
zooKeeperLogPositionManager.start();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -45,8 +45,7 @@ public class MetaLogPositionManagerTest extends AbstractLogPositionManagerTest {
|
|||||||
metaManager.setZooKeeperMetaManager(zooKeeperMetaManager);
|
metaManager.setZooKeeperMetaManager(zooKeeperMetaManager);
|
||||||
metaManager.start();
|
metaManager.start();
|
||||||
|
|
||||||
MetaLogPositionManager logPositionManager = new MetaLogPositionManager();
|
MetaLogPositionManager logPositionManager = new MetaLogPositionManager(metaManager);
|
||||||
logPositionManager.setMetaManager(metaManager);
|
|
||||||
logPositionManager.start();
|
logPositionManager.start();
|
||||||
// 构建meta信息
|
// 构建meta信息
|
||||||
ClientIdentity client1 = new ClientIdentity(destination, (short) 1);
|
ClientIdentity client1 = new ClientIdentity(destination, (short) 1);
|
||||||
|
|||||||
@@ -27,19 +27,16 @@ public class MixedLogPositionManagerTest extends AbstractLogPositionManagerTest
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAll() {
|
public void testAll() {
|
||||||
MixedLogPositionManager logPositionManager = new MixedLogPositionManager();
|
MemoryLogPositionManager memoryLogPositionManager = new MemoryLogPositionManager();
|
||||||
|
ZooKeeperLogPositionManager zookeeperLogPositionManager = new ZooKeeperLogPositionManager(zkclientx);
|
||||||
|
|
||||||
ZooKeeperLogPositionManager zookeeperLogPositionManager = new ZooKeeperLogPositionManager();
|
MixedLogPositionManager logPositionManager = new MixedLogPositionManager(zkclientx);
|
||||||
zookeeperLogPositionManager.setZkClientx(zkclientx);
|
|
||||||
|
|
||||||
logPositionManager.setZooKeeperLogPositionManager(zookeeperLogPositionManager);
|
|
||||||
logPositionManager.start();
|
logPositionManager.start();
|
||||||
|
|
||||||
LogPosition position2 = doTest(logPositionManager);
|
LogPosition position2 = doTest(logPositionManager);
|
||||||
sleep(1000);
|
sleep(1000);
|
||||||
|
|
||||||
MixedLogPositionManager logPositionManager2 = new MixedLogPositionManager();
|
MixedLogPositionManager logPositionManager2 = new MixedLogPositionManager(zkclientx);
|
||||||
logPositionManager2.setZooKeeperLogPositionManager(zookeeperLogPositionManager);
|
|
||||||
logPositionManager2.start();
|
logPositionManager2.start();
|
||||||
|
|
||||||
LogPosition getPosition2 = logPositionManager2.getLatestIndexBy(destination);
|
LogPosition getPosition2 = logPositionManager2.getLatestIndexBy(destination);
|
||||||
|
|||||||
@@ -27,19 +27,17 @@ public class PeriodMixedLogPositionManagerTest extends AbstractLogPositionManage
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAll() {
|
public void testAll() {
|
||||||
PeriodMixedLogPositionManager logPositionManager = new PeriodMixedLogPositionManager();
|
MemoryLogPositionManager memoryLogPositionManager = new MemoryLogPositionManager();
|
||||||
|
ZooKeeperLogPositionManager zookeeperLogPositionManager = new ZooKeeperLogPositionManager(zkclientx);
|
||||||
|
|
||||||
ZooKeeperLogPositionManager zookeeperLogPositionManager = new ZooKeeperLogPositionManager();
|
PeriodMixedLogPositionManager logPositionManager = new PeriodMixedLogPositionManager(memoryLogPositionManager, zookeeperLogPositionManager, 1000L);
|
||||||
zookeeperLogPositionManager.setZkClientx(zkclientx);
|
|
||||||
|
|
||||||
logPositionManager.setZooKeeperLogPositionManager(zookeeperLogPositionManager);
|
|
||||||
logPositionManager.start();
|
logPositionManager.start();
|
||||||
|
|
||||||
LogPosition position2 = doTest(logPositionManager);
|
LogPosition position2 = doTest(logPositionManager);
|
||||||
sleep(1500);
|
sleep(1500);
|
||||||
|
|
||||||
PeriodMixedLogPositionManager logPositionManager2 = new PeriodMixedLogPositionManager();
|
PeriodMixedLogPositionManager logPositionManager2 = new PeriodMixedLogPositionManager(memoryLogPositionManager, zookeeperLogPositionManager, 1000L);
|
||||||
logPositionManager2.setZooKeeperLogPositionManager(zookeeperLogPositionManager);
|
|
||||||
logPositionManager2.start();
|
logPositionManager2.start();
|
||||||
|
|
||||||
LogPosition getPosition2 = logPositionManager2.getLatestIndexBy(destination);
|
LogPosition getPosition2 = logPositionManager2.getLatestIndexBy(destination);
|
||||||
|
|||||||
@@ -25,8 +25,7 @@ public class ZooKeeperLogPositionManagerTest extends AbstractLogPositionManagerT
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAll() {
|
public void testAll() {
|
||||||
ZooKeeperLogPositionManager logPositionManager = new ZooKeeperLogPositionManager();
|
ZooKeeperLogPositionManager logPositionManager = new ZooKeeperLogPositionManager(zkclientx);
|
||||||
logPositionManager.setZkClientx(zkclientx);
|
|
||||||
logPositionManager.start();
|
logPositionManager.start();
|
||||||
|
|
||||||
doTest(logPositionManager);
|
doTest(logPositionManager);
|
||||||
|
|||||||
Reference in New Issue
Block a user