[
https://issues.apache.org/jira/browse/AMQ-7350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ashish updated AMQ-7350:
------------------------
Comment: was deleted
(was: Dockerfile for the activemq image :
)
> Inconsistency in Offline Durable Topic Subscribers
> --------------------------------------------------
>
> Key: AMQ-7350
> URL: https://issues.apache.org/jira/browse/AMQ-7350
> Project: ActiveMQ
> Issue Type: Bug
> Components: AMQP
> Affects Versions: 5.15.10
> Reporter: Ashish
> Assignee: Jean-Baptiste Onofré
> Priority: Major
> Attachments: offline_topic_durable_subscriber.png, screenshot-1.png,
> setup.tar
>
>
> Hello All,
> * I have a issue with my activemq setup with *durable subscription*.
> * My setup includes a broker with topics and the backend that durably
> subscribes to these topics.
> * Random mapping of durable subscribers happens on each restart. In order to
> fix it, I always have to wipe the persistence
> * All the topics are created via activemq.xml
> * With the usage of kahadb/mkahadb, I want to enable persistence as well. In
> doing so, after the restart of my broker i get inconsistency in my offline
> durable topic susbcribers.
> I am also attaching the config used by me. As well as an image to describe
> the issue.
> Config with kahadb
> {code:java}
> <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.xsd
> http://activemq.apache.org/schema/core
> http://activemq.apache.org/schema/core/activemq-core.xsd">
> <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
> <property name="locations">
> <value>file:${activemq.conf}/credentials.properties</value>
> </property>
> </bean>
> <broker xmlns="http://activemq.apache.org/schema/core"
> brokerName="MQ-MY-BROKER-NAME" dataDirectory="${activemq.data}"
> schedulerSupport="false" persistent="true">
> <destinations>
> <topic physicalName="Hello.V3"/>
> <topic physicalName="Hello.V2"/>
> <topic physicalName="Hello.V1"/>
> </destinations>
> <destinationPolicy>
> <policyMap>
> <policyEntries>
> <policyEntry topic=">" producerFlowControl="true">
> <pendingMessageLimitStrategy>
> <constantPendingMessageLimitStrategy limit="1000"/>
> </pendingMessageLimitStrategy>
> </policyEntry>
> <policyEntry queue=">" producerFlowControl="true"
> memoryLimit="20mb">
> <deadLetterStrategy>
> <individualDeadLetterStrategy queueSuffix=".DLQ"
> useQueueForQueueMessages="true"/>
> </deadLetterStrategy>
> </policyEntry>
> </policyEntries>
> </policyMap>
> </destinationPolicy>
> <managementContext>
> <managementContext createConnector="true" connectorPort="1199"/>
> </managementContext>
>
> <persistenceAdapter>
> <kahaDB directory="${activemq.data}" journalMaxFileLength="32mb"/>
> </persistenceAdapter>
> <!-- Resource limits for triggering producer flow control -->
> <systemUsage>
> <systemUsage>
> <memoryUsage>
> <memoryUsage percentOfJvmHeap="70"/>
> </memoryUsage>
> <storeUsage>
> <storeUsage limit="10 gb"/>
> </storeUsage>
> <tempUsage>
> <tempUsage limit="1 gb"/>
> </tempUsage>
> </systemUsage>
> </systemUsage>
> <!-- DOS protection: limit concurrent connections to 1000 and frame size
> to 100MB -->
> <transportConnectors>
> <transportConnector name="openwire"
> uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireformat.maxFrameSize=104857600"/>
> <transportConnector name="stomp"
> uri="stomp://0.0.0.0:61612?maximumConnections=1000&transport.closeAsync=false&connectionTimeout=120000&wireformat.maxFrameSize=104857600"/>
> </transportConnectors>
> <!-- destroy the spring context on shutdown to stop jetty and camel -->
> <shutdownHooks>
> <bean xmlns="http://www.springframework.org/schema/beans"
> class="org.apache.activemq.hooks.SpringContextHook" />
> </shutdownHooks>
> </broker>
> <!-- Enable web consoles, REST and Ajax APIs and demos -->
> <import resource="jetty.xml"/>
> </beans>
> {code}
> Config with mkahadb
> {code:java}
> <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.xsd
> http://activemq.apache.org/schema/core
> http://activemq.apache.org/schema/core/activemq-core.xsd">
> <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
> <property name="locations">
> <value>file:${activemq.conf}/credentials.properties</value>
> </property>
> </bean>
> <broker xmlns="http://activemq.apache.org/schema/core"
> brokerName="MQ-MY-BROKER-NAME" dataDirectory="${activemq.data}"
> schedulerSupport="false" persistent="true">
> <destinations>
> <topic physicalName="Hello.V3"/>
> <topic physicalName="Hello.V2"/>
> <topic physicalName="Hello.V1"/>
> </destinations>
> <destinationPolicy>
> <policyMap>
> <policyEntries>
> <policyEntry topic=">" producerFlowControl="true">
> <pendingMessageLimitStrategy>
> <constantPendingMessageLimitStrategy limit="1000"/>
> </pendingMessageLimitStrategy>
> </policyEntry>
> <policyEntry queue=">" producerFlowControl="true"
> memoryLimit="20mb">
> <deadLetterStrategy>
> <individualDeadLetterStrategy queueSuffix=".DLQ"
> useQueueForQueueMessages="true"/>
> </deadLetterStrategy>
> </policyEntry>
> </policyEntries>
> </policyMap>
> </destinationPolicy>
> <managementContext>
> <managementContext createConnector="true" connectorPort="1199"/>
> </managementContext>
>
> <persistenceAdapter>
> <mKahaDB directory="${activemq.data}/mkahadb">
> <filteredPersistenceAdapters>
> <filteredKahaDB perDestination="true">
> <persistenceAdapter>
> <kahaDB ignoreMissingJournalfiles="false"
> checkForCorruptJournalFiles="true" checksumJournalFiles="true"/>
> </persistenceAdapter>
> </filteredKahaDB>
> </filteredPersistenceAdapters>
> </mKahaDB>
> </persistenceAdapter>
> <!-- Resource limits for triggering producer flow control -->
> <systemUsage>
> <systemUsage>
> <memoryUsage>
> <memoryUsage percentOfJvmHeap="70"/>
> </memoryUsage>
> <storeUsage>
> <storeUsage limit="10 gb"/>
> </storeUsage>
> <tempUsage>
> <tempUsage limit="1 gb"/>
> </tempUsage>
> </systemUsage>
> </systemUsage>
> <!-- DOS protection: limit concurrent connections to 1000 and frame size
> to 100MB -->
> <transportConnectors>
> <transportConnector name="openwire"
> uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireformat.maxFrameSize=104857600"/>
> <transportConnector name="stomp"
> uri="stomp://0.0.0.0:61612?maximumConnections=1000&transport.closeAsync=false&connectionTimeout=120000&wireformat.maxFrameSize=104857600"/>
> </transportConnectors>
> <!-- destroy the spring context on shutdown to stop jetty and camel -->
> <shutdownHooks>
> <bean xmlns="http://www.springframework.org/schema/beans"
> class="org.apache.activemq.hooks.SpringContextHook" />
> </shutdownHooks>
> </broker>
> <!-- Enable web consoles, REST and Ajax APIs and demos -->
> <import resource="jetty.xml"/>
> </beans>
> {code}
>
> Activemq community forum link :
> [http://activemq.2283324.n4.nabble.com/offline-Durable-Topic-Subscribers-issue-in-activemq-5-15-8-td4753263.html]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)