You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Luigi Corollo (JIRA)" <ji...@apache.org> on 2015/11/19 10:33:11 UTC

[jira] [Created] (AMQ-6053) java.lang.ClassCastException while removing the inactive durable subscriber

Luigi Corollo created AMQ-6053:
----------------------------------

             Summary: java.lang.ClassCastException while removing the inactive durable subscriber
                 Key: AMQ-6053
                 URL: https://issues.apache.org/jira/browse/AMQ-6053
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker, Message Store
    Affects Versions: 5.11.2
         Environment: ActiveMQ 5.11.2  , master slave with  kahadb
            Reporter: Luigi Corollo


Hi,
  we have a problem with the removing an inactive durable subscription after certain period of inactivity. 
  It throws java.lang.ClassCastException.

Broker Config:

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" useJmx="true" 
            schedulerSupport="true" offlineDurableSubscriberTimeout="60000" offlineDurableSubscriberTaskSchedule="30000">

Log:

ERROR | Failed to remove inactive durable subscriber
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
	at java.lang.String.compareTo(String.java:108)[:1.7.0_79]
	at java.util.Arrays.binarySearch0(Arrays.java:1481)[:1.7.0_79]
	at java.util.Arrays.binarySearch(Arrays.java:1423)[:1.7.0_79]
	at org.apache.activemq.store.kahadb.disk.index.BTreeNode.contains(BTreeNode.java:707)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.disk.index.BTreeIndex.containsKey(BTreeIndex.java:179)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.MessageDatabase$MessageOrderIndex.getDeleteList(MessageDatabase.java:2951)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.MessageDatabase.removeAckLocationsForSub(MessageDatabase.java:2274)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.MessageDatabase.updateIndex(MessageDatabase.java:1482)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.MessageDatabase$15.execute(MessageDatabase.java:1207)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.disk.page.Transaction.execute(Transaction.java:779)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:1204)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.MessageDatabase$10.visit(MessageDatabase.java:1103)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.data.KahaSubscriptionCommand.visit(KahaSubscriptionCommand.java:187)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:1070)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:977)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:957)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore.deleteSubscription(KahaDBStore.java:807)[activemq-kahadb-store-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.ProxyTopicMessageStore.deleteSubscription(ProxyTopicMessageStore.java:103)[activemq-broker-5.11.2.jar:5.11.2]
	at org.apache.activemq.store.ProxyTopicMessageStore.deleteSubscription(ProxyTopicMessageStore.java:103)[activemq-broker-5.11.2.jar:5.11.2]
	at org.apache.activemq.broker.region.Topic.deleteSubscription(Topic.java:201)[activemq-broker-5.11.2.jar:5.11.2]
	at org.apache.activemq.broker.region.TopicRegion.removeSubscription(TopicRegion.java:213)[activemq-broker-5.11.2.jar:5.11.2]
	at org.apache.activemq.broker.region.TopicRegion.doCleanup(TopicRegion.java:100)[activemq-broker-5.11.2.jar:5.11.2]
	at org.apache.activemq.broker.region.TopicRegion$1.run(TopicRegion.java:70)[activemq-broker-5.11.2.jar:5.11.2]
	at java.util.TimerThread.mainLoop(Timer.java:555)[:1.7.0_79]
	at java.util.TimerThread.run(Timer.java:505)[:1.7.0_79] 

Thanks,
Luigi



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)