Temporary Store Limit Error When Starting the Broker

Solution Verified - Updated -

Environment

  • Fuse MQ Enterprise
    • 7.1
  • JBoss Fuse
    • 6.0
  • Openshift Entrprise
    • 2.0

Issue

  • I receive an error regarding the temporary store limit when the broker is started:
| ERROR | Q Broker: fusemq | BrokerService                    | 125 - org.apache.activemq.activemq-core - 5.7.0.fuse-71-047 | Temporary Store limit is 51200 mb, whilst the temporary data directory: C:\fuse\fuse-esb-7.1.0.fuse-047\data\fusemq\fusemq\tmp_storage only has 16417 mb of usable space

Hawtio health menu shows error, HealthID: org.apache.activemq.FreeDiskSpaceLeft

Resolution

To resolve this error you should limit the broker's temporary store limit to a value that is available on disk. This value is set in the broker's system usage configuration by the tempUsage limit:

<systemUsage>
   <systemUsage>
      <memoryUsage>
          <memoryUsage limit="64 mb"/>
      </memoryUsage>
      <storeUsage>
         <storeUsage limit="100 gb"/>
      </storeUsage>
      <tempUsage>
         <tempUsage limit="50 gb"/>
      </tempUsage>
   </systemUsage>
</systemUsage>

While the broker may perform ok at first with this condition it has the potential to lead to unexpected results such IOExceptions rather than triggering Producer Flow Control when the resources are exhausted. It is recommend to fix this situation by adjusting the usages limits appropriately.

Root Cause

The broker has requested to allocate more disk resources than what is available. See this article for more details of how to tailor the Broker data stores.

How to configure ActiveMQ Storage

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.