activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-2834) Producers blocks when global storeUsage is smaller than persistent adapter chunk size; should warn of incorrect configuration
Date Fri, 07 Sep 2012 17:31:07 GMT

    [ https://issues.apache.org/jira/browse/AMQ-2834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13450812#comment-13450812
] 

Gary Tully commented on AMQ-2834:
---------------------------------

@Johno it should not. We don't create any stores when persistent=false so we should not issue
the warning.
                
> 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&amp;wireFormat.maxInactivityDuration=1200000&amp;connectionTimeout=1200000&amp;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

Mime
View raw message