[ 
https://issues.apache.org/jira/browse/DERBY-4884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12928562#action_12928562
 ] 

Knut Anders Hatlen commented on DERBY-4884:
-------------------------------------------

I've found two more tests, in addition to BlobClob4BlobTest, that have this 
problem:

- StressMultiTest: This test works around the problem by using a 
SystemPropertyTestSetup for static database properties instead of using 
DatabasePropertyTestSetup. See comment in its suite() method.

- DeadlockModeTest: Same problem as BlobClob4BlobTest. It wraps a 
DatabasePropertyTestSetup on top of the encryption decorator. But since the 
encryption decorator creates a single-use database, the DBPTS will work on the 
wrong database (it works on the default db since it's not inside the encryption 
decorator). Moving the encryption decorator outside the the DBPTS will make the 
rebooting of the fail because the boot password isn't available outside the 
encryption decorator's setUp() method. Unlike the problem in BlobClob4BlobTest, 
this doesn't usually make the test take unnecessarily long time, since the test 
isn't expected to experience timeouts or deadlocks.

I'm working on a patch that makes the encryption decorator better integrated 
with the test framework. In short, I'm planning to add support for extra 
connection attributes in TestConfiguration, so that the necessary attributes 
will also be available when opening a connection outside of the decorator's 
setUp() method.

> DatabasePropertyTestSetup cannot change static properties in encrypted 
> databases
> --------------------------------------------------------------------------------
>
>                 Key: DERBY-4884
>                 URL: https://issues.apache.org/jira/browse/DERBY-4884
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.7.1.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>
> DatabasePropertyTestSetup needs to reboot the database in order to set static 
> properties. In tests with encrypted databases, the database cannot be 
> rebooted because the boot password is only known inside the setUp() method of 
> the decorator created by Decorator.encryptedDatabase().
> One of the problems that results from this, is that BlobClob4Blob test cannot 
> reduce the lock timeout for the encrypted variant of the test. Since there 
> are four test cases that wait for a lock timeout, the test takes almost four 
> minutes longer than it would have if the lock timeout had been reduced.

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

Reply via email to