提交 3dbf4757 编写于 作者: F fjy

fix linux test failures

上级 5227b430
...@@ -253,7 +253,7 @@ public class DruidClusterBridge ...@@ -253,7 +253,7 @@ public class DruidClusterBridge
log.warn(e, "Unable to close leaderLatch, ignoring"); log.warn(e, "Unable to close leaderLatch, ignoring");
} }
exec.shutdownNow(); exec.shutdown();
started = false; started = false;
} }
......
...@@ -148,8 +148,12 @@ public class DruidClusterBridgeTest ...@@ -148,8 +148,12 @@ public class DruidClusterBridgeTest
0 0
); );
DbSegmentPublisher dbSegmentPublisher = EasyMock.createMock(DbSegmentPublisher.class); DbSegmentPublisher dbSegmentPublisher = EasyMock.createMock(DbSegmentPublisher.class);
EasyMock.replay(dbSegmentPublisher);
DatabaseSegmentManager databaseSegmentManager = EasyMock.createMock(DatabaseSegmentManager.class); DatabaseSegmentManager databaseSegmentManager = EasyMock.createMock(DatabaseSegmentManager.class);
EasyMock.replay(databaseSegmentManager);
ServerView serverView = EasyMock.createMock(ServerView.class); ServerView serverView = EasyMock.createMock(ServerView.class);
EasyMock.replay(serverView);
BridgeZkCoordinator bridgeZkCoordinator = new BridgeZkCoordinator( BridgeZkCoordinator bridgeZkCoordinator = new BridgeZkCoordinator(
jsonMapper, jsonMapper,
zkPathsConfig, zkPathsConfig,
...@@ -163,9 +167,9 @@ public class DruidClusterBridgeTest ...@@ -163,9 +167,9 @@ public class DruidClusterBridgeTest
Announcer announcer = new Announcer(remoteCf, Executors.newSingleThreadExecutor()); Announcer announcer = new Announcer(remoteCf, Executors.newSingleThreadExecutor());
announcer.start(); announcer.start();
announcer.announce(zkPathsConfig.getAnnouncementsPath() + "/" + me.getHost(), jsonMapper.writeValueAsBytes(me)); announcer.announce(zkPathsConfig.getAnnouncementsPath() + "/" + me.getHost(), jsonMapper.writeValueAsBytes(me));
BatchDataSegmentAnnouncer batchDataSegmentAnnouncer = EasyMock.createMock(BatchDataSegmentAnnouncer.class); BatchDataSegmentAnnouncer batchDataSegmentAnnouncer = EasyMock.createMock(BatchDataSegmentAnnouncer.class);
BatchServerInventoryView batchServerInventoryView = EasyMock.createMock(BatchServerInventoryView.class); BatchServerInventoryView batchServerInventoryView = EasyMock.createMock(BatchServerInventoryView.class);
EasyMock.expect(batchServerInventoryView.getInventory()).andReturn( EasyMock.expect(batchServerInventoryView.getInventory()).andReturn(
Arrays.asList( Arrays.asList(
new DruidServer("1", "localhost", 117, "historical", DruidServer.DEFAULT_TIER, 0), new DruidServer("1", "localhost", 117, "historical", DruidServer.DEFAULT_TIER, 0),
...@@ -187,7 +191,6 @@ public class DruidClusterBridgeTest ...@@ -187,7 +191,6 @@ public class DruidClusterBridgeTest
EasyMock.expectLastCall(); EasyMock.expectLastCall();
EasyMock.replay(batchServerInventoryView); EasyMock.replay(batchServerInventoryView);
DruidClusterBridge bridge = new DruidClusterBridge( DruidClusterBridge bridge = new DruidClusterBridge(
jsonMapper, jsonMapper,
config, config,
...@@ -224,21 +227,40 @@ public class DruidClusterBridgeTest ...@@ -224,21 +227,40 @@ public class DruidClusterBridgeTest
retry++; retry++;
} }
DruidServerMetadata announced = jsonMapper.readValue( boolean verified = verifyUpdate(jsonMapper, path, remoteCf);
remoteCf.getData().forPath(path), retry = 0;
DruidServerMetadata.class while (!verified) {
); if (retry > 5) {
throw new ISE("No updates to bridge node occurred");
}
Assert.assertEquals(118, announced.getMaxSize()); Thread.sleep(100);
retry++;
bridge.stop(); verified = verifyUpdate(jsonMapper, path, remoteCf);
EasyMock.verify(batchServerInventoryView); }
announcer.stop(); announcer.stop();
bridge.stop();
remoteCf.close(); remoteCf.close();
remoteCluster.close(); remoteCluster.close();
localCf.close(); localCf.close();
localCluster.close(); localCluster.close();
EasyMock.verify(batchServerInventoryView);
EasyMock.verify(dbSegmentPublisher);
EasyMock.verify(databaseSegmentManager);
EasyMock.verify(serverView);
}
private boolean verifyUpdate(ObjectMapper jsonMapper, String path, CuratorFramework remoteCf) throws Exception
{
DruidServerMetadata announced = jsonMapper.readValue(
remoteCf.getData().forPath(path),
DruidServerMetadata.class
);
return (118 == announced.getMaxSize());
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册