Skip to content

Commit

Permalink
fixed issue #483 , show slave hosts
Browse files Browse the repository at this point in the history
  • Loading branch information
agapple committed Sep 4, 2018
1 parent f5bf166 commit 82f8a9f
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,16 @@ public SocketAddress getRemoteSocketAddress() {
if (socket != null) {
return socket.getRemoteSocketAddress();
}

return null;
}

public SocketAddress getLocalSocketAddress() {
Socket socket = this.socket;
if (socket != null) {
return socket.getLocalSocketAddress();
}

return null;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,10 @@ public SocketAddress getRemoteSocketAddress() {
return channel != null ? channel.remoteAddress() : null;
}

public SocketAddress getLocalSocketAddress() {
return channel != null ? channel.localAddress() : null;
}

public void close() {
if (channel != null) {
channel.close();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,7 @@ public interface SocketChannel {

public SocketAddress getRemoteSocketAddress();

public SocketAddress getLocalSocketAddress();

public void close();
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.nio.charset.Charset;
import java.util.List;
import java.util.concurrent.TimeUnit;
Expand Down Expand Up @@ -254,10 +255,18 @@ public void dump(GTIDSet gtidSet, MultiStageCoprocessor coprocessor) throws IOEx

private void sendRegisterSlave() throws IOException {
RegisterSlaveCommandPacket cmd = new RegisterSlaveCommandPacket();
cmd.reportHost = authInfo.getAddress().getAddress().getHostAddress();
SocketAddress socketAddress = connector.getChannel().getLocalSocketAddress();
if (socketAddress == null || !(socketAddress instanceof InetSocketAddress)) {
return;
}

InetSocketAddress address = (InetSocketAddress) socketAddress;
String host = address.getHostString();
int port = address.getPort();
cmd.reportHost = host;
cmd.reportPort = port;
cmd.reportPasswd = authInfo.getPassword();
cmd.reportUser = authInfo.getUsername();
cmd.reportPort = authInfo.getAddress().getPort(); // 暂时先用master节点的port
cmd.serverId = this.slaveId;
byte[] cmdBody = cmd.toBytes();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ public class MysqlBinlogDumpPerformanceTest {

public static void main(String args[]) {
final MysqlEventParser controller = new MysqlEventParser();
final EntryPosition startPosition = new EntryPosition("mysql-bin.001699", 120L, 100L);
final EntryPosition startPosition = new EntryPosition("mysql-bin.000007", 89796293L, 100L);
controller.setConnectionCharset(Charset.forName("UTF-8"));
controller.setSlaveId(3344L);
controller.setDetectingEnable(false);
controller.setFilterQueryDml(true);
controller.setMasterInfo(new AuthenticationInfo(new InetSocketAddress("127.0.0.1", 3328), "root", "hello"));
controller.setMasterInfo(new AuthenticationInfo(new InetSocketAddress("100.81.154.142", 3306), "canal", "canal"));
controller.setMasterPosition(startPosition);
controller.setEnableTsdb(false);
controller.setDestination("example");
Expand Down

0 comments on commit 82f8a9f

Please sign in to comment.