public class ReplicationRun extends BaseTestCase
Modifier and Type | Class and Description |
---|---|
(package private) class |
ReplicationRun.Load |
(package private) class |
ReplicationRun.State |
Modifier and Type | Field and Description |
---|---|
(package private) static java.lang.String |
ALL_INTERFACES |
(package private) static java.lang.String |
bootLoad |
(package private) java.lang.String |
classPath |
(package private) static int |
commitFreq |
(package private) static java.lang.String |
dataEncryption |
private java.lang.String |
db_passwd |
(package private) static java.lang.String |
DB_PROTOCOL |
private java.lang.String |
db_uid |
(package private) static java.lang.String |
derbyMasterVersion |
(package private) static java.lang.String |
derbyProperties |
(package private) static java.lang.String |
derbySlaveVersion |
(package private) static java.lang.String |
derbyVersion |
(package private) static java.lang.String |
DRIVER_CLASS_NAME |
(package private) static java.lang.String |
freezeDB |
(package private) static java.lang.String |
FS |
private java.util.ArrayList<java.lang.Thread> |
helperThreads
List of threads that have been started by the tests and not explicitly
waited for.
|
(package private) static java.lang.String |
junit_jar |
(package private) static boolean |
junitTest |
(package private) static java.lang.String |
jvmVersion |
(package private) static java.lang.String |
LF |
(package private) static boolean |
localEnv |
private java.sql.Connection |
masterConn
A Connection to the master database
|
(package private) static java.lang.String |
masterDatabasePath |
(package private) static java.lang.String |
masterDbSubPath |
(package private) static java.lang.String |
masterJvmVersion |
(package private) static ReplicationRun.Load |
masterPostRepl |
(package private) static ReplicationRun.Load |
masterPostSlave |
(package private) static ReplicationRun.Load |
masterPreRepl |
(package private) static java.lang.String |
masterServerHost |
(package private) static int |
masterServerPort |
(package private) static int |
MINUTES |
(package private) static java.lang.String |
networkServerControl |
(package private) static java.lang.String |
PS |
(package private) static java.lang.String |
remoteShell |
(package private) static java.lang.String |
replicatedDb |
(package private) static java.lang.String |
REPLICATION_DB_NOT_BOOTED |
(package private) static java.lang.String |
REPLICATION_MASTER_TIMED_OUT |
(package private) static java.lang.String |
REPLICATION_SLAVE_SHUTDOWN_OK |
(package private) static java.lang.String |
REPLICATION_SLAVE_STARTED_OK |
(package private) static java.lang.String |
replicationTest |
(package private) static java.lang.String |
REPLICATIONTEST_PROPFILE
Name of properties file defining the test environment
and replication tests to be run.
|
(package private) static java.lang.String |
replicationVerify |
(package private) static boolean |
runUnReplicated |
(package private) static boolean |
showSysinfo |
(package private) static boolean |
simpleLoad |
(package private) static int |
simpleLoadTuples |
(package private) static java.lang.String |
SLAVE_OPERATION_DENIED_WHILE_CONNECTED |
private java.sql.Connection |
slaveConn
A Connection to the slave database
|
(package private) static java.lang.String |
slaveDatabasePath |
(package private) static java.lang.String |
slaveDbSubPath |
(package private) static java.lang.String |
slaveJvmVersion |
(package private) static ReplicationRun.Load |
slavePostSlave |
(package private) static ReplicationRun.Load |
slavePreSlave |
(package private) static int |
slaveReplPort |
(package private) static java.lang.String |
slaveServerHost |
(package private) static int |
slaveServerPort |
(package private) static long |
sleepTime |
(package private) static java.lang.String |
specialTestingJar |
(package private) static java.lang.String |
sqlLoadInit |
private java.lang.Exception |
startSlaveException
The exception thrown as a result of a startSlave connection attempt
|
(package private) ReplicationRun.State |
state |
(package private) static java.lang.String |
test_jars |
(package private) static java.lang.String |
testClientHost |
(package private) static java.lang.String |
testUser |
(package private) static int |
THREADS |
(package private) static int |
tuplesToInsertPerf |
(package private) static java.lang.String |
unFreezeDB |
(package private) static java.lang.String |
userDir |
(package private) static java.lang.String |
userHome |
(package private) Utils |
util |
DEFAULT_DB_DIR, DERBY_LOG, ERRORSTACKTRACEFILE
Constructor and Description |
---|
ReplicationRun(java.lang.String testcaseName)
Creates a new instance of ReplicationRun
|
ReplicationRun(java.lang.String testcaseName,
java.lang.String user,
java.lang.String password)
Creates a new instance of ReplicationRun running with authentication.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
_testInsertUpdateDeleteOnMaster(java.lang.String serverHost,
int serverPort,
java.lang.String dbPath,
int _noTuplesToInsert) |
(package private) void |
_verify(java.sql.Connection conn,
int _noTuplesInserted) |
(package private) void |
_verifyDatabase(java.lang.String serverHost,
int serverPort,
java.lang.String dbPath,
int _noTuplesInserted) |
(package private) void |
assertException(java.sql.SQLException se,
java.lang.String expectedSqlState) |
protected void |
assertSqlStateSlaveConn(java.lang.String expected)
Assert that the latest startSlave connection attempt got the expected
SQLState.
|
(package private) void |
bootMasterDatabase(java.lang.String clientVM,
java.lang.String dbSubPath,
java.lang.String dbName,
java.lang.String masterHost,
int masterServerPort,
java.lang.String load) |
(package private) void |
cleanAllTestHosts() |
private static void |
close(java.sql.Connection conn)
Close a connection.
|
(package private) org.apache.derby.jdbc.ClientDataSourceInterface |
configureDataSource(java.lang.String dbName,
java.lang.String serverHost,
int serverPort,
java.lang.String connectionAttributes)
Set up a data source.
|
(package private) void |
connectPing(java.lang.String fullDbPath,
java.lang.String serverHost,
int serverPort,
java.lang.String testClientHost) |
(package private) java.lang.String |
credentials() |
(package private) void |
destroySlaveDB(java.lang.String slaveServerHost) |
protected void |
executeOnMaster(java.lang.String sql)
Execute SQL on the master database through a Statement
|
protected void |
executeOnSlave(java.lang.String sql)
Execute SQL on the slave database through a Statement
|
private void |
failOver_direct(java.lang.String dbName) |
private void |
failOver_ij(java.lang.String dbName,
java.lang.String host,
java.lang.String testClientHost) |
(package private) void |
failOver(java.lang.String jvmVersion,
java.lang.String dbPath,
java.lang.String dbSubPath,
java.lang.String dbName,
java.lang.String host,
int serverPort,
java.lang.String testClientHost) |
private static java.lang.String |
getClientJavaExecutableName() |
(package private) java.sql.Connection |
getConnection(java.lang.String serverHost,
int serverPort,
java.lang.String databasePath,
java.lang.String dbSubPath,
java.lang.String replicatedDb) |
protected java.sql.Connection |
getMasterConnection()
Get a connection to the master database.
|
private static java.lang.String |
getMasterJavaExecutableName() |
private static java.lang.String |
getServerJavaExecutableName(java.lang.String serverHost,
java.lang.String serverVM) |
protected java.sql.Connection |
getSlaveConnection()
Get a connection to the slave database.
|
private static java.lang.String |
getSlaveJavaExecutableName() |
(package private) void |
initEnvironment() |
(package private) void |
initMaster(java.lang.String host,
java.lang.String dbName) |
(package private) void |
initSlave(java.lang.String host,
java.lang.String clientVM,
java.lang.String dbName) |
(package private) void |
killMaster(java.lang.String masterServerHost,
int masterServerPort) |
(package private) void |
killSlave(java.lang.String slaveServerHost,
int slaveServerPort) |
(package private) void |
makeReadyForReplication() |
(package private) java.lang.String |
masterDbPath(java.lang.String dbName) |
(package private) java.lang.String |
masterLoadURL(java.lang.String dbSubPath) |
(package private) java.lang.String |
masterURL(java.lang.String dbName) |
private void |
pingServer(java.lang.String hostName,
int port) |
private void |
processDEBUGOutput(java.lang.String id,
java.lang.Process proc) |
private java.lang.String |
processOutput(java.lang.String id,
java.lang.Process proc) |
private void |
registerThread(java.lang.Thread thread)
Register that a thread has been started so that we can wait for it to
complete in
tearDown() . |
private void |
removeSlaveDBfiles(java.lang.String host,
java.lang.String dbName) |
(package private) void |
restartServer(java.lang.String serverVM,
java.lang.String serverVersion,
java.lang.String serverHost,
java.lang.String interfacesToListenOn,
int serverPort,
java.lang.String dbSubDirPath) |
void |
runBare()
Run the test.
|
private void |
runLoad(java.lang.String load,
java.lang.String clientVM,
java.lang.String testClientHost,
java.lang.String masterHost,
int masterPort,
java.lang.String dbSubPath) |
private void |
runMasterVerificationCLient(java.lang.String jvmVersion,
java.lang.String testClientHost,
java.lang.String dbName,
java.lang.String serverHost,
int serverPort) |
private void |
runSlaveVerificationCLient(java.lang.String jvmVersion,
java.lang.String testClientHost,
java.lang.String dbName,
java.lang.String serverHost,
int serverPort) |
private void |
runStateTest(java.lang.String stateTest,
java.lang.String clientVM,
java.lang.String testClientHost,
java.lang.String masterHost,
int masterPort,
java.lang.String dbSubPath) |
(package private) void |
runTest(java.lang.String replicationTest,
java.lang.String clientVM,
java.lang.String testClientHost,
java.lang.String serverHost,
int serverPort,
java.lang.String dbName) |
(package private) void |
runTestOnSlave(java.lang.String replicationTest,
java.lang.String clientVM,
java.lang.String testClientHost,
java.lang.String serverHost,
int serverPort,
java.lang.String dbName) |
private void |
runUserCommandInThreadLocally(java.lang.String[] command,
java.lang.String dbDir,
java.lang.String id)
Run a Java command locally on the test host in a separate thread.
|
private void |
runUserCommandInThreadRemotely(java.lang.String command,
java.lang.String host,
java.lang.String testUser,
java.lang.String id) |
private void |
runUserCommandLocally(java.lang.String[] command,
java.lang.String ID,
java.io.File workingDir)
Run a Java command locally on the test host.
|
private java.lang.String |
runUserCommandRemotely(java.lang.String command,
java.lang.String host,
java.lang.String testUser,
java.lang.String id) |
(package private) java.lang.String |
serverURL(java.lang.String fullDbPath,
java.lang.String serverHost,
int serverPort) |
protected void |
setUp()
Parent super()
|
(package private) java.lang.String |
showCurrentState(java.lang.String ID,
long waitTime,
java.lang.String fullDbPath,
java.lang.String serverHost,
int serverPort) |
(package private) void |
shutdownDb(java.lang.String jvmVersion,
java.lang.String serverHost,
int serverPort,
java.lang.String dbPath,
java.lang.String replicatedDb,
java.lang.String clientHost) |
private void |
simpleVerify(java.sql.Connection conn) |
(package private) java.lang.String |
slaveDbPath(java.lang.String dbName) |
(package private) java.lang.String |
slaveURL(java.lang.String dbName) |
private void |
startMaster_direct(java.lang.String dbName,
java.lang.String masterHost,
int masterServerPort,
java.lang.String slaveReplInterface,
int slaveReplPort) |
private void |
startMaster_ij(java.lang.String dbName,
java.lang.String masterHost,
java.lang.String slaveReplInterface,
int slaveReplPort) |
(package private) void |
startMaster(java.lang.String clientVM,
java.lang.String dbName,
java.lang.String masterHost,
int masterServerPort,
java.lang.String slaveClientInterface,
int slaveServerPort,
java.lang.String slaveReplInterface,
int slaveReplPort)
Set master db in replication master mode.
|
(package private) void |
startOptionalLoad(ReplicationRun.Load load,
java.lang.String dbSubPath,
java.lang.String serverHost,
int serverPort) |
(package private) void |
startServer(java.lang.String serverVM,
java.lang.String serverVersion,
java.lang.String serverHost,
java.lang.String interfacesToListenOn,
int serverPort,
java.lang.String dbSubDirPath) |
(package private) void |
startServerMonitor(java.lang.String slaveHost) |
private void |
startSlave_direct(java.lang.String dbName,
java.lang.String slaveHost,
int slaveServerPort,
java.lang.String slaveReplInterface,
int slaveReplPort) |
private void |
startSlave_ij(java.lang.String dbName,
java.lang.String slaveHost,
java.lang.String slaveReplInterface,
int slaveReplPort) |
(package private) void |
startSlave(java.lang.String clientVM,
java.lang.String dbName,
java.lang.String slaveClientInterface,
int slaveServerPort,
java.lang.String slaveReplInterface,
int slaveReplPort,
java.lang.String testClientHost)
Set slave db in replication slave mode
|
(package private) void |
stopServer(java.lang.String serverVM,
java.lang.String serverVersion,
java.lang.String serverHost,
int serverPort) |
(package private) java.sql.SQLException |
stopSlave(java.lang.String slaveServerHost,
int slaveServerPort,
java.lang.String slaveDatabasePath,
java.lang.String replicatedDb,
boolean masterServerAlive) |
(package private) java.sql.SQLException |
stopSlave(java.lang.String slaveServerHost,
int slaveServerPort,
java.lang.String slaveDatabasePath,
java.lang.String subPath,
java.lang.String replicatedDb,
boolean masterServerAlive) |
protected void |
tearDown()
Parent super()
|
(package private) java.lang.String |
useEncryption(boolean create) |
(package private) void |
verifyMaster() |
(package private) void |
verifySlave() |
(package private) void |
waitForConnect(long sleepTime,
int tries,
java.lang.String fullDbPath,
java.lang.String serverHost,
int serverPort) |
(package private) void |
waitForSQLState(java.lang.String expectedState,
long sleepTime,
int tries,
java.lang.String fullDbPath,
java.lang.String serverHost,
int serverPort) |
(package private) int |
xFindServerPID(java.lang.String serverHost,
int serverPort) |
(package private) void |
xStopServer(java.lang.String serverHost,
int serverPID) |
alarm, assertDirectoryDeleted, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertExecJavaCmdAsExpected, assertLaunchedJUnitTestMethod, assertLaunchedJUnitTestMethod, assertSameNullness, assertSecurityManager, assertThrowableEquals, currentDirectory, execJavaCmd, execJavaCmd, execJavaCmd, fail, getClassVersionMajor, getEmmaJar, getFailureFolder, getFilesWith, getJavaExecutableName, getSystemProperty, getTestConfiguration, getTestResource, hasInterruptibleIO, isCVM, isIBMJVM, isJ9Platform, isJava5, isJava7, isPhoneME, isPlatform, isSunJVM, isWindowsPlatform, newAssertionFailedError, openTestResource, println, printStackTrace, readProcessOutput, removeDirectory, removeDirectory, removeFiles, removeSystemProperty, runsWithEmma, runsWithJaCoCo, setSystemErr, setSystemOut, setSystemProperty, sleep, sleepAtLeastOneTick, traceit, vmAtLeast
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runTest, setName, toString
static final java.lang.String REPLICATIONTEST_PROPFILE
${user.dir}
static final java.lang.String REPLICATION_MASTER_TIMED_OUT
static final java.lang.String REPLICATION_SLAVE_STARTED_OK
static final java.lang.String REPLICATION_DB_NOT_BOOTED
static final java.lang.String SLAVE_OPERATION_DENIED_WHILE_CONNECTED
static final java.lang.String REPLICATION_SLAVE_SHUTDOWN_OK
static java.lang.String testUser
static java.lang.String userDir
static java.lang.String userHome
static java.lang.String dataEncryption
static java.lang.String masterServerHost
static int masterServerPort
static java.lang.String slaveServerHost
static int slaveServerPort
static java.lang.String testClientHost
static int slaveReplPort
static java.lang.String masterDatabasePath
static java.lang.String slaveDatabasePath
static java.lang.String replicatedDb
static java.lang.String bootLoad
static java.lang.String freezeDB
static java.lang.String unFreezeDB
static boolean junitTest
static boolean runUnReplicated
static boolean simpleLoad
static int simpleLoadTuples
static int tuplesToInsertPerf
static int commitFreq
static java.lang.String masterDbSubPath
static java.lang.String slaveDbSubPath
static java.lang.String replicationTest
static java.lang.String replicationVerify
static int THREADS
static int MINUTES
static java.lang.String sqlLoadInit
static final java.lang.String networkServerControl
static java.lang.String specialTestingJar
static java.lang.String jvmVersion
static java.lang.String masterJvmVersion
static java.lang.String slaveJvmVersion
static java.lang.String derbyVersion
static java.lang.String derbyMasterVersion
static java.lang.String derbySlaveVersion
static java.lang.String junit_jar
static java.lang.String test_jars
static final java.lang.String FS
static final java.lang.String PS
static boolean showSysinfo
static long sleepTime
static final java.lang.String DRIVER_CLASS_NAME
static final java.lang.String DB_PROTOCOL
static final java.lang.String ALL_INTERFACES
static java.lang.String LF
static final java.lang.String remoteShell
Utils util
ReplicationRun.State state
static boolean localEnv
static java.lang.String derbyProperties
java.lang.String classPath
private java.sql.Connection masterConn
private java.sql.Connection slaveConn
private volatile java.lang.Exception startSlaveException
private java.util.ArrayList<java.lang.Thread> helperThreads
tearDown()
so that
they don't interfere with subsequent test cases.private java.lang.String db_uid
private java.lang.String db_passwd
static ReplicationRun.Load masterPreRepl
static ReplicationRun.Load masterPostRepl
static ReplicationRun.Load slavePreSlave
static ReplicationRun.Load masterPostSlave
static ReplicationRun.Load slavePostSlave
public ReplicationRun(java.lang.String testcaseName)
testcaseName
- Identifying the test.public ReplicationRun(java.lang.String testcaseName, java.lang.String user, java.lang.String password)
protected void setUp() throws java.lang.Exception
setUp
in class junit.framework.TestCase
java.lang.Exception
- .protected void tearDown() throws java.lang.Exception
tearDown
in class junit.framework.TestCase
java.lang.Exception
- .private static void close(java.sql.Connection conn) throws java.sql.SQLException
java.sql.SQLException
public void runBare() throws java.lang.Throwable
runBare
in class BaseTestCase
java.lang.Throwable
java.lang.String useEncryption(boolean create)
void connectPing(java.lang.String fullDbPath, java.lang.String serverHost, int serverPort, java.lang.String testClientHost) throws java.lang.Exception
java.lang.Exception
java.lang.String showCurrentState(java.lang.String ID, long waitTime, java.lang.String fullDbPath, java.lang.String serverHost, int serverPort) throws java.lang.Exception
java.lang.Exception
void waitForConnect(long sleepTime, int tries, java.lang.String fullDbPath, java.lang.String serverHost, int serverPort) throws java.lang.Exception
java.lang.Exception
void waitForSQLState(java.lang.String expectedState, long sleepTime, int tries, java.lang.String fullDbPath, java.lang.String serverHost, int serverPort) throws java.lang.Exception
java.lang.Exception
void shutdownDb(java.lang.String jvmVersion, java.lang.String serverHost, int serverPort, java.lang.String dbPath, java.lang.String replicatedDb, java.lang.String clientHost) throws java.lang.Exception
java.lang.Exception
void startServerMonitor(java.lang.String slaveHost)
void runTest(java.lang.String replicationTest, java.lang.String clientVM, java.lang.String testClientHost, java.lang.String serverHost, int serverPort, java.lang.String dbName) throws java.lang.Exception
java.lang.Exception
void runTestOnSlave(java.lang.String replicationTest, java.lang.String clientVM, java.lang.String testClientHost, java.lang.String serverHost, int serverPort, java.lang.String dbName) throws java.lang.Exception
java.lang.Exception
private void runLoad(java.lang.String load, java.lang.String clientVM, java.lang.String testClientHost, java.lang.String masterHost, int masterPort, java.lang.String dbSubPath) throws java.lang.Exception
java.lang.Exception
private void runStateTest(java.lang.String stateTest, java.lang.String clientVM, java.lang.String testClientHost, java.lang.String masterHost, int masterPort, java.lang.String dbSubPath) throws java.lang.Exception
java.lang.Exception
void bootMasterDatabase(java.lang.String clientVM, java.lang.String dbSubPath, java.lang.String dbName, java.lang.String masterHost, int masterServerPort, java.lang.String load) throws java.lang.Exception
java.lang.Exception
void startMaster(java.lang.String clientVM, java.lang.String dbName, java.lang.String masterHost, int masterServerPort, java.lang.String slaveClientInterface, int slaveServerPort, java.lang.String slaveReplInterface, int slaveReplPort) throws java.lang.Exception
java.lang.Exception
private void startMaster_ij(java.lang.String dbName, java.lang.String masterHost, java.lang.String slaveReplInterface, int slaveReplPort) throws java.lang.Exception
java.lang.Exception
private void startMaster_direct(java.lang.String dbName, java.lang.String masterHost, int masterServerPort, java.lang.String slaveReplInterface, int slaveReplPort) throws java.lang.Exception
java.lang.Exception
protected java.sql.Connection getMasterConnection() throws java.sql.SQLException
java.sql.SQLException
protected java.sql.Connection getSlaveConnection() throws java.sql.SQLException
java.sql.SQLException
protected void executeOnMaster(java.lang.String sql) throws java.sql.SQLException
sql
- The sql that should be executed on the master databasejava.sql.SQLException
- thrown if an error occured while
executing the sqlprotected void executeOnSlave(java.lang.String sql) throws java.sql.SQLException
sql
- The sql that should be executed on the slave databasejava.sql.SQLException
- thrown if an error occured while
executing the sqlvoid startSlave(java.lang.String clientVM, java.lang.String dbName, java.lang.String slaveClientInterface, int slaveServerPort, java.lang.String slaveReplInterface, int slaveReplPort, java.lang.String testClientHost) throws java.lang.Exception
java.lang.Exception
private void startSlave_ij(java.lang.String dbName, java.lang.String slaveHost, java.lang.String slaveReplInterface, int slaveReplPort) throws java.lang.Exception
java.lang.Exception
private void startSlave_direct(java.lang.String dbName, java.lang.String slaveHost, int slaveServerPort, java.lang.String slaveReplInterface, int slaveReplPort) throws java.lang.Exception
java.lang.Exception
void failOver(java.lang.String jvmVersion, java.lang.String dbPath, java.lang.String dbSubPath, java.lang.String dbName, java.lang.String host, int serverPort, java.lang.String testClientHost) throws java.lang.Exception
java.lang.Exception
private void failOver_ij(java.lang.String dbName, java.lang.String host, java.lang.String testClientHost) throws java.lang.Exception
java.lang.Exception
private void failOver_direct(java.lang.String dbName) throws java.lang.Exception
java.lang.Exception
int xFindServerPID(java.lang.String serverHost, int serverPort) throws java.lang.InterruptedException
java.lang.InterruptedException
void xStopServer(java.lang.String serverHost, int serverPID) throws java.lang.InterruptedException
java.lang.InterruptedException
void verifySlave() throws java.lang.Exception
java.lang.Exception
void verifyMaster() throws java.lang.Exception
java.lang.Exception
private void simpleVerify(java.sql.Connection conn) throws java.sql.SQLException
java.sql.SQLException
private void runSlaveVerificationCLient(java.lang.String jvmVersion, java.lang.String testClientHost, java.lang.String dbName, java.lang.String serverHost, int serverPort) throws java.lang.Exception
java.lang.Exception
private void runMasterVerificationCLient(java.lang.String jvmVersion, java.lang.String testClientHost, java.lang.String dbName, java.lang.String serverHost, int serverPort) throws java.lang.Exception
java.lang.Exception
private void runUserCommandLocally(java.lang.String[] command, java.lang.String ID, java.io.File workingDir)
command
- the arguments to pass to the Java executableID
- an identifier used to prefix debug outputworkingDir
- the directory in which the sub-process should run, or
null
to run in the same directory as the parent processprivate java.lang.String runUserCommandRemotely(java.lang.String command, java.lang.String host, java.lang.String testUser, java.lang.String id)
private void runUserCommandInThreadLocally(java.lang.String[] command, java.lang.String dbDir, java.lang.String id)
command
- the arguments to pass to the Java executabledbDir
- the name of the sub-directory in which the sub-process
should run, or null
to run in the same directory as the
parent processid
- an identifier used to prefix debug outputprivate void runUserCommandInThreadRemotely(java.lang.String command, java.lang.String host, java.lang.String testUser, java.lang.String id)
void initEnvironment() throws java.io.IOException
java.io.IOException
void initMaster(java.lang.String host, java.lang.String dbName) throws java.lang.Exception
java.lang.Exception
private void removeSlaveDBfiles(java.lang.String host, java.lang.String dbName) throws java.lang.InterruptedException
java.lang.InterruptedException
void initSlave(java.lang.String host, java.lang.String clientVM, java.lang.String dbName) throws java.lang.Exception
java.lang.Exception
void restartServer(java.lang.String serverVM, java.lang.String serverVersion, java.lang.String serverHost, java.lang.String interfacesToListenOn, int serverPort, java.lang.String dbSubDirPath) throws java.lang.Exception
java.lang.Exception
void startServer(java.lang.String serverVM, java.lang.String serverVersion, java.lang.String serverHost, java.lang.String interfacesToListenOn, int serverPort, java.lang.String dbSubDirPath) throws java.lang.Exception
java.lang.Exception
void killMaster(java.lang.String masterServerHost, int masterServerPort) throws java.lang.InterruptedException
java.lang.InterruptedException
void killSlave(java.lang.String slaveServerHost, int slaveServerPort) throws java.lang.InterruptedException
java.lang.InterruptedException
void destroySlaveDB(java.lang.String slaveServerHost) throws java.lang.InterruptedException
java.lang.InterruptedException
void stopServer(java.lang.String serverVM, java.lang.String serverVersion, java.lang.String serverHost, int serverPort)
private java.lang.String processOutput(java.lang.String id, java.lang.Process proc) throws java.lang.Exception
java.lang.Exception
private void processDEBUGOutput(java.lang.String id, java.lang.Process proc) throws java.lang.Exception
java.lang.Exception
private void registerThread(java.lang.Thread thread)
tearDown()
.thread
- a thread that has been startedprivate void pingServer(java.lang.String hostName, int port) throws java.lang.Exception
java.lang.Exception
void startOptionalLoad(ReplicationRun.Load load, java.lang.String dbSubPath, java.lang.String serverHost, int serverPort) throws java.lang.Exception
java.lang.Exception
void makeReadyForReplication() throws java.lang.Exception
java.lang.Exception
void cleanAllTestHosts()
protected void assertSqlStateSlaveConn(java.lang.String expected) throws java.lang.Exception
expected
- the expected SQLStatejava.lang.Exception
- the Exception to check the SQLState ofvoid assertException(java.sql.SQLException se, java.lang.String expectedSqlState)
void _testInsertUpdateDeleteOnMaster(java.lang.String serverHost, int serverPort, java.lang.String dbPath, int _noTuplesToInsert) throws java.sql.SQLException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException
java.sql.SQLException
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.NoSuchMethodException
java.lang.reflect.InvocationTargetException
void _verifyDatabase(java.lang.String serverHost, int serverPort, java.lang.String dbPath, int _noTuplesInserted) throws java.sql.SQLException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException
java.sql.SQLException
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.NoSuchMethodException
java.lang.reflect.InvocationTargetException
void _verify(java.sql.Connection conn, int _noTuplesInserted) throws java.sql.SQLException
java.sql.SQLException
java.sql.Connection getConnection(java.lang.String serverHost, int serverPort, java.lang.String databasePath, java.lang.String dbSubPath, java.lang.String replicatedDb) throws java.sql.SQLException
java.sql.SQLException
java.lang.String masterDbPath(java.lang.String dbName)
java.lang.String slaveDbPath(java.lang.String dbName)
java.lang.String masterURL(java.lang.String dbName)
java.lang.String masterLoadURL(java.lang.String dbSubPath)
java.lang.String slaveURL(java.lang.String dbName)
java.lang.String serverURL(java.lang.String fullDbPath, java.lang.String serverHost, int serverPort)
java.lang.String credentials()
java.sql.SQLException stopSlave(java.lang.String slaveServerHost, int slaveServerPort, java.lang.String slaveDatabasePath, java.lang.String replicatedDb, boolean masterServerAlive) throws java.lang.Exception
java.lang.Exception
java.sql.SQLException stopSlave(java.lang.String slaveServerHost, int slaveServerPort, java.lang.String slaveDatabasePath, java.lang.String subPath, java.lang.String replicatedDb, boolean masterServerAlive) throws java.lang.Exception
java.lang.Exception
private static java.lang.String getMasterJavaExecutableName()
private static java.lang.String getSlaveJavaExecutableName()
private static java.lang.String getClientJavaExecutableName()
private static java.lang.String getServerJavaExecutableName(java.lang.String serverHost, java.lang.String serverVM)
org.apache.derby.jdbc.ClientDataSourceInterface configureDataSource(java.lang.String dbName, java.lang.String serverHost, int serverPort, java.lang.String connectionAttributes) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException
Set up a data source.
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.NoSuchMethodException
java.lang.reflect.InvocationTargetException
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.