kal patel created AMQ-5026:
------------------------------

             Summary: Replicated LevelDB Store getting EOF exception
                 Key: AMQ-5026
                 URL: https://issues.apache.org/jira/browse/AMQ-5026
             Project: ActiveMQ
          Issue Type: Bug
          Components: activemq-leveldb-store
    Affects Versions: 5.10.0
            Reporter: kal patel


3 brokers setup for ReplicatedLevelDB master/slave conf. 
running producer and slow consumer and doing failover by stopping master 
broker. 

After few failovers, the leveldb throws EOF exception while reading record from 
the store.  
using the latest source code from activemq 5.10 branch. 

The file that has the issue: 
[root@vmx0568 data]# ls -l /solidstate/ldbkp/000000001f4022e4.log 
-rw-r--r--. 1 root root 91500224 Jan 17 14:44 
/solidstate/ldbkp/000000001f4022e4.log 
[root@vmx0568 data]# 


Client | main 
2014-01-17 14:44:19,118 | INFO  | locator read: DataLocator(24b41aac, 2283) | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | Seq read: 260217 | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | locator read: DataLocator(24b423ee, 2283) | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | Seq read: 260218 | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | locator read: DataLocator(24b42d02, 2283) | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | Seq read: 260219 | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | locator read: DataLocator(24b43628, 2283) | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | Seq read: 260220 | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | locator read: DataLocator(24b43f6a, 2283) | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | Seq read: 260221 | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | locator read: DataLocator(24b4487e, 2283) | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | Seq read: 260222 | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,118 | INFO  | locator read: DataLocator(24b451a4, 2283) | 
org.apache.activemq.leveldb.LevelDBClient | main 
2014-01-17 14:44:19,124 | INFO  | No IOExceptionHandler registered, ignoring IO 
exception | org.apache.activemq.broker.BrokerService | LevelDB IOException 
handler. 
java.io.EOFException: File '/solidstate/ldbkp/000000001f4022e4.log' offset: 
91500234 
        at 
org.apache.activemq.leveldb.RecordLog$LogReader.read(RecordLog.scala:299) 
        at 
org.apache.activemq.leveldb.RecordLog$$anonfun$read$2.apply(RecordLog.scala:564)
 
        at 
org.apache.activemq.leveldb.RecordLog$$anonfun$read$2.apply(RecordLog.scala:564)
 
        at 
org.apache.activemq.leveldb.RecordLog.get_reader(RecordLog.scala:554) 
        at org.apache.activemq.leveldb.RecordLog.read(RecordLog.scala:564) 
        at 
org.apache.activemq.leveldb.LevelDBClient.getMessage(LevelDBClient.scala:1318) 
        at 
org.apache.activemq.leveldb.LevelDBClient$$anonfun$queueCursor$1.apply(LevelDBClient.scala:1257)
 
        at 
org.apache.activemq.leveldb.LevelDBClient$$anonfun$queueCursor$1.apply(LevelDBClient.scala:1252)
 
        at 
org.apache.activemq.leveldb.LevelDBClient$$anonfun$collectionCursor$1$$anonfun$apply$mcV$sp$12.apply(LevelDBClient.scala:1342)
 
        at 
org.apache.activemq.leveldb.LevelDBClient$$anonfun$collectionCursor$1$$anonfun$apply$mcV$sp$12.apply(LevelDBClient.scala:1341)
 
        at 
org.apache.activemq.leveldb.LevelDBClient$RichDB.check$4(LevelDBClient.scala:323)
 
        at 
org.apache.activemq.leveldb.LevelDBClient$RichDB.cursorRange(LevelDBClient.scala:325)
 
        at 
org.apache.activemq.leveldb.LevelDBClient$$anonfun$collectionCursor$1.apply$mcV$sp(LevelDBClient.scala:1341)
 
        at 
org.apache.activemq.leveldb.LevelDBClient$$anonfun$collectionCursor$1.apply(LevelDBClient.scala:1341)
 
        at 
org.apache.activemq.leveldb.LevelDBClient$$anonfun$collectionCursor$1.apply(LevelDBClient.scala:1341)
 
        at 
org.apache.activemq.leveldb.LevelDBClient.usingIndex(LevelDBClient.scala:1019) 
        at 
org.apache.activemq.leveldb.LevelDBClient$$anonfun$might_fail_using_index$1.apply(LevelDBClient.scala:1025)
 
        at 
org.apache.activemq.leveldb.LevelDBClient.might_fail(LevelDBClient.scala:549) 
        at 
org.apache.activemq.leveldb.LevelDBClient.might_fail_using_index(LevelDBClient.scala:1025)
 
        at 
org.apache.activemq.leveldb.LevelDBClient.collectionCursor(LevelDBClient.scala:1340)
 
        at 
org.apache.activemq.leveldb.LevelDBClient.queueCursor(LevelDBClient.scala:1252) 
        at 
org.apache.activemq.leveldb.DBManager.cursorMessages(DBManager.scala:713) 
        at 
org.apache.activemq.leveldb.LevelDBStore$LevelDBMessageStore.recoverNextMessages(LevelDBStore.scala:758)
 
        at org.apache.activemq.broker.region.Queue.initialize(Queue.java:369) 
        at 
org.apache.activemq.broker.region.DestinationFactoryImpl.createDestination(DestinationFactoryImpl.java:87)
 
        at 
org.apache.activemq.broker.region.AbstractRegion.createDestination(AbstractRegion.java:516)
 
        at 
org.apache.activemq.broker.jmx.ManagedQueueRegion.createDestination(ManagedQueueRegion.java:56)
 
        at 
org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:134)
 
        at 
org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:321)
 
        at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:167) 
        at 
org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:169)
 
        at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:167) 
        at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:167) 

  at 
org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:172)
 
        at 
org.apache.activemq.broker.region.AbstractRegion.start(AbstractRegion.java:98) 
        at 
org.apache.activemq.broker.region.RegionBroker.start(RegionBroker.java:190) 
        at 
org.apache.activemq.broker.jmx.ManagedRegionBroker.start(ManagedRegionBroker.java:120)
 
        at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:182) 
        at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:182) 
        at 
org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:120) 
        at 
org.apache.activemq.broker.BrokerService$5.start(BrokerService.java:2150) 
        at 
org.apache.activemq.broker.BrokerService.doStartBroker(BrokerService.java:648) 
        at 
org.apache.activemq.broker.BrokerService.startBroker(BrokerService.java:632) 
        at 
org.apache.activemq.broker.BrokerService.start(BrokerService.java:568) 
        at 
org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:73)
 
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 
        at java.lang.reflect.Method.invoke(Method.java:606) 
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1608)
 
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1549)
 
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)
 
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
 
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
 
        at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
 
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
 
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
 
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
 
        at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
 
        at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
 
        at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
 
  at 
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)
 
        at 
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)
 
        at 
org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:104)
 
        at 
org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104)
 
        at 
org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67)
 
        at 
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71) 
        at 
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54) 
        at 
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:87) 
        at 
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
 
        at 
org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:150) 
        at 
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
 
        at 
org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104) 
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 
        at java.lang.reflect.Method.invoke(Method.java:606) 
        at org.apache.activemq.console.Main.runTaskClass(Main.java:262) 
        at org.apache.activemq.console.Main.main(Main.java:115) 
2014-01-17 14:44:19,156 | INFO  | Stopped LevelDB[/solidstate/ldbkp] | 
org.apache.activemq.leveldb.LevelDBStore | LevelDB IOException handler. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to