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 "Kathey Marsden (JIRA)" <ji...@apache.org> on 2011/01/26 02:26:43 UTC

[jira] Created: (DERBY-4985) BootLockTest can fail with ERROR XCY03: Required property 'derby.serviceProtocol' has not been set with slow configurations

BootLockTest can fail with ERROR XCY03: Required property 'derby.serviceProtocol' has not been set  with slow configurations
----------------------------------------------------------------------------------------------------------------------------

                 Key: DERBY-4985
                 URL: https://issues.apache.org/jira/browse/DERBY-4985
             Project: Derby
          Issue Type: Bug
          Components: Test
    Affects Versions: 10.5.3.0
            Reporter: Kathey Marsden


If derby tests are running with JVM options that slow things down substantially, it can fail with:
1) testBootLock(org.apache.derbyTesting.functionTests.tests.store.BootLockTest)j
unit.framework.ComparisonFailure: Dual boot not detected: check BootLockMinion.l
og expected:<...SDB6> but was:<...CY03>
        at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDB
CTestCase.java:769)
        at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDB
CTestCase.java:804)
        at org.apache.derbyTesting.functionTests.tests.store.BootLockTest.testBo
otLock(BootLockTest.java:145)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:60)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:37)
        at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:
109)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.extensions.TestSetup.run(TestSetup.java:23)
        at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57
)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.extensions.TestSetup.run(TestSetup.java:23)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.extensions.TestSetup.run(TestSetup.java:23)
Caused by: java.sql.SQLException: Required property 'derby.serviceProtocol' has
not been set.
        at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLE
xceptionFactory40.java:95)
        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:256)

        at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnecti
on.java:2723)
        at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.jav
a:384)
        at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:68
)
        at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:238)

        at org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:
128)
        at java.sql.DriverManager.getConnection(DriverManager.java:322)
        at java.sql.DriverManager.getConnection(DriverManager.java:297)
        at org.apache.derbyTesting.junit.DriverManagerConnector.openConnection(D
riverManagerConnector.java:81)
        at org.apache.derbyTesting.junit.DriverManagerConnector.openConnection(D
riverManagerConnector.java:43)
        at org.apache.derbyTesting.junit.TestConfiguration.openDefaultConnection
(TestConfiguration.java:1538)
        at org.apache.derbyTesting.junit.BaseJDBCTestCase.openDefaultConnection(
BaseJDBCTestCase.java:428)
        at org.apache.derbyTesting.junit.BaseJDBCTestCase.getConnection(BaseJDBC
TestCase.java:110)
        at org.apache.derbyTesting.functionTests.tests.store.BootLockTest.testBo
otLock(BootLockTest.java:136)
        ... 31 more
Caused by: java.sql.SQLException: Required property 'derby.serviceProtocol' has
not been set.
        at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExc
eptionFactory.java:45)
        at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransport
AcrossDRDA(SQLExceptionFactory40.java:119)
        at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLE
xceptionFactory40.java:70)
        ... 45 more
Caused by: ERROR XCY03: Required property 'derby.serviceProtocol' has not been s
et.
        at org.apache.derby.iapi.error.StandardException.newException(StandardEx
ception.java:286)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderServi
ce(BaseMonitor.java:1679)
        at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndSta
rtService(BaseMonitor.java:1560)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentSer
vice(BaseMonitor.java:979)
        at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
(Monitor.java:550)
        at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnecti
on.java:2686)
        ... 43 more


The test waits for the spawned process to create db.lck and service.properties and then waits three seconds more to make sure the properties have been written, but this might not be enough time.
Although I have not seen this myself with unchanged code , I can simulate it on windows by changing StorageFactoryService.saveServiceProperties() to have a sleep between creating the service.properties file and writing the properties out, e.g.

  try
                        {
                            os = servicePropertiesFile.getOutputStream();
                            try {
                                Thread.sleep(10000);
                            } catch (Exception e) {}
                            properties.store( os, serviceName + MessageService.getTextMessage(MessageId.SERVICE_PROPERTIES_DONT_EDIT));



 

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


[jira] Updated: (DERBY-4985) BootLockTest can fail with ERROR XCY03: Required property 'derby.serviceProtocol' has not been set with slow configurations

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-4985?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden updated DERBY-4985:
----------------------------------

    Issue & fix info: [Newcomer, Patch Available, Repro attached]  (was: [Repro attached, Newcomer])

I'll run store._Suite and then check in.


> BootLockTest can fail with ERROR XCY03: Required property 'derby.serviceProtocol' has not been set  with slow configurations
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4985
>                 URL: https://issues.apache.org/jira/browse/DERBY-4985
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.5.3.0
>            Reporter: Kathey Marsden
>         Attachments: derby-4985_diff.txt
>
>
> If derby tests are running with JVM options that slow things down substantially, it can fail with:
> 1) testBootLock(org.apache.derbyTesting.functionTests.tests.store.BootLockTest)j
> unit.framework.ComparisonFailure: Dual boot not detected: check BootLockMinion.l
> og expected:<...SDB6> but was:<...CY03>
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDB
> CTestCase.java:769)
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDB
> CTestCase.java:804)
>         at org.apache.derbyTesting.functionTests.tests.store.BootLockTest.testBo
> otLock(BootLockTest.java:145)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:60)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:37)
>         at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:
> 109)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>         at junit.extensions.TestSetup.run(TestSetup.java:23)
>         at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57
> )
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>         at junit.extensions.TestSetup.run(TestSetup.java:23)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>         at junit.extensions.TestSetup.run(TestSetup.java:23)
> Caused by: java.sql.SQLException: Required property 'derby.serviceProtocol' has
> not been set.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLE
> xceptionFactory40.java:95)
>         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:256)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnecti
> on.java:2723)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.jav
> a:384)
>         at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:68
> )
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:238)
>         at org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:
> 128)
>         at java.sql.DriverManager.getConnection(DriverManager.java:322)
>         at java.sql.DriverManager.getConnection(DriverManager.java:297)
>         at org.apache.derbyTesting.junit.DriverManagerConnector.openConnection(D
> riverManagerConnector.java:81)
>         at org.apache.derbyTesting.junit.DriverManagerConnector.openConnection(D
> riverManagerConnector.java:43)
>         at org.apache.derbyTesting.junit.TestConfiguration.openDefaultConnection
> (TestConfiguration.java:1538)
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.openDefaultConnection(
> BaseJDBCTestCase.java:428)
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.getConnection(BaseJDBC
> TestCase.java:110)
>         at org.apache.derbyTesting.functionTests.tests.store.BootLockTest.testBo
> otLock(BootLockTest.java:136)
>         ... 31 more
> Caused by: java.sql.SQLException: Required property 'derby.serviceProtocol' has
> not been set.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExc
> eptionFactory.java:45)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransport
> AcrossDRDA(SQLExceptionFactory40.java:119)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLE
> xceptionFactory40.java:70)
>         ... 45 more
> Caused by: ERROR XCY03: Required property 'derby.serviceProtocol' has not been s
> et.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardEx
> ception.java:286)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderServi
> ce(BaseMonitor.java:1679)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndSta
> rtService(BaseMonitor.java:1560)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentSer
> vice(BaseMonitor.java:979)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:550)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnecti
> on.java:2686)
>         ... 43 more
> The test waits for the spawned process to create db.lck and service.properties and then waits three seconds more to make sure the properties have been written, but this might not be enough time.
> Although I have not seen this myself with unchanged code , I can simulate it on windows by changing StorageFactoryService.saveServiceProperties() to have a sleep between creating the service.properties file and writing the properties out, e.g.
>   try
>                         {
>                             os = servicePropertiesFile.getOutputStream();
>                             try {
>                                 Thread.sleep(10000);
>                             } catch (Exception e) {}
>                             properties.store( os, serviceName + MessageService.getTextMessage(MessageId.SERVICE_PROPERTIES_DONT_EDIT));
>  

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


[jira] Updated: (DERBY-4985) BootLockTest can fail with ERROR XCY03: Required property 'derby.serviceProtocol' has not been set with slow configurations

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-4985?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden updated DERBY-4985:
----------------------------------

    Attachment: derby-4985_diff.txt

Here is a patch for this issue. BootLockMinion creates a file after it has made the connection and created a table that BootLockTest can check for, so we are really sure that the database creation and connection are complete.

> BootLockTest can fail with ERROR XCY03: Required property 'derby.serviceProtocol' has not been set  with slow configurations
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4985
>                 URL: https://issues.apache.org/jira/browse/DERBY-4985
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.5.3.0
>            Reporter: Kathey Marsden
>         Attachments: derby-4985_diff.txt
>
>
> If derby tests are running with JVM options that slow things down substantially, it can fail with:
> 1) testBootLock(org.apache.derbyTesting.functionTests.tests.store.BootLockTest)j
> unit.framework.ComparisonFailure: Dual boot not detected: check BootLockMinion.l
> og expected:<...SDB6> but was:<...CY03>
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDB
> CTestCase.java:769)
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDB
> CTestCase.java:804)
>         at org.apache.derbyTesting.functionTests.tests.store.BootLockTest.testBo
> otLock(BootLockTest.java:145)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:60)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:37)
>         at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:
> 109)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>         at junit.extensions.TestSetup.run(TestSetup.java:23)
>         at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57
> )
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>         at junit.extensions.TestSetup.run(TestSetup.java:23)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>         at junit.extensions.TestSetup.run(TestSetup.java:23)
> Caused by: java.sql.SQLException: Required property 'derby.serviceProtocol' has
> not been set.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLE
> xceptionFactory40.java:95)
>         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:256)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnecti
> on.java:2723)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.jav
> a:384)
>         at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:68
> )
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:238)
>         at org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:
> 128)
>         at java.sql.DriverManager.getConnection(DriverManager.java:322)
>         at java.sql.DriverManager.getConnection(DriverManager.java:297)
>         at org.apache.derbyTesting.junit.DriverManagerConnector.openConnection(D
> riverManagerConnector.java:81)
>         at org.apache.derbyTesting.junit.DriverManagerConnector.openConnection(D
> riverManagerConnector.java:43)
>         at org.apache.derbyTesting.junit.TestConfiguration.openDefaultConnection
> (TestConfiguration.java:1538)
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.openDefaultConnection(
> BaseJDBCTestCase.java:428)
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.getConnection(BaseJDBC
> TestCase.java:110)
>         at org.apache.derbyTesting.functionTests.tests.store.BootLockTest.testBo
> otLock(BootLockTest.java:136)
>         ... 31 more
> Caused by: java.sql.SQLException: Required property 'derby.serviceProtocol' has
> not been set.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExc
> eptionFactory.java:45)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransport
> AcrossDRDA(SQLExceptionFactory40.java:119)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLE
> xceptionFactory40.java:70)
>         ... 45 more
> Caused by: ERROR XCY03: Required property 'derby.serviceProtocol' has not been s
> et.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardEx
> ception.java:286)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderServi
> ce(BaseMonitor.java:1679)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndSta
> rtService(BaseMonitor.java:1560)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentSer
> vice(BaseMonitor.java:979)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:550)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnecti
> on.java:2686)
>         ... 43 more
> The test waits for the spawned process to create db.lck and service.properties and then waits three seconds more to make sure the properties have been written, but this might not be enough time.
> Although I have not seen this myself with unchanged code , I can simulate it on windows by changing StorageFactoryService.saveServiceProperties() to have a sleep between creating the service.properties file and writing the properties out, e.g.
>   try
>                         {
>                             os = servicePropertiesFile.getOutputStream();
>                             try {
>                                 Thread.sleep(10000);
>                             } catch (Exception e) {}
>                             properties.store( os, serviceName + MessageService.getTextMessage(MessageId.SERVICE_PROPERTIES_DONT_EDIT));
>  

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


[jira] Resolved: (DERBY-4985) BootLockTest can fail with ERROR XCY03: Required property 'derby.serviceProtocol' has not been set with slow configurations

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-4985?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden resolved DERBY-4985.
-----------------------------------

          Resolution: Fixed
       Fix Version/s: 10.8.0.0
                      10.7.1.3
                      10.6.2.3
                      10.5.3.1
    Issue & fix info: [Newcomer, Repro attached]  (was: [Repro attached, Patch Available, Newcomer])

> BootLockTest can fail with ERROR XCY03: Required property 'derby.serviceProtocol' has not been set  with slow configurations
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4985
>                 URL: https://issues.apache.org/jira/browse/DERBY-4985
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.5.3.0
>            Reporter: Kathey Marsden
>             Fix For: 10.5.3.1, 10.6.2.3, 10.7.1.3, 10.8.0.0
>
>         Attachments: derby-4985_diff.txt
>
>
> If derby tests are running with JVM options that slow things down substantially, it can fail with:
> 1) testBootLock(org.apache.derbyTesting.functionTests.tests.store.BootLockTest)j
> unit.framework.ComparisonFailure: Dual boot not detected: check BootLockMinion.l
> og expected:<...SDB6> but was:<...CY03>
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDB
> CTestCase.java:769)
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDB
> CTestCase.java:804)
>         at org.apache.derbyTesting.functionTests.tests.store.BootLockTest.testBo
> otLock(BootLockTest.java:145)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:60)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:37)
>         at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:
> 109)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>         at junit.extensions.TestSetup.run(TestSetup.java:23)
>         at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57
> )
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>         at junit.extensions.TestSetup.run(TestSetup.java:23)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>         at junit.extensions.TestSetup.run(TestSetup.java:23)
> Caused by: java.sql.SQLException: Required property 'derby.serviceProtocol' has
> not been set.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLE
> xceptionFactory40.java:95)
>         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:256)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnecti
> on.java:2723)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.jav
> a:384)
>         at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:68
> )
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:238)
>         at org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:
> 128)
>         at java.sql.DriverManager.getConnection(DriverManager.java:322)
>         at java.sql.DriverManager.getConnection(DriverManager.java:297)
>         at org.apache.derbyTesting.junit.DriverManagerConnector.openConnection(D
> riverManagerConnector.java:81)
>         at org.apache.derbyTesting.junit.DriverManagerConnector.openConnection(D
> riverManagerConnector.java:43)
>         at org.apache.derbyTesting.junit.TestConfiguration.openDefaultConnection
> (TestConfiguration.java:1538)
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.openDefaultConnection(
> BaseJDBCTestCase.java:428)
>         at org.apache.derbyTesting.junit.BaseJDBCTestCase.getConnection(BaseJDBC
> TestCase.java:110)
>         at org.apache.derbyTesting.functionTests.tests.store.BootLockTest.testBo
> otLock(BootLockTest.java:136)
>         ... 31 more
> Caused by: java.sql.SQLException: Required property 'derby.serviceProtocol' has
> not been set.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExc
> eptionFactory.java:45)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransport
> AcrossDRDA(SQLExceptionFactory40.java:119)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLE
> xceptionFactory40.java:70)
>         ... 45 more
> Caused by: ERROR XCY03: Required property 'derby.serviceProtocol' has not been s
> et.
>         at org.apache.derby.iapi.error.StandardException.newException(StandardEx
> ception.java:286)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderServi
> ce(BaseMonitor.java:1679)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndSta
> rtService(BaseMonitor.java:1560)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentSer
> vice(BaseMonitor.java:979)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService
> (Monitor.java:550)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnecti
> on.java:2686)
>         ... 43 more
> The test waits for the spawned process to create db.lck and service.properties and then waits three seconds more to make sure the properties have been written, but this might not be enough time.
> Although I have not seen this myself with unchanged code , I can simulate it on windows by changing StorageFactoryService.saveServiceProperties() to have a sleep between creating the service.properties file and writing the properties out, e.g.
>   try
>                         {
>                             os = servicePropertiesFile.getOutputStream();
>                             try {
>                                 Thread.sleep(10000);
>                             } catch (Exception e) {}
>                             properties.store( os, serviceName + MessageService.getTextMessage(MessageId.SERVICE_PROPERTIES_DONT_EDIT));
>  

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