db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5445) Enhance existing concurrency test to stress sequence generators to also stress identity columns
Date Wed, 05 Oct 2011 20:06:29 GMT

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

Mamta A. Satoor commented on DERBY-5445:
----------------------------------------

For some reason, my commit 1179374 for this jira has not yet been assoicated here. The commit
had added means to stress test identity columns under concurrent thread. The commit comments
are as follows

DERBY--5445 (Enhance existing concurrency test to stress sequence generators to also stress
identity columns)

DERBY-4565 added a concurrency test to stress sequence generation. I am making simple modifications
to that test to add identity column stress testing. Based on a command line parameter, the
test will either do sequence generation testing or identity column testing. If no parameter
is specified, it will default to doing sequene generation testing.

The test already takes number of parameters. One of those parameters is load options parameter.
Load option parameter is indicated by -load_opts on command line and it is followed by a comma
separated list of sub-parameters. An eg of load option parameter is as follows
-load_opts debugging=1,numberOfGenerators=5,tablesPerGenerator=10,insertsPerTransaction=100
I am adding another pair to the comma separated sub-parameters,namely identityTest=aNumber.
If identityTest is 1, then the test will do identity column stress testing. For any other
value for identityTest, the test will do sequence generation testing. If the user doesn't
specify identityTest in load options, the test will perform sequence generation testing.

eg of asking the test to do identity column testing
java org.apache.derbyTesting.perf.clients.Runner -driver org.apache.derby.jdbc.EmbeddedDriver
-init -load seq_gen -load_opts debugging=1,numberOfGenerators=5,tablesPerGenerator=10,insertsPerTransaction=100,identityTest=1
-gen b2b -threads 10

Two possible way of asking the test to do sequence generation testing(identityTest set to
a value other than 1 or identityTest is not specified)
java org.apache.derbyTesting.perf.clients.Runner -driver org.apache.derby.jdbc.EmbeddedDriver
-init -load seq_gen -load_opts debugging=1,numberOfGenerators=5,tablesPerGenerator=10,insertsPerTransaction=100,identityTest=2
-gen b2b -threads 10
OR
java org.apache.derbyTesting.perf.clients.Runner -driver org.apache.derby.jdbc.EmbeddedDriver
-init -load seq_gen -load_opts debugging=1,numberOfGenerators=5,tablesPerGenerator=10,insertsPerTransaction=100
-gen b2b -threads 10

When I run the test for identity columns, I can consistently see it running into derby lock
time out with nested sequencec contention error while trying to get current identity value
and advancing(this is what we want to achieve from the test ie that it is able to stress the
functionality enough to run into contention while trying to get next range for identity columns.)
Additionally, there are some lock time out errors raised by store while trying to update system
catalog(this is expected too because of multiple threads simulataneously trying to do inserts
into a table with identity column). I also in my codeline reverted to changes before DERBY-5426
(DERBY-4526 is Improve the error raised by too much contention on a sequence/identity.) was
fixed and saw sequence contention errors (without the lock time out error encapsulation).
                
> Enhance existing concurrency test to stress sequence generators to also stress identity
columns
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5445
>                 URL: https://issues.apache.org/jira/browse/DERBY-5445
>             Project: Derby
>          Issue Type: Task
>          Components: Test
>    Affects Versions: 10.8.2.2, 10.9.0.0
>            Reporter: Mamta A. Satoor
>            Assignee: Mamta A. Satoor
>
> DERBY-4565 added a concurrency test for sequence generators to test the possible race
condition for allocating a new range of pre-allocated numbers for the sequence. I have been
looking at enhancing that test to provide similar test for identity columns. I plan to add
another command line parameter to the test which will run the concurrency test to stress identity
column generator.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message