You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Myrna van Lunteren (JIRA)" <ji...@apache.org> on 2011/01/13 22:01:47 UTC

[jira] Closed: (DERBY-4812) ReplicationMessageTransmit run does not unwrap PrivilegedActionException which can lead to failure of replicationTests.ReplicationRun_Local_StateTest_part1_1

     [ https://issues.apache.org/jira/browse/DERBY-4812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Myrna van Lunteren closed DERBY-4812.
-------------------------------------


> ReplicationMessageTransmit run does not unwrap PrivilegedActionException which can lead to failure of replicationTests.ReplicationRun_Local_StateTest_part1_1
> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4812
>                 URL: https://issues.apache.org/jira/browse/DERBY-4812
>             Project: Derby
>          Issue Type: Bug
>          Components: Replication
>    Affects Versions: 10.5.3.1
>         Environment: AIX 64 bit, IBM 1.6 jvm
>            Reporter: Myrna van Lunteren
>            Assignee: Kathey Marsden
>             Fix For: 10.5.3.2, 10.6.2.3, 10.7.1.1
>
>         Attachments: derby-4812-2_diff.txt, derby-4812_diff.txt, derby-4812_diff.txt, derby-4812_diff.txt, derby-4812_diff.txt
>
>
> One of our nightly tests failed with the exception (db path slightly edited) below.
> Looking at the source of org.apache.derby.impl.store.replication.net.ReplicationMessageTransmit.run, it seems that the code does not completely unwrap the PrivilegedActionException (compared to how this is done in for example org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.getFileInputStream()).
> It could be that the test is looking for the java.io.IOException, which it doesn't get (it gets the PrivilegedActionException instead).
> ----------------------
> 1) testReplication_Local_StateTest_part1_1(org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1_1)junit.framework.AssertionFailedError: Got -1 XRE42 DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE42, SQLERRMC: Replicated database '/test/results/db_slave/wombat' shutdown.. Expected XRE41
>         at java.lang.Throwable.<init>(Throwable.java:67)
>         at junit.framework.AssertionFailedError.<init>(AssertionFailedError.java:11)
>         at org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.assertException(ReplicationRun.java:3427)
>         at org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1_1._testPostStartedMasterAndSlave_StopSlave(ReplicationRun_Local_StateTest_part1_1.java:150)
>         at org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1_1.testReplication_Local_StateTest_part1_1(ReplicationRun_Local_StateTest_part1_1.java:134)
>         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:201)
>         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)
> ----------------------
> The exception in the db_master-derby.log was:
> ------------------------
> Database Class Loader started - derby.database.classpath=''
> ----  BEGIN REPLICATION ERROR MESSAGE (9/13/10 9:40 AM) ----
> Replication slave got a fatal error for database '/test/results/db_master/wombat'. Replication will be stopped.
> ERROR XRE04: Could not establish a connection to the peer of the replicated database '/test/results/db_master/wombat' on address 'localhost:8888'.
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.store.replication.master.MasterController.setupConnection(Unknown Source)
> 	at org.apache.derby.impl.store.replication.master.MasterController.startMaster(Unknown Source)
> 	at org.apache.derby.impl.store.raw.RawStore.startReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.store.access.RAMAccessManager.startReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.db.BasicDatabase.startReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleStartReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> 	at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
> 	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> 	at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
> 	at org.apache.derby.impl.drda.Database.makeConnection(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
> Caused by: java.security.PrivilegedActionException: java.net.ConnectException: Connection refused
> 	at java.security.AccessController.doPrivileged(AccessController.java:255)
> 	at org.apache.derby.impl.store.replication.net.ReplicationMessageTransmit.initConnection(Unknown Source)
> 	... 17 more
> Caused by: java.net.ConnectException: Connection refused
> 	at java.net.PlainSocketImpl.socketConnect(Native Method)
> 	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:352)
> 	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:214)
> 	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:201)
> 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:378)
> 	at java.net.Socket.connect(Socket.java:528)
> 	at org.apache.derby.impl.store.replication.net.ReplicationMessageTransmit$1.run(Unknown Source)
> 	at java.security.AccessController.doPrivileged(AccessController.java:251)
> 	... 18 more
> ============= begin nested exception, level (1) ===========
> java.security.PrivilegedActionException: java.net.ConnectException: Connection refused
> 	at java.security.AccessController.doPrivileged(AccessController.java:255)
> 	at org.apache.derby.impl.store.replication.net.ReplicationMessageTransmit.initConnection(Unknown Source)
> 	at org.apache.derby.impl.store.replication.master.MasterController.setupConnection(Unknown Source)
> 	at org.apache.derby.impl.store.replication.master.MasterController.startMaster(Unknown Source)
> 	at org.apache.derby.impl.store.raw.RawStore.startReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.store.access.RAMAccessManager.startReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.db.BasicDatabase.startReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleStartReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> 	at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
> 	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> 	at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
> 	at org.apache.derby.impl.drda.Database.makeConnection(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
> Caused by: java.net.ConnectException: Connection refused
> 	at java.net.PlainSocketImpl.socketConnect(Native Method)
> 	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:352)
> 	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:214)
> 	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:201)
> 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:378)
> 	at java.net.Socket.connect(Socket.java:528)
> 	at org.apache.derby.impl.store.replication.net.ReplicationMessageTransmit$1.run(Unknown Source)
> 	at java.security.AccessController.doPrivileged(AccessController.java:251)
> 	... 18 more
> ============= end nested exception, level (1) ===========
> ============= begin nested exception, level (2) ===========
> java.net.ConnectException: Connection refused
> 	at java.net.PlainSocketImpl.socketConnect(Native Method)
> 	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:352)
> 	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:214)
> 	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:201)
> 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:378)
> 	at java.net.Socket.connect(Socket.java:528)
> 	at org.apache.derby.impl.store.replication.net.ReplicationMessageTransmit$1.run(Unknown Source)
> 	at java.security.AccessController.doPrivileged(AccessController.java:251)
> 	at org.apache.derby.impl.store.replication.net.ReplicationMessageTransmit.initConnection(Unknown Source)
> 	at org.apache.derby.impl.store.replication.master.MasterController.setupConnection(Unknown Source)
> 	at org.apache.derby.impl.store.replication.master.MasterController.startMaster(Unknown Source)
> 	at org.apache.derby.impl.store.raw.RawStore.startReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.store.access.RAMAccessManager.startReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.db.BasicDatabase.startReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleStartReplicationMaster(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> 	at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
> 	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> 	at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
> 	at org.apache.derby.impl.drda.Database.makeConnection(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
> ============= end nested exception, level (2) ===========

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.