Hi,
We are using ActiveMQ 5.3.0 with kahaDB.
When we fill the disk partition to 100%, we get
"No space left on device"
exceptions. Good. However, if we reduce the disk usage, we continue
to get exceptions even though there is plenty of disk space.
Is there a way to pre-allocate kahaDB memory so that it always has
sufficient memory resources? Or a configuration parameter that
affects this behavior?
A little more detail...
We have kahaDB storing data in a /mgmt partition. We fill this
partition
to 100% by copying a large file. At this point we get exceptions
Error occured while processing async command: ActiveMQTextMessage
{commandId = 3, responseRequired = false, messageId =
ID:Peter-53524-1286982300338-3:33:-1:1:1, originalDestination = null,
originalTransactionId = null, producerId =
ID:Peter-53524-1286982300338-3:33:-1:1, destination = queue://producer,
transactionId = null, expiration = 1286991041000, timestamp =
1286983841505, arrival = 0, brokerInTime = 1286983841505, brokerOutTime
= 0, correlationId = null, replyTo = null, persistent = true, type =
null, priority = 0, groupID = null, groupSequence = 0, targetConsumerId
= null, compressed = false, userID = null, content = null,
marshalledProperties = null, dataStructure = null, redeliveryCounter =
0, size = 0, properties = null, readOnlyProperties = true, readOnlyBody
= true, droppable = false, text = <....>}, exception:
java.io.IOException: No space left on device |
org.apache.activemq.broker.TransportConnection.Service | ActiveMQ
Transport: tcp:///1.1.1.20:53296
java.io.IOException: No space left on device
at java.io.RandomAccessFile.writeBytes(Native Method)
at java.io.RandomAccessFile.write(RandomAccessFile.java:466)
at
org.apache.kahadb.journal.DataFileAppender.processQueue(DataFileAppender
.java:370)
However, even after reducing the disk usage from 100%, by removing the
large file, we continue to get this same exception.
Are there any configuration parameters that may help this behavior
so that messages can be accepted once the disk usage is restored
to normal?
Here's our kahaDB configuration
<persistenceAdapter>
<kahaDB
directory="/mgmt/activemq/data/dynamic-broker1/kahadb"
indexWriteBatchSize="1000" enableIndexWriteAsync="true"
enableJournalDiskSyncs="false" />
</persistenceAdapter>
Or can we pre-allocate all of the disk space need by kahaDB?
Thanks,
Peter P