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 Ole Solberg <Ol...@Sun.COM> on 2009/04/20 14:28:51 UTC

Error when running the MailJdbc test

I started a run of the MailJdbc test on 10.5.1.1, and am seeing lots of
occurences of the error shown below.

Is this the "serious issue" referenced at line 445 in
org.apache.derbyTesting.system.mailjdbc.utils.DbTasks?


 .
 .
 : INFO : total number of blobs inserted : 0
 : INFO :Refresh Thread : Error while inserting into REFRESH.INBOX:You
cannot invoke other java.sql.Clob/java.sql.Blob methods after calling
the free() method or after the Blob/Clob's transaction has been
committed or rolled back.
 : ERROR :insertMail() failed You cannot invoke other
java.sql.Clob/java.sql.Blob methods after calling the free() method or
after the Blob/Clob's transaction has been committed or rolled back.
 : INFO :Deleting mail by refresh

java.sql.SQLException: You cannot invoke other
java.sql.Clob/java.sql.Blob methods after calling the free() method or
after the Blob/Clob's transaction has been committed or rolled back.
	at
org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown
Source)
	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
	at org.apache.derby.client.am.Lob.checkValidity(Unknown Source)
	at org.apache.derby.client.am.Clob.length(Unknown Source)
	at
org.apache.derby.client.net.NetStatementRequest.computeProtocolTypesAndLengths(Unknown
Source)
	at
org.apache.derby.client.net.NetStatementRequest.buildSQLDTAcommandData(Unknown
Source)
	at org.apache.derby.client.net.NetStatementRequest.writeExecute(Unknown
Source)
	at
org.apache.derby.client.net.NetPreparedStatement.writeExecute_(Unknown
Source)
	at org.apache.derby.client.am.PreparedStatement.writeExecute(Unknown
Source)
	at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown Source)
	at org.apache.derby.client.am.PreparedStatement.executeUpdateX(Unknown
Source)
	at org.apache.derby.client.am.PreparedStatement.executeUpdate(Unknown
Source)
	at
org.apache.derbyTesting.system.mailjdbc.utils.DbTasks.insertMail(DbTasks.java:447)
	at
org.apache.derbyTesting.system.mailjdbc.tasks.Refresh.insertMail(Refresh.java:99)
	at
org.apache.derbyTesting.system.mailjdbc.tasks.Refresh.doWork(Refresh.java:75)
	at
org.apache.derbyTesting.system.mailjdbc.tasks.Refresh.run(Refresh.java:51)
Caused by: org.apache.derby.client.am.SqlException: You cannot invoke
other java.sql.Clob/java.sql.Blob methods after calling the free()
method or after the Blob/Clob's transaction has been committed or rolled
back.
	... 14 more






I have not been running this test on earlier releases....



-- 
Ole Solberg, Database Technology Group,
Sun Microsystems, Trondheim, Norway

Re: Error when running the MailJdbc test

Posted by Kathey Marsden <km...@sbcglobal.net>.
Ole Solberg wrote:
>
> The case I reported was run with derby.properties and with NetworkServer:
> java org.apache.derbyTesting.system.mailjdbc.MailJdbc NetworkServer
>
>
I am sorry, I haven't run with network server, so have no insight.
> I just started two embedded runs, w/ and wo/ derby.properties:
> java org.apache.derbyTesting.system.mailjdbc.MailJdbc embedded.
>
>
> Without derby.properties I see:
> -------------------------------
>  : INFO :Purging Thread : delete mails which are older than 1 day
>  : INFO :Refresh Thread : Error while inserting attachments:The 
> statement was aborted because it would have caused a duplicate key 
> value in a unique or primary key constraint or unique index identified 
> by 'ATTACH__PK'
>  defined on 'ATTACH'.
>  : ERROR :insertMail() failed The statement was aborted because it 
> would have caused a duplicate key value in a unique or primary key 
> constraint or unique index identified by 'ATTACH__PK' defined on 
> 'ATTACH'.
>  : INFO :Deleting mail by refresh
>

The primary key violation is a known issue with the test and explained  at:
https://issues.apache.org/jira/secure/attachment/12405685/insertMailSummary.txt.
I filed DERBY-4166  to improve the test.  It also occurs with the 10.4 
run of the test.

>
> With derby.properties I see:
> ----------------------------
>  : INFO :Backup Thread : dbsize before compress : 1179648
>  : ERROR :Backup Thread : Error while doing the Compress procedure: 
> The exception 'java.sql.SQLException: User 'BACKUP' can not perform 
> the operation in schema 'REFRESH'.' was thrown while evaluating an 
> expressi
> on.
I don't know if this also occurred in 10.4. If not,  I would be curious 
if the DERBY-1062 change is related.  The description says:
1) shares existing alter table code, so things like error checking, 
security management, ... is all done by one piece of code
3) future changes addressing ddl like grant/revoke will automatically work.

So maybe there were some security fixes as part of that change? Just a 
guess.

>  : INFO :Backup Thread : Finished Compressing the table: INBOX
>  : INFO :Backup Thread : dbsize after compress : 1441792
>  : INFO :Backup Thread : dbsize before compress : 1441792
>  : ERROR :Backup Thread : Error while doing the Compress procedure: 
> The exception 'java.sql.SQLException: User 'BACKUP' can not perform 
> the operation in schema 'REFRESH'.' was thrown while evaluating an 
> expressi
> on.
>  : INFO :Backup Thread : Finished Compressing the table: ATTACH
>
> AND
>
>  : INFO :Refresh Thread : Error while inserting attachments:The 
> statement was aborted because it would have caused a duplicate key 
> value in a unique or primary key constraint or unique index identified 
> by 'ATTAC
> H__PK' defined on 'ATTACH'.
>  : ERROR :insertMail() failed The statement was aborted because it 
> would have caused a duplicate key value in a unique or primary key 
> constraint or unique index identified by 'ATTACH__PK' defined on 
> 'ATTACH'.
>  : INFO :Deleting mail by refresh
>
>
>

I have also seen deadlocks and lock timeouts in the test in both 10.4 
and 10.5.  I don't know whether those are intentional or not.

Kathey



Re: Error when running the MailJdbc test

Posted by Ole Solberg <Ol...@Sun.COM>.
On 04/20/09 20:11, Kathey Marsden wrote:
> Kathey Marsden wrote:
>> I ran the test with RC1 and have been running it on trunk, but haven't 
>> tried with RC2.  I haven't ever seen this error.  Regarding the 
>> mysterious "serious issue" nobody seems to know what that is about.    
>> I filed DERBY-4091 to investigate that issue.
>>
> I should have indicated that I have been running this test incorrectly 
> (without a derby.properties) in order to try to reproduce DERBY-4152 and 
> DERBY-4075 and on Windows with IBM 1.6 (build pwi3260sr3-20081106_07(SR3))
> 
> Kathey
> 
> 

The case I reported was run with derby.properties and with NetworkServer:
java org.apache.derbyTesting.system.mailjdbc.MailJdbc NetworkServer


I just started two embedded runs, w/ and wo/ derby.properties:
java org.apache.derbyTesting.system.mailjdbc.MailJdbc embedded.


Without derby.properties I see:
-------------------------------
  : INFO :Purging Thread : delete mails which are older than 1 day
  : INFO :Refresh Thread : Error while inserting attachments:The 
statement was aborted because it would have caused a duplicate key value 
in a unique or primary key constraint or unique index identified by 
'ATTACH__PK'
  defined on 'ATTACH'.
  : ERROR :insertMail() failed The statement was aborted because it 
would have caused a duplicate key value in a unique or primary key 
constraint or unique index identified by 'ATTACH__PK' defined on 'ATTACH'.
  : INFO :Deleting mail by refresh


With derby.properties I see:
----------------------------
  : INFO :Backup Thread : dbsize before compress : 1179648
  : ERROR :Backup Thread : Error while doing the Compress procedure: The 
exception 'java.sql.SQLException: User 'BACKUP' can not perform the 
operation in schema 'REFRESH'.' was thrown while evaluating an expressi
on.
  : INFO :Backup Thread : Finished Compressing the table: INBOX
  : INFO :Backup Thread : dbsize after compress : 1441792
  : INFO :Backup Thread : dbsize before compress : 1441792
  : ERROR :Backup Thread : Error while doing the Compress procedure: The 
exception 'java.sql.SQLException: User 'BACKUP' can not perform the 
operation in schema 'REFRESH'.' was thrown while evaluating an expressi
on.
  : INFO :Backup Thread : Finished Compressing the table: ATTACH

AND

  : INFO :Refresh Thread : Error while inserting attachments:The 
statement was aborted because it would have caused a duplicate key value 
in a unique or primary key constraint or unique index identified by 'ATTAC
H__PK' defined on 'ATTACH'.
  : ERROR :insertMail() failed The statement was aborted because it 
would have caused a duplicate key value in a unique or primary key 
constraint or unique index identified by 'ATTACH__PK' defined on 'ATTACH'.
  : INFO :Deleting mail by refresh



-- 
Ole Solberg, Database Technology Group,
Sun Microsystems, Trondheim, Norway

Re: Error when running the MailJdbc test

Posted by Kathey Marsden <km...@sbcglobal.net>.
Kathey Marsden wrote:
> I ran the test with RC1 and have been running it on trunk, but haven't 
> tried with RC2.  I haven't ever seen this error.  Regarding the 
> mysterious "serious issue" nobody seems to know what that is about.    
> I filed DERBY-4091 to investigate that issue.
>
I should have indicated that I have been running this test incorrectly 
(without a derby.properties) in order to try to reproduce DERBY-4152 and 
DERBY-4075 and on Windows with IBM 1.6 (build pwi3260sr3-20081106_07(SR3))

Kathey



Re: Error when running the MailJdbc test

Posted by Kathey Marsden <km...@sbcglobal.net>.
Ole Solberg wrote:
> I started a run of the MailJdbc test on 10.5.1.1, and am seeing lots of
> occurences of the error shown below.
>
> Is this the "serious issue" referenced at line 445 in
> org.apache.derbyTesting.system.mailjdbc.utils.DbTasks?
>
>
>  .
>  .
>  : INFO : total number of blobs inserted : 0
>  : INFO :Refresh Thread : Error while inserting into REFRESH.INBOX:You
> cannot invoke other java.sql.Clob/java.sql.Blob methods after calling
> the free() method or after the Blob/Clob's transaction has been
> committed or rolled back.
>  : ERROR :insertMail() failed You cannot invoke other
> java.sql.Clob/java.sql.Blob methods after calling the free() method or
> after the Blob/Clob's transaction has been committed or rolled back.
>  : INFO :Deleting mail by refresh
>
> java.sql.SQLException: You cannot invoke other
> java.sql.Clob/java.sql.Blob methods after calling the free() method or
> after the Blob/Clob's transaction has been committed or rolled back.
> 	at
> org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown
> Source)
> 	at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
> 	at org.apache.derby.client.am.Lob.checkValidity(Unknown Source)
> 	at org.apache.derby.client.am.Clob.length(Unknown Source)
> 	at
> org.apache.derby.client.net.NetStatementRequest.computeProtocolTypesAndLengths(Unknown
> Source)
> 	at
> org.apache.derby.client.net.NetStatementRequest.buildSQLDTAcommandData(Unknown
> Source)
> 	at org.apache.derby.client.net.NetStatementRequest.writeExecute(Unknown
> Source)
> 	at
> org.apache.derby.client.net.NetPreparedStatement.writeExecute_(Unknown
> Source)
> 	at org.apache.derby.client.am.PreparedStatement.writeExecute(Unknown
> Source)
> 	at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown Source)
> 	at org.apache.derby.client.am.PreparedStatement.executeUpdateX(Unknown
> Source)
> 	at org.apache.derby.client.am.PreparedStatement.executeUpdate(Unknown
> Source)
> 	at
> org.apache.derbyTesting.system.mailjdbc.utils.DbTasks.insertMail(DbTasks.java:447)
> 	at
> org.apache.derbyTesting.system.mailjdbc.tasks.Refresh.insertMail(Refresh.java:99)
> 	at
> org.apache.derbyTesting.system.mailjdbc.tasks.Refresh.doWork(Refresh.java:75)
> 	at
> org.apache.derbyTesting.system.mailjdbc.tasks.Refresh.run(Refresh.java:51)
> Caused by: org.apache.derby.client.am.SqlException: You cannot invoke
> other java.sql.Clob/java.sql.Blob methods after calling the free()
> method or after the Blob/Clob's transaction has been committed or rolled
> back.
> 	... 14 more
>
>
>
>
>
>
> I have not been running this test on earlier releases....
>
>
>
>   
I ran the test with RC1 and have been running it on trunk, but haven't 
tried with RC2.  I haven't ever seen this error.  Regarding the 
mysterious "serious issue" nobody seems to know what that is about.    I 
filed DERBY-4091 to investigate that issue.

Kathey