public class MastersSlavesProtocol extends MasterProtocol
Modifier and Type | Field and Description |
---|---|
protected boolean |
masterConnection |
private boolean |
mustBeMasterConnection |
readScheduler
activeStreamingResult, autoIncrementIncrement, connected, database, eofDeprecated, explicitClosed, hasWarnings, lock, options, proxy, reader, readOnly, serverCapabilities, serverPrepareStatementCache, serverStatus, serverThreadId, socket, urlParser, writer
Constructor and Description |
---|
MastersSlavesProtocol(UrlParser url,
GlobalStateInfo globalInfo,
java.util.concurrent.locks.ReentrantLock lock) |
Modifier and Type | Method and Description |
---|---|
protected static boolean |
foundMaster(MastersSlavesListener listener,
MastersSlavesProtocol protocol,
SearchFilter searchFilter) |
protected static boolean |
foundSecondary(MastersSlavesListener listener,
MastersSlavesProtocol protocol,
SearchFilter searchFilter) |
private static MastersSlavesProtocol |
getNewProtocol(FailoverProxy proxy,
GlobalStateInfo globalInfo,
UrlParser urlParser)
Get new instance of MastersSlavesProtocol.
|
static void |
loop(MastersSlavesListener listener,
GlobalStateInfo globalInfo,
java.util.List<HostAddress> addresses,
SearchFilter searchFilter)
loop until found the failed connection.
|
boolean |
mustBeMasterConnection() |
private static void |
resetHostList(MastersSlavesListener listener,
java.util.Deque<HostAddress> loopAddresses)
Reinitialize loopAddresses with all servers in randomize order.
|
void |
setMustBeMasterConnection(boolean mustBeMasterConnection) |
loop
addPrepareInCache, cancelCurrentQuery, closeExplicit, executeBatchClient, executeBatchServer, executeBatchStmt, executePreparedQuery, executeQuery, executeQuery, executeQuery, executeQuery, executeQuery, forceReleasePrepareStatement, forceReleaseWaitingPrepareStatement, getAutocommit, getAutoIncrementIncrement, getCatalog, getMaxRows, getResult, getTimeout, getTransactionIsolationLevel, handleIoException, interrupt, inTransaction, isInterrupted, isValid, ping, prepare, prolog, prologProxy, releasePrepareStatement, reset, resetDatabase, resetStateAfterFailover, rollback, setActiveFutureTask, setCatalog, setLocalInfileInputStream, setMaxRows, setTimeout, setTransactionIsolation, stopIfInterrupted
abort, changeSocketSoTimeout, changeSocketTcpNoDelay, checkIfMaster, close, connect, connectWithoutProxy, getActiveStreamingResult, getDatabase, getHost, getHostAddress, getLock, getMajorServerVersion, getMinorServerVersion, getOptions, getPinGlobalTxToPhysicalConnection, getPort, getProxy, getReader, getReadonly, getServerThreadId, getServerVersion, getSocket, getTimeZone, getTraces, getUrlParser, getUsername, getWriter, hasMoreResults, hasWarnings, isClosed, isConnected, isEofDeprecated, isExplicitClosed, isMasterConnection, isServerMariaDb, noBackslashEscapes, prepareStatementCache, readEofPacket, readPipelineCheckMaster, removeActiveStreamingResult, removeHasMoreResults, sessionStateAware, setActiveStreamingResult, setHasWarnings, setHostAddress, setHostFailedWithoutProxy, setProxy, setReadonly, setServerStatus, shouldReconnectWithoutProxy, skip, skipEofPacket, versionGreaterOrEqual
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
abort, changeSocketSoTimeout, changeSocketTcpNoDelay, checkIfMaster, close, connect, connectWithoutProxy, getActiveStreamingResult, getDatabase, getHost, getHostAddress, getLock, getMajorServerVersion, getMinorServerVersion, getOptions, getPinGlobalTxToPhysicalConnection, getPort, getProxy, getReader, getReadonly, getServerThreadId, getServerVersion, getSocket, getTimeZone, getTraces, getUrlParser, getUsername, getWriter, hasMoreResults, hasWarnings, isClosed, isConnected, isEofDeprecated, isExplicitClosed, isMasterConnection, isServerMariaDb, noBackslashEscapes, prepareStatementCache, readEofPacket, removeActiveStreamingResult, removeHasMoreResults, sessionStateAware, setActiveStreamingResult, setHasWarnings, setHostAddress, setHostFailedWithoutProxy, setProxy, setReadonly, setServerStatus, shouldReconnectWithoutProxy, skip, skipEofPacket, versionGreaterOrEqual
protected boolean masterConnection
private boolean mustBeMasterConnection
public MastersSlavesProtocol(UrlParser url, GlobalStateInfo globalInfo, java.util.concurrent.locks.ReentrantLock lock)
public static void loop(MastersSlavesListener listener, GlobalStateInfo globalInfo, java.util.List<HostAddress> addresses, SearchFilter searchFilter) throws java.sql.SQLException
listener
- current failoverglobalInfo
- server global variables informationaddresses
- list of HostAddress to loopsearchFilter
- search parameterjava.sql.SQLException
- if not foundprivate static void resetHostList(MastersSlavesListener listener, java.util.Deque<HostAddress> loopAddresses)
listener
- current listenerloopAddresses
- the list to reinitializeprotected static boolean foundMaster(MastersSlavesListener listener, MastersSlavesProtocol protocol, SearchFilter searchFilter)
protected static boolean foundSecondary(MastersSlavesListener listener, MastersSlavesProtocol protocol, SearchFilter searchFilter) throws java.sql.SQLException
java.sql.SQLException
private static MastersSlavesProtocol getNewProtocol(FailoverProxy proxy, GlobalStateInfo globalInfo, UrlParser urlParser)
proxy
- proxyurlParser
- connection string Object.public boolean mustBeMasterConnection()
mustBeMasterConnection
in interface Protocol
mustBeMasterConnection
in class AbstractConnectProtocol
public void setMustBeMasterConnection(boolean mustBeMasterConnection)