mirror of https://github.com/apache/activemq.git
https://issues.apache.org/jira/browse/AMQ-5542 - test that shows retaining of data files due to ack file map and the need for mKahadb if there are low limits and serial usage - test has been hanging since the fix
This commit is contained in:
parent
eb6c082631
commit
971ff0dd9e
|
@ -108,7 +108,7 @@ public class TransactedStoreUsageSuspendResumeTest {
|
||||||
broker.setPersistent(true);
|
broker.setPersistent(true);
|
||||||
|
|
||||||
KahaDBPersistenceAdapter kahaDB = new KahaDBPersistenceAdapter();
|
KahaDBPersistenceAdapter kahaDB = new KahaDBPersistenceAdapter();
|
||||||
kahaDB.setJournalMaxFileLength(500 * 1024);
|
kahaDB.setJournalMaxFileLength(256 * 1024);
|
||||||
kahaDB.setCleanupInterval(10*1000);
|
kahaDB.setCleanupInterval(10*1000);
|
||||||
broker.setPersistenceAdapter(kahaDB);
|
broker.setPersistenceAdapter(kahaDB);
|
||||||
|
|
||||||
|
@ -165,13 +165,30 @@ public class TransactedStoreUsageSuspendResumeTest {
|
||||||
BytesMessage message = session.createBytesMessage();
|
BytesMessage message = session.createBytesMessage();
|
||||||
message.writeBytes(new byte[10]);
|
message.writeBytes(new byte[10]);
|
||||||
|
|
||||||
for (int i=0; i<4240; i++) {
|
for (int i=0; i<1240; i++) {
|
||||||
// mostly fill the store with retained messages
|
// mostly fill the store with retained messages
|
||||||
// so consumer only has a small bit of store usage to work with
|
// so consumer only has a small bit of store usage to work with
|
||||||
producer.send(retainQueue, message);
|
producer.send(retainQueue, message);
|
||||||
session.commit();
|
session.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// issue with gc and linear store usage
|
||||||
|
// some daylight in needed between retainQ and regularQ to free up the store
|
||||||
|
// log4j.logger.org.apache.activemq.store.kahadb.MessageDatabase=TRACE
|
||||||
|
Destination shortRetainQueue = session.createQueue(QUEUE_NAME + "-retain-short");
|
||||||
|
for (int i=0; i<1240; i++) {
|
||||||
|
producer.send(shortRetainQueue, message);
|
||||||
|
session.commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
MessageConsumer consumer = session.createConsumer(shortRetainQueue);
|
||||||
|
for (int i=0; i<1240; i++) {
|
||||||
|
consumer.receive(4000);
|
||||||
|
session.commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG.info("Done with retain q. Mem Usage: " + broker.getSystemUsage().getMemoryUsage());
|
||||||
|
LOG.info("Done with retain q. Store Usage: " +broker.getSystemUsage().getStoreUsage());
|
||||||
consumerStartLatch.countDown();
|
consumerStartLatch.countDown();
|
||||||
for (int i = 0; i < MAX_MESSAGES; i++) {
|
for (int i = 0; i < MAX_MESSAGES; i++) {
|
||||||
producer.send(queue, message);
|
producer.send(queue, message);
|
||||||
|
|
Loading…
Reference in New Issue