KahaDb not closing opend file after lock check in secondery server: shared file 
system mode
-------------------------------------------------------------------------------------------

                 Key: AMQ-2916
                 URL: https://issues.apache.org/activemq/browse/AMQ-2916
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.3.2
         Environment: Mac os x 10.6 which NFS file system for shared file system
            Reporter: Madhu Krishna
            Priority: Critical


This For KahaDb store.
>From the logs it looks like activeMq shared file system broker has a leak in 
>RandomAccessfile lock check. On a lock fail it is not closing the opened 
>files. This is causing the secondary server to run out of number of open files 
>set in the OS. 
Current OS is Set to 1024 max open files.

I have been running some tests to validate this and the following is the 
observations. 
1. Log from secondary server: 
2010-09-10 06:36:12,157 [MQ-BROKER-SERVICE] INFO  (KahaStore.java:463) - Kaha 
Store using data directory /nfs/soleta/gdvt/activeMq 
2010-09-10 06:36:12,157 [MQ-BROKER-SERVICE] INFO  
(KahaPersistenceAdapter.java:180) - Store is locked... waiting 10 seconds for 
the Store to be unlocked. 
2010-09-10 06:36:22,159 [MQ-BROKER-SERVICE] INFO  (KahaStore.java:463) - Kaha 
Store using data directory /nfs/soleta/gdvt/activeMq 
2010-09-10 06:36:22,161 [MQ-BROKER-SERVICE] INFO  
(KahaPersistenceAdapter.java:180) - Store is locked... waiting 10 seconds for 
the Store to be unlocked. 
2010-09-10 06:36:32,161 [MQ-BROKER-SERVICE] INFO  (KahaStore.java:463) - Kaha 
Store using data directory /nfs/soleta/gdvt/activeMq 
2010-09-10 06:36:32,162 [MQ-BROKER-SERVICE] INFO  
(KahaPersistenceAdapter.java:180) - Store is locked... waiting 10 seconds for 
the Store to be unlocked. 
2010-09-10 06:36:42,162 [MQ-BROKER-SERVICE] INFO  (KahaStore.java:463) - Kaha 
Store using data directory /nfs/soleta/gdvt/activeMq 
2010-09-10 06:36:42,174 [MQ-BROKER-SERVICE] INFO  
(KahaPersistenceAdapter.java:180) - Store is locked... waiting 10 seconds for 
the Store to be unlocked. 
2010-09-10 06:36:52,175 [MQ-BROKER-SERVICE] INFO  (KahaStore.java:463) - Kaha 
Store using data directory /nfs/soleta/gdvt/activeMq 
2010-09-10 06:36:52,175 [MQ-BROKER-SERVICE] INFO  
(KahaPersistenceAdapter.java:180) - Store is locked... waiting 10 seconds for 
the Store to be unlocked. 
2010-09-10 06:37:02,175 [MQ-BROKER-SERVICE] INFO  (KahaStore.java:463) - Kaha 
Store using data directory /nfs/soleta/gdvt/activeMq 
2010-09-10 06:37:02,176 [MQ-BROKER-SERVICE] INFO  
(KahaPersistenceAdapter.java:180) - Store is locked... waiting 10 seconds for 
the Store to be unlocked. 
2010-09-10 06:37:12,177 [MQ-BROKER-SERVICE] INFO  (KahaStore.java:463) - Kaha 
Store using data directory /nfs/soleta/gdvt/activeMq 
2010-09-10 06:37:12,178 [MQ-BROKER-SERVICE] INFO  
(KahaPersistenceAdapter.java:180) - Store is locked... waiting 10 seconds for 
the Store to be unlocked. 
Note: As you can see that the secondary server is trying to get the lock on  
/nfs/soleta/gdvt/activeMq file, it fails as the file has been locked by the 
primary server. So it tries to get the lock very 10 seconds. 
2. Log from lsof | grep activeMq 
java      13855 madhu   84u     REG       14,2         0 7519799 
/nfs/soleta/gdvt/activeMq/lock 
java      13855 madhu   85u     REG       14,2         0 7519799 
/nfs/soleta/gdvt/activeMq/lock 
java      13855 madhu   86u     REG       14,2         0 7519799 
/nfs/soleta/gdvt/activeMq/lock 
java      13855 madhu   87u     REG       14,2         0 7519799 
/nfs/soleta/gdvt/activeMq/lock 
java      13855 madhu   94u     REG       14,2         0 7519799 
/nfs/soleta/gdvt/activeMq/lock 
java      13855 madhu   95u     REG       14,2         0 7519799 
/nfs/soleta/gdvt/activeMq/lock 
java      13855 madhu   96u     REG       14,2         0 7519799 
/nfs/soleta/gdvt/activeMq/lock 
java      13855 madhu   97u     REG       14,2         0 7519799 
/nfs/soleta/gdvt/activeMq/lock 
You can see that the file used for the lock is not getting closed. 
3. Log from lsof | grep activeMq | wc -l 
The above cmd will give us the total number of open files for " 
/nfs/soleta/gdvt/activeMq/lock" . 
et3-tk:~ madhu$ lsof | grep activeMq | wc -l 
      56 
et3-tk:~ madhu$ lsof | grep activeMq | wc -l 
      57 
et3-tk:~ madhu$ lsof | grep activeMq | wc -l 
      58 
et3-tk:~ madhu$ lsof | grep activeMq | wc -l 
      62 
 
As you can see that the open files are increasing on 
"/nfs/soleta/gdvt/activeMq/lock" and the count doesn't come down. 
 



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

Reply via email to