[
https://issues.apache.org/jira/browse/DERBY-4910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13017331#comment-13017331
]
Knut Anders Hatlen commented on DERBY-4910:
-------------------------------------------
I think I see what's going on. derby.log for the slave showed the following
exception had been raised:
java.net.SocketTimeoutException: Accept timed out
at java.net.PlainSocketImpl.socketAccept(Native Method)
at
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:358)
at java.net.ServerSocket.implAccept(ServerSocket.java:470)
at java.net.ServerSocket.accept(ServerSocket.java:438)
at
org.apache.derby.impl.store.replication.net.ReplicationMessageReceive$1.run(Unknown
Source)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.derby.impl.store.replication.net.ReplicationMessageReceive.initConnection(Unknown
Source)
at
org.apache.derby.impl.store.replication.slave.SlaveController.setupConnection(Unknown
Source)
at
org.apache.derby.impl.store.replication.slave.SlaveController.startSlave(Unknown
Source)
at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source)
at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown
Source)
at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown
Source)
at
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
at
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
at org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown
Source)
at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown
Source)
at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown
Source)
at
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
at
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown Source)
at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
at org.apache.derby.impl.db.SlaveDatabase.bootBasicDatabase(Unknown
Source)
at org.apache.derby.impl.db.SlaveDatabase.access$000(Unknown Source)
at
org.apache.derby.impl.db.SlaveDatabase$SlaveDatabaseBootThread.run(Unknown
Source)
at java.lang.Thread.run(Thread.java:636)
The timeout for the accept call is 1 second, but the code is prepared to handle
timeouts in SlaveController.setupConnection():
} catch (Exception e) {
// SocketTimeoutException is wrapped in
// PrivilegedActionException.
Throwable cause = e.getCause();
if (cause instanceof SocketTimeoutException) {
// Timeout!
return false;
} else {
throw StandardException.newException
(SQLState.REPLICATION_CONNECTION_EXCEPTION, e,
dbname, getHostName(), String.valueOf(getPortNumber()));
}
}
The timeout-handling code assumes that the timeout exception is wrapped in a
PrivilegedActionException. However, DERBY-4812 changed this by unwrapping the
PrivilegedActionException in ReplicationMessageReceive.initConnection().
> Four replication tests fail on z/OS with
> junit.framework.AssertionFailedError: startMaster did not succeed.
> ----------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-4910
> URL: https://issues.apache.org/jira/browse/DERBY-4910
> Project: Derby
> Issue Type: Bug
> Components: Replication
> Affects Versions: 10.7.1.1
> Environment: z/OS
> java version "1.6.0"
> Java(TM) SE Runtime Environment (build pmz6460sr8fp1-20100624_01(SR8 FP1))
> IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 z/OS s390x-64
> jvmmz6460sr8ifx-2010060
> 9_59383 (JIT enabled, AOT enabled)
> J9VM - 20100609_059383
> JIT - r9_20100401_15339ifx2
> GC - 20100308_AA)
> JCL - 20100624_01
> 10.7 release candidate 1.10.7.1.0 - (1035301)
> Reporter: Kathey Marsden
> Labels: derby_triage10_8
> Attachments: fail.zip, traces.diff
>
>
> Four replication tests failed with junit.framework.AssertionFailedError:
> startMaster did not succeed. running on the 64bit JVM on z/OS:
> ReplicationRun_Local_3_p2 ReplicationRun_Local_StateTest_part1
> ReplicationRun_Local_3_p3 ReplicationRun_Local_StateTest_part1_2
> Below are the stack traces. I will attach the fail directory.
> There were 4 failures:
> 1)
> testReplication_Local_StateTest_part1(org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1)junit.framework.AssertionFailedError:
> startMaster did not succeed.
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.startMaster_direct(ReplicationRun.java:1072)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.startMaster(ReplicationRun.java:906)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1._testPreStartedMaster(ReplicationRun_Local_StateTest_part1.java:375)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1.testReplication_Local_StateTest_part1(ReplicationRun_Local_StateTest_part1.java:136)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.runBare(ReplicationRun.java:207)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.extensions.TestSetup.run(TestSetup.java:16)
> 2)
> testReplication_Local_StateTest_part1_2(org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1_2)junit.framework.AssertionFailedError:
> startMaster did not succeed.
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.startMaster_direct(ReplicationRun.java:1072)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.startMaster(ReplicationRun.java:906)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1_2.testReplication_Local_StateTest_part1_2(ReplicationRun_Local_StateTest_part1_2.java:128)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.runBare(ReplicationRun.java:207)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.extensions.TestSetup.run(TestSetup.java:16)
> 3)
> testReplication_Local_3_p2_StateTests_bigInsert_sleepBeforeStopMaster(org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_3_p2)junit.framework.AssertionFailedError:
> startMaster did not succeed.
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.startMaster_direct(ReplicationRun.java:1072)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.startMaster(ReplicationRun.java:906)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_3_p2.replication_Local_3_p2_StateTests(ReplicationRun_Local_3_p2.java:128)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_3_p2.testReplication_Local_3_p2_StateTests_bigInsert_sleepBeforeStopMaster(ReplicationRun_Local_3_p2.java:248)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.runBare(ReplicationRun.java:207)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.extensions.TestSetup.run(TestSetup.java:16)
> 4)
> testReplication_Local_3_p3_StateNegativeTests(org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_3_p3)junit.framework.AssertionFailedError:
> startMaster did not succeed.
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.startMaster_direct(ReplicationRun.java:1072)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.startMaster(ReplicationRun.java:906)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_3_p3.testReplication_Local_3_p3_StateNegativeTests(ReplicationRun_Local_3_p3.java:128)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
> at
> org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.runBare(ReplicationRun.java:207)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.extensions.TestSetup.run(TestSetup.java:16)
> FAILURES!!!
> Tests run: 13032, Failures: 4, Errors: 0
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira