[ 
https://issues.apache.org/activemq/browse/AMQ-1795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary Tully closed AMQ-1795.
---------------------------


> in use data files removed from data store under load
> ----------------------------------------------------
>
>                 Key: AMQ-1795
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1795
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.1.0
>         Environment: all
>            Reporter: Gary Tully
>            Assignee: Rob Davies
>             Fix For: 5.2.0
>
>         Attachments: AMQ-1795.further_improvement, 
> AMQ-1795.test_and_partial_fix
>
>
> Under load, I see the error below.
> the problem is that 
> org.apache.activemq.store.amq.AMQPersistenceAdapter.cleanup() does not 
> capture all of the in use files.
> I have made some changes that improves the situation but there is still a 
> window, that seems to be related to spooling messages when a memory limit is 
> reached.
> 2008-06-12 14:55:16,689 [main           ] INFO  BrokerService                 
>  - Using Persistence Adapter: AMQPersistenceAdapter(activemq-data\localhost)
> 2008-06-12 14:55:16,704 [main           ] INFO  AMQPersistenceAdapter         
>  - AMQStore starting using directory: activemq-data\localhost
> 2008-06-12 14:55:17,361 [main           ] INFO  AMQPersistenceAdapter         
>  - Journal deleted: 
> 2008-06-12 14:55:17,361 [main           ] INFO  KahaStore                     
>  - Kaha Store successfully deleted data directory 
> activemq-data\localhost\kr-store\data
> 2008-06-12 14:55:17,392 [main           ] INFO  KahaStore                     
>  - Kaha Store successfully deleted data directory 
> activemq-data\localhost\kr-store\state
> 2008-06-12 14:55:17,392 [main           ] INFO  KahaStore                     
>  - Kaha Store using data directory activemq-data\localhost\kr-store\state
> 2008-06-12 14:55:17,470 [main           ] INFO  AMQPersistenceAdapter         
>  - Active data files: []
> 2008-06-12 14:55:17,705 [main           ] INFO  BrokerService                 
>  - ActiveMQ null JMS Message Broker (localhost) is starting
> 2008-06-12 14:55:17,705 [main           ] INFO  BrokerService                 
>  - For help or more information please see: http://activemq.apache.org/
> 2008-06-12 14:55:17,814 [JMX connector  ] INFO  ManagementContext             
>  - JMX consoles can connect to 
> service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
> 2008-06-12 14:55:17,924 [main           ] INFO  KahaStore                     
>  - Kaha Store using data directory activemq-data\localhost\kr-store\data
> 2008-06-12 14:55:17,939 [main           ] INFO  TransportServerThreadSupport  
>  - Listening for connections at: tcp://salthill:61616
> 2008-06-12 14:55:17,939 [main           ] INFO  TransportConnector            
>  - Connector Default Started
> 2008-06-12 14:55:17,939 [main           ] INFO  BrokerService                 
>  - ActiveMQ JMS Message Broker (localhost, 
> ID:salthill-2790-1213278917752-0:0) started
> 2008-06-12 14:55:17,939 [main           ] INFO  MissingDataFileTest           
>  - Starting broker..
> 2008-06-12 14:55:58,516 [age Thread Pool] ERROR AsyncDataManager              
>  - Looking for key 551 but not found in fileMap: {1014=data-1014 number = 
> 1014 , length = 1960 refCount = 6, 607=data-607 number = 607 , length = 1266 
> refCount = 1, 928=data-928 number = 928 , .. .. 622 , length = 1352 refCount 
> = 2, 328=data-328 number = 328 , length = 1266 refCount = 1, 256=data-256 
> number = 256 , length = 1264 refCount = 1, 92=data-92 number = 92 , length = 
> 1264 refCount = 1, 404=data-404 number = 404 , length = 1266 refCount = 1}
> 2008-06-12 14:55:58,563 [age Thread Pool] ERROR AbstractStoreCursor           
>  - Failed to fill batch
> java.io.IOException: Failed to read to journal for: offset = 0, file = 551, 
> size = -1, type = 0. Reason: java.io.IOException: Could not locate data file 
> data--551
>       at 
> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:33)
>       at 
> org.apache.activemq.store.amq.AMQPersistenceAdapter.createReadException(AMQPersistenceAdapter.java:635)
>       at 
> org.apache.activemq.store.amq.AMQPersistenceAdapter.readCommand(AMQPersistenceAdapter.java:521)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore.getMessage(AMQMessageStore.java:432)
>       at 
> org.apache.activemq.store.amq.RecoveryListenerAdapter.recoverMessageReference(RecoveryListenerAdapter.java:54)
>       at 
> org.apache.activemq.store.kahadaptor.KahaReferenceStore.recoverReference(KahaReferenceStore.java:82)
>       at 
> org.apache.activemq.store.kahadaptor.KahaReferenceStore.recoverNextMessages(KahaReferenceStore.java:120)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore.recoverNextMessages(AMQMessageStore.java:530)
>       at 
> org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:75)
>       at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:188)
>       at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.onUsageChanged(AbstractStoreCursor.java:157)
>       at org.apache.activemq.usage.Usage$1.run(Usage.java:266)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>       at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.IOException: Could not locate data file data--551
>       at 
> org.apache.activemq.kaha.impl.async.AsyncDataManager.getDataFile(AsyncDataManager.java:303)
>       at 
> org.apache.activemq.kaha.impl.async.AsyncDataManager.read(AsyncDataManager.java:613)
>       at 
> org.apache.activemq.store.amq.AMQPersistenceAdapter.readCommand(AMQPersistenceAdapter.java:518)
>       ... 12 more
> 2008-06-12 14:55:58,563 [age Thread Pool] ERROR AbstractStoreCursor           
>  - Failed to fill batch 
> java.lang.RuntimeException: java.io.IOException: Failed to read to journal 
> for: offset = 0, file = 551, size = -1, type = 0. Reason: 
> java.io.IOException: Could not locate data file data--551
>       at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:191)
>       at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.onUsageChanged(AbstractStoreCursor.java:157)
>       at org.apache.activemq.usage.Usage$1.run(Usage.java:266)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>       at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.IOException: Failed to read to journal for: offset = 0, 
> file = 551, size = -1, type = 0. Reason: java.io.IOException: Could not 
> locate data file data--551
>       at 
> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:33)
>       at 
> org.apache.activemq.store.amq.AMQPersistenceAdapter.createReadException(AMQPersistenceAdapter.java:635)
>       at 
> org.apache.activemq.store.amq.AMQPersistenceAdapter.readCommand(AMQPersistenceAdapter.java:521)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore.getMessage(AMQMessageStore.java:432)
>       at 
> org.apache.activemq.store.amq.RecoveryListenerAdapter.recoverMessageReference(RecoveryListenerAdapter.java:54)
>       at 
> org.apache.activemq.store.kahadaptor.KahaReferenceStore.recoverReference(KahaReferenceStore.java:82)
>       at 
> org.apache.activemq.store.kahadaptor.KahaReferenceStore.recoverNextMessages(KahaReferenceStore.java:120)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore.recoverNextMessages(AMQMessageStore.java:530)
>       at 
> org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:75)
>       at 
> org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:188)
>       ... 5 more
> Caused by: java.io.IOException: Could not locate data file data--551
>       at 
> org.apache.activemq.kaha.impl.async.AsyncDataManager.getDataFile(AsyncDataManager.java:303)
>       at 
> org.apache.activemq.kaha.impl.async.AsyncDataManager.read(AsyncDataManager.java:613)
>       at 
> org.apache.activemq.store.amq.AMQPersistenceAdapter.readCommand(AMQPersistenceAdapter.java:518)
>       ... 12 more
> 2008-06-12 15:00:18,531 [main           ] INFO  BrokerService                 
>  - ActiveMQ Message Broker (localhost, ID:salthill-2790-1213278917752-0:0) is 
> shutting down
> 2008-06-12 15:00:20,438 [main           ] INFO  TransportConnector            
>  - Connector Default Stopped
> 2008-06-12 15:00:20,641 [main           ] INFO  BrokerService                 
>  - ActiveMQ JMS Message Broker (localhost, 
> ID:salthill-2790-1213278917752-0:0) stopped

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