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 Kathey Marsden <km...@sbcglobal.net> on 2009/07/24 21:29:26 UTC

mailjdbc sanity check

I kicked off my embedded run of mailjdbc a couple days ago and noticed a 
couple of differences from the network run.
1) I see about 3300 instances of Refresh Thread....Interrupted in 
Activity.out. I don't see any in the network run.  Is this expected?  
The refresh thread does seem to continue on and complete its work.

#### Refresh Thread...Interrupted
 : INFO :Browsing Thread : The number of mails in the REFRESH.INBOX are : 9
 : INFO :Browsing Thread : The number of mails in the attachment table 
are : 0
 : INFO :Browsing Thread : no attachment
 : INFO :Browsing Thread : mail with the id 4 does not exist
 : INFO : total number of inserts : 13355
 : INFO : total number of deletes : 13346
 : INFO : total number of clobs inserted : 13355
 : INFO : total number of blobs inserted : 1368
 : INFO :Browsing Thread : The number of mails marked to be deleted  by 
user:3
 : INFO :Refresh Thread : number of mails inserted : 6
 : INFO :Browsing Thread : Mail with id : 7 is moved to folder with id : 0
 : INFO :Deleting mail by refresh
 : INFO :Refresh Thread : 2 rows deleted
 : INFO :Refresh doWork() completed

2)   I see about 80 deadocks (ERROR 40001)  in the embedded run and just 
2 in the network run which has been running about the same time.

Are these differences anything to be concerned about?

Kathey


Re: mailjdbc sanity check

Posted by Lily Wei <li...@yahoo.com>.
Hi Kathey:
     It can be normal in my opinion. In Browse.java, we check whether the Refresh thread is running. If not so, interrupt. I was not able to figure out why the Refresh start doing insertMail and failed which cause the value of whether the thread is running become false. Hense, Browse thread will interrupt Refresh thread.
However, it happens "randomly" when I run mailjdbc embedded.
 
     This is the code Browse.java check whether Refresh thread is running or not:
                                // If not interrupt the thread to do a refresh
                                if (ThreadUtils.isThreadRunning("Refresh Thread")) {
                                        MailJdbc.logAct.logMsg("******** Refresh is running");
                                } else {
                                        Refresh th = (Refresh) ThreadUtils
                                                        .getThread("Refresh Thread");
                                        th.interrupt();
                                }
      Then, the thread is interrupt and insertMail failed message gets print. 
 
      However, the tests keep on running with data in inbox table and attach table.
 
 
Hope this help and making sense,
Lily


________________________________
From: Kathey Marsden <km...@sbcglobal.net>
To: Derby Development <de...@db.apache.org>
Sent: Friday, July 24, 2009 12:29:26 PM
Subject: mailjdbc sanity check

I kicked off my embedded run of mailjdbc a couple days ago and noticed a couple of differences from the network run.
1) I see about 3300 instances of Refresh Thread....Interrupted in Activity.out. I don't see any in the network run.  Is this expected?  The refresh thread does seem to continue on and complete its work.

#### Refresh Thread...Interrupted
: INFO :Browsing Thread : The number of mails in the REFRESH.INBOX are : 9
: INFO :Browsing Thread : The number of mails in the attachment table are : 0
: INFO :Browsing Thread : no attachment
: INFO :Browsing Thread : mail with the id 4 does not exist
: INFO : total number of inserts : 13355
: INFO : total number of deletes : 13346
: INFO : total number of clobs inserted : 13355
: INFO : total number of blobs inserted : 1368
: INFO :Browsing Thread : The number of mails marked to be deleted  by user:3
: INFO :Refresh Thread : number of mails inserted : 6
: INFO :Browsing Thread : Mail with id : 7 is moved to folder with id : 0
: INFO :Deleting mail by refresh
: INFO :Refresh Thread : 2 rows deleted
: INFO :Refresh doWork() completed

2)  I see about 80 deadocks (ERROR 40001)  in the embedded run and just 2 in the network run which has been running about the same time.

Are these differences anything to be concerned about?

Kathey