[
https://issues.apache.org/jira/browse/AMQ-2834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13449627#comment-13449627
]
Johno Crawford edited comment on AMQ-2834 at 9/7/12 11:53 PM:
--------------------------------------------------------------
Is it expected that BrokerService will log an error about temporary store limit
and max journal file size if your broker is not configured as persistent?
was (Author: johno):
Shouldn't the log level of the message be warn, not error?
> Producers blocks when global storeUsage is smaller than persistent adapter
> chunk size; should warn of incorrect configuration
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQ-2834
> URL: https://issues.apache.org/jira/browse/AMQ-2834
> Project: ActiveMQ
> Issue Type: Wish
> Components: Broker
> Affects Versions: 5.3.2
> Reporter: Reynald Borer
> Priority: Minor
> Fix For: 5.6.0
>
>
> Defining a global {{storeUsage}} parameter that is smaller than the
> persistent adapter chunk size makes all producers blocks as soon as the store
> is full (when producer flow control is enabled). It would be nice if ActiveMQ
> showed a big warning during startup that the used configuration is not
> correct.
> Here is how to reproduce this:
> # start the server;
> # produce enough persistent messages in order to reach the store limit (by
> using ant producer -Ddurable=true -Dmax=10000); the producer is blocked after
> N messages;
> # check the admin web console, store percent used reports 100%; in the logs
> "Usage Manager Store is Full" is reported;
> # start a consumer (with ant consumer -Dmax=10000); consumer will consume
> messages and stop at N-1 (!)
> # then, even if all messages are consumed, the producer is still blocked (and
> the consumer is of course still waiting); in the web console, the store
> percent used is now way higher than 100%, and no messages are hanging in the
> queue.
> The broker configuration is the following:
> {code}
> <beans
> xmlns="http://www.springframework.org/schema/beans"
> xmlns:amq="http://activemq.apache.org/schema/core"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
> http://activemq.apache.org/schema/core
> http://activemq.apache.org/schema/core/activemq-core.xsd
> http://activemq.apache.org/camel/schema/spring
> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
> <!-- Allows us to use system properties as variables in this
> configuration file -->
> <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
> <broker xmlns="http://activemq.apache.org/schema/core"
> brokerName="jmsServer" dataDirectory="${activemq.base}/data"
> persistent="true">
> <persistenceAdapter>
> <amqPersistenceAdapter directory="${activemq.base}/data"
> maxFileLength="50 mb" syncOnWrite="false"/>
> </persistenceAdapter>
> <!-- The transport connectors ActiveMQ will listen to -->
> <transportConnectors>
> <transportConnector name="openwire"
> uri="tcp://0.0.0.0:61616?keepAlive=true&wireFormat.maxInactivityDuration=1200000&connectionTimeout=1200000&soTimeout=1200000"
> enableStatusMonitor="true"/>
> </transportConnectors>
> <!-- The maximum about of space the broker will use before slowing
> down producers -->
> <systemUsage>
> <systemUsage>
> <memoryUsage>
> <memoryUsage limit="200 mb"/>
> </memoryUsage>
> <storeUsage>
> <storeUsage limit="10 mb"/>
> </storeUsage>
> <tempUsage>
> <tempUsage limit="100 mb"/>
> </tempUsage>
> </systemUsage>
> </systemUsage>
> </broker>
> </beans>
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira