db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lily Wei <lily...@yahoo.com>
Subject Re: [jira] Commented: (DERBY-4166) improvements to the mailjdbc test
Date Sat, 25 Jul 2009 18:59:37 GMT

Hi Kathey:
     Yes, it is schemachange2.  I need the same Id in attach table because it is a foreign
key of inbox. I don't know how getGeneratedKeys work. Does it get the same key in inbox? Since
delete thread will delete data in inbox table, the id in inbox table will keep changing as
test run. Thank you so much for looking at this with me.


Sent from my iPhone

On Jul 25, 2009, at 11:40 AM, "Kathey Marsden (JIRA)" <jira@apache.org> wrote:

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

Kathey Marsden commented on DERBY-4166:

Lily in the schemachange2 patch I still see the attachments in a separate loop from the mail
and we still have the SELECT ID from REFRESH.INBOX which may be causing the deadlock.  Did
getGeneratedKeys() not work to get the id if you keep the attachment insert in the loop? 
 I think if we do that and commit after completing the full insert of each mail into INBOX
and ATTACH we shouldn't see timeouts or deadlocks.  

improvements to the mailjdbc test

               Key: DERBY-4166
               URL: https://issues.apache.org/jira/browse/DERBY-4166
           Project: Derby
        Issue Type: Improvement
        Components: Test
  Affects Versions:
          Reporter: Kathey Marsden
          Priority: Minor
       Attachments: DERBY-4166-databasesize.diff, Derby-4166-samedb.diff, DERBY-4166-schemachange.diff,
DERBY-4166-schemachange2.diff, Derby-4166.diff

When recently working with the mailjdbc system test org.apache.derbyTesting.system.mailjdbc
on DERBY-4152 I noticed some potential improvements that might be good for the test.  We should
probably hold off on these improvements however until the root cause of DERBY-4152 is established,
however, so we don't muddy the waters with that issue by changing the test.
1) DbTasks.moveToFolders may throw an IllegalArgumentException.
 There is a line:  message_id = Rn.nextInt(count - 1);
 if count is 1 the argument to nextInt() might be 0 which is not allowed.  I hit this once
but lost the stack trace, but it is apparent that when there is only one row in the table
this can occur.

2) Allow/implement multiple attachments per message and cleanup DbTasks.insertMail() logic.
  - Remove the attach_id column from INBOX to allow multiple attachments.
  -Make the attachment insert part of the message for loop in insertMail.
  Use getGeneratedKeys() to get the id of the inserted message.
  When attachments are inserted, insert (1-4) attachments and give them a corresponding attach_id
from 1-4.
This will allow for removal of the select statements used to determine id and attach_id. 
I'll file another issue for these improvements if folks agree that they are sensible.
A detailed description of the current implementation of insertMail is described at https://issues.apache.org/jira/secure/attachment/12405685/insertMailSummary.txt
3) DbTasks.databaseSize calculation is wrong. It doesn't match du -sk. The method does not
recurse into subdirectories and includes the length() on directory files which is undefined
accourding to the file.length() javadoc.

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


View raw message