use of io.mycat.net.mysql.OkPacket in project Mycat-Server by MyCATApache.
the class RollbackConfig method execute.
public static void execute(ManagerConnection c) {
final ReentrantLock lock = MycatServer.getInstance().getConfig().getLock();
lock.lock();
try {
if (rollback()) {
StringBuilder s = new StringBuilder();
s.append(c).append("Rollback config success by manager");
LOGGER.warn(s.toString());
OkPacket ok = new OkPacket();
ok.packetId = 1;
ok.affectedRows = 1;
ok.serverStatus = 2;
ok.message = "Rollback config success".getBytes();
ok.write(c);
} else {
c.writeErrMessage(ErrorCode.ER_YES, "Rollback config failure");
}
} finally {
lock.unlock();
}
}
use of io.mycat.net.mysql.OkPacket in project Mycat-Server by MyCATApache.
the class SwitchDataSource method response.
public static void response(String stmt, ManagerConnection c) {
int count = 0;
Pair<String[], Integer> pair = ManagerParseSwitch.getPair(stmt);
Map<String, PhysicalDBPool> dns = MycatServer.getInstance().getConfig().getDataHosts();
Integer idx = pair.getValue();
for (String key : pair.getKey()) {
PhysicalDBPool dn = dns.get(key);
if (dn != null) {
int m = dn.getActivedIndex();
int n = (idx == null) ? dn.next(m) : idx.intValue();
if (dn.switchSource(n, false, "MANAGER")) {
++count;
}
}
}
OkPacket packet = new OkPacket();
packet.packetId = 1;
packet.affectedRows = count;
packet.serverStatus = 2;
packet.write(c);
}
use of io.mycat.net.mysql.OkPacket in project Mycat-Server by MyCATApache.
the class Heartbeat method response.
public static void response(ServerConnection c, byte[] data) {
HeartbeatPacket hp = new HeartbeatPacket();
hp.read(data);
if (MycatServer.getInstance().isOnline()) {
OkPacket ok = new OkPacket();
ok.packetId = 1;
ok.affectedRows = hp.id;
ok.serverStatus = 2;
ok.write(c);
if (HEARTBEAT.isInfoEnabled()) {
HEARTBEAT.info(responseMessage("OK", c, hp.id));
}
} else {
ErrorPacket error = new ErrorPacket();
error.packetId = 1;
error.errno = ErrorCode.ER_SERVER_SHUTDOWN;
error.message = String.valueOf(hp.id).getBytes();
error.write(c);
if (HEARTBEAT.isInfoEnabled()) {
HEARTBEAT.info(responseMessage("ERROR", c, hp.id));
}
}
}
Aggregations