db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5448) In the 10.8 branch, back out the concurrency improvements introduced by using SequenceUpdaters to allocate identity values.
Date Fri, 07 Oct 2011 23:17:30 GMT

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

Mike Matrigali commented on DERBY-5448:
---------------------------------------

I just reproduced against top of 10.8 branch, SANE, windows XP, single cpu, dual core, ibm
laptop t60p.  took me 38 minutes.
running nstest as:
java \
-Dderby.stream.error.extendedDiagSeverityLevel=30000 \
-Dderby.locks.monitor=true \
-Dderby.locks.deadlockTrace=true \
org.apache.derbyTesting.system.nstest.NsTest \
Embedded > nstest.out 2>&1


Fri Oct 07 15:17:28 PDT 2011 Thread[Thread 36,5,main] (XID = 130487), (SESSIONID = 88), (DATABASE
= nstestdb), (DRDAID = null), Failed Statement is:
insert into nstesttab (id, t_char, t_date, t_decimal, t_decimal_nn, t_double,  t_float, t_int,
t_longint, t_numeric_large, t_real, t_smallint, t_time,
 t_timestamp, t_varchar,t_clob,t_blob) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?,cast('00000000000000000000000000000000031' as clob(1K)),ca
st(X'0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000031' as blob(10K))) with 15 parameters begin parameter
#1: 684965125 :end parameter begin parameter #2: CV
ZXCVZXCV !@#$!@#$ asdfasdf 1 q a  :end parameter begin parameter #3: 3713-01-07 :end parameter
begin parameter #4: 828.5777992596651 :end parameter be
gin parameter #5: 0.2472237598957745 :end parameter begin parameter #6: 4.995415321343787E285
:end parameter begin parameter #7: 8.21632369503401E25 :
end parameter begin parameter #8: -1314135079 :end parameter begin parameter #9: 777072442558566171
:end parameter begin parameter #10: 6.333797131351
71 :end parameter begin parameter #11: 25.84169 :end parameter begin parameter #12: 32594
:end parameter begin parameter #13: 01:11:04 :end parameter
begin parameter #14: 2075-01-18 15:28:15.9 :end parameter begin parameter #15: qwerqwer 12341234
ZXCVZXCVZXCV !@#$!@#$ asdfasdf 1 q a z asdf ASDF qwer
asdfzxcvasdfqwer1234asd# :end parameter ^M
ERROR 40001: A lock could not be obtained due to a deadlock, cycle of locks and waiters is:
Lock : ROW, SYSCOLUMNS, (5,16)
  Waiting XID : {130487, X} , NSTEST,  insert into nstesttab (id, t_char, t_date, t_decimal,
t_decimal_nn, t_double,  t_float, t_int, t_longint, t_num
eric_large, t_real, t_smallint, t_time, t_timestamp, t_varchar,t_clob,t_blob) values ( ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,cast('0000000000000
0000000000000000000031' as clob(1K)),cast(X'0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000031' as
blob(10K)))
  Granted XID : {130470, X}
Lock : ROW, NSTESTTAB, (687,40)
  Waiting XID : {130470, S} , NSTEST, select max(serialkey) from nstesttab where serialkey
> ?
  Granted XID : {130455, X}
Lock : ROW, SYSCOLUMNS, (5,16)
  Waiting XID : {130455, X} , NSTEST,  insert into nstesttab (id, t_char, t_date, t_decimal,
t_decimal_nn, t_double,  t_float, t_int, t_longint, t_num
eric_large, t_real, t_smallint, t_time, t_timestamp, t_varchar,t_clob,t_blob) values ( ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,cast('0000000000000
0000000000000000000031' as clob(1K)),cast(X'0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000031' as
blob(10K)))
. The selected victim is XID : 130487.^M
    at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:303)^M
    at org.apache.derby.impl.services.locks.Deadlock.buildException(Deadlock.java:554)^M
    at org.apache.derby.impl.services.locks.ConcurrentLockSet.lockObject(ConcurrentLockSet.java:629)^M
    at org.apache.derby.impl.services.locks.AbstractPool.lockObject(AbstractPool.java:119)^M
    at org.apache.derby.impl.services.locks.ConcurrentPool.lockObject(ConcurrentPool.java:28)^M
    at org.apache.derby.impl.store.raw.xact.RowLocking3.lockRecordForWrite(RowLocking3.java:248)^M
    at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.lockPositionForWrite(OpenConglomerate.java:587)^M
    at org.apache.derby.impl.store.access.conglomerate.GenericConglomerateController.fetch(GenericConglomerateController.java:382)^M
    at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getSetAutoincrementValue(DataDictionaryImpl.java:8676)^M
    at org.apache.derby.impl.sql.execute.InsertResultSet.getSetAutoincrementValue(InsertResultSet.java:830)^M
    at org.apache.derby.impl.sql.execute.BaseActivation.getSetAutoincrementValue(BaseActivation.java:666)^M
    at org.apache.derby.exe.accf0fdf6ax0132xe04fxbf22x0000001a6cc01f.e0(Unknown Source)^M
    at org.apache.derby.impl.services.reflect.DirectCall.invoke(ReflectGeneratedClass.java:139)^M
    at org.apache.derby.impl.sql.execute.RowResultSet.getNextRowCore(RowResultSet.java:148)^M
    at org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(NormalizeResultSet.java:185)^M
    at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java:127)^M
    at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:504)^M
    at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:436)^M
    at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:317)^M
    at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1242)^M
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1686)^M
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:308)^M
    at org.apache.derbyTesting.system.nstest.utils.DbUtil.add_one_row(DbUtil.java:201)^M
    at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:148)^M
    at org.apache.derbyTesting.system.nstest.tester.Tester2.startTesting(Tester2.java:109)^M
    at org.apache.derbyTesting.system.nstest.NsTest.run(NsTest.java:555)^M
                
> In the 10.8 branch, back out the concurrency improvements introduced by using SequenceUpdaters
to allocate identity values.
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5448
>                 URL: https://issues.apache.org/jira/browse/DERBY-5448
>             Project: Derby
>          Issue Type: Bug
>          Components: Documentation, SQL
>    Affects Versions: 10.8.2.1
>            Reporter: Rick Hillegas
>             Fix For: 10.8.2.1
>
>         Attachments: derby-5448-01-aa-backoutConcurrencyChanges.diff, derby-5448-02-aa-backoutDocsChanges.diff
>
>
> New errors were seen while running NsTest against the 10.8.2 release candidates. These
errors are recorded as DERBY-5430 and DERBY-5422. The first error is a deadlock which occurs
when inserting into the main table of the test. The second error is a problem clearing the
identity cache. These errors have caused people to lose confidence in the concurrency improvements
introduced by DERBY-4437. We should back the DERBY-4437 changes out of the 10.8 branch and
use the trunk to continue debugging the problems disclosed by NsTest.

--
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