Affects Version/s: 5.3.0, 5.3.1, 5.4.0
Fix Version/s: 5.4.2
Component/s: Message Store
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
i am using activemq 5.3 (resp. 5.4 snapshot , 5.3.1 snapshot) with kahadb in following use-case:
- 3 durable topic subscriber, each refuses message using session.recover(), 1 delivery attempts
- ActiveMQ.DLQ consumer
- persistent message topic producer
In such case deadletter consumer should consume every message sent, as soon as number of delivery attempts is reached and mmessage is sent to ActiveMQ.DLQ. Result is ok but kahadb data directory at the end contains all log files with names db-<number>.log ever created. They aren't deleted even after some time.
I can also see following massege in console:
WARN | Duplicate message add attempt rejected. Message id: ID:sk1d069c-3826-1264006781626
If use-case is altered to use queue instead of topic log files are periodically deleted without WARN messages in console.
Same behaviour (data files not cleaned) if amqPersistenceAdapter is used except of WARN messages.