I'm trying out leveldb persistence on Solaris (sparc). Is this a supported platform?
I get a DEBUG msg/stacktrace at startup saying the system cannot find leveldbjni library, but I assume that is ok since we are using the pure java implementation. I then run my test with 100 durable subscribers and 50 publishers runnning at full speed and after abut 3000-4000 messages the leveldb database seems to get corrupted and the broker stops accepting connections. I tried using a non-NFS disk for the db but it made no difference. Here's the log output; kinda weird that a condition that is shutting down the broker is at level INFO: 2014-02-11 12:14:50,819 | INFO | Stopping BrokerService[localhost] due to exception, java.io.IOException: com.google.common.util.concurrent.UncheckedExecutionException: org.iq80.snappy.CorruptionException: Invalid copy offset for opcode starting at 22 | org.apache.activemq.util.DefaultIOExceptionHandler | LevelDB IOException handler. java.io.IOException: com.google.common.util.concurrent.UncheckedExecutionException: org.iq80.snappy.CorruptionException: Invalid copy offset for opcode starting at 22 at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:39) at org.apache.activemq.leveldb.LevelDBClient.might_fail(LevelDBClient.scala:543) at org.apache.activemq.leveldb.LevelDBClient.might_fail_using_index(LevelDBClient.scala:974) at org.apache.activemq.leveldb.LevelDBClient.store(LevelDBClient.scala:1302) at org.apache.activemq.leveldb.DBManager$$anonfun$drainFlushes$1.apply$mcV$sp(DBManager.scala:600) at org.fusesource.hawtdispatch.package$$anon$4.run(hawtdispatch.scala:357) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Caused by: org.iq80.leveldb.impl.DbImpl$BackgroundProcessingException: com.google.common.util.concurrent.UncheckedExecutionException: org.iq80.snappy.CorruptionException: Invalid copy offset for opcode starting at 22 at org.iq80.leveldb.impl.DbImpl.checkBackgroundException(DbImpl.java:411) at org.iq80.leveldb.impl.DbImpl.createWriteBatch(DbImpl.java:707) at org.apache.activemq.leveldb.LevelDBClient$RichDB.write(LevelDBClient.scala:220) at org.apache.activemq.leveldb.LevelDBClient$$anonfun$store$1$$anonfun$apply$mcV$sp$14.apply(LevelDBClient.scala:1304) at org.apache.activemq.leveldb.LevelDBClient$$anonfun$store$1$$anonfun$apply$mcV$sp$14.apply(LevelDBClient.scala:1303) at org.apache.activemq.leveldb.RecordLog$$anonfun$appender$1.apply(RecordLog.scala:475) at org.apache.activemq.leveldb.util.TimeMetric.apply(TimeMetric.scala:43) at org.apache.activemq.leveldb.RecordLog.appender(RecordLog.scala:474) at org.apache.activemq.leveldb.LevelDBClient$$anonfun$store$1.apply$mcV$sp(LevelDBClient.scala:1303) at org.apache.activemq.leveldb.LevelDBClient$$anonfun$store$1.apply(LevelDBClient.scala:1302) at org.apache.activemq.leveldb.LevelDBClient$$anonfun$store$1.apply(LevelDBClient.scala:1302) at org.apache.activemq.leveldb.LevelDBClient.usingIndex(LevelDBClient.scala:968) at org.apache.activemq.leveldb.LevelDBClient$$anonfun$might_fail_using_index$1.apply(LevelDBClient.scala:974) at org.apache.activemq.leveldb.LevelDBClient.might_fail(LevelDBClient.scala:540) ... 7 more Caused by: com.google.common.util.concurrent.UncheckedExecutionException: org.iq80.snappy.CorruptionException: Invalid copy offset for opcode starting at 22 at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2256) at com.google.common.cache.LocalCache.get(LocalCache.java:3980) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3984) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4868) at org.iq80.leveldb.impl.TableCache.getTable(TableCache.java:80) at org.iq80.leveldb.impl.TableCache.newIterator(TableCache.java:69) at org.iq80.leveldb.impl.TableCache.newIterator(TableCache.java:64) at org.iq80.leveldb.impl.DbImpl.buildTable(DbImpl.java:983) at org.iq80.leveldb.impl.DbImpl.writeLevel0Table(DbImpl.java:932) at org.iq80.leveldb.impl.DbImpl.compactMemTableInternal(DbImpl.java:896) at org.iq80.leveldb.impl.DbImpl.backgroundCompaction(DbImpl.java:455) at org.iq80.leveldb.impl.DbImpl.backgroundCall(DbImpl.java:426) at org.iq80.leveldb.impl.DbImpl.access$100(DbImpl.java:83) at org.iq80.leveldb.impl.DbImpl$2.call(DbImpl.java:396) at org.iq80.leveldb.impl.DbImpl$2.call(DbImpl.java:390) at java.util.concurrent.FutureTask.run(FutureTask.java:262) ... 3 more Caused by: org.iq80.snappy.CorruptionException: Invalid copy offset for opcode starting at 22 at org.iq80.snappy.SnappyDecompressor.decompressAllTags(SnappyDecompressor.java:165) at org.iq80.snappy.SnappyDecompressor.uncompress(SnappyDecompressor.java:76) at org.iq80.snappy.Snappy.uncompress(Snappy.java:43) at org.iq80.leveldb.util.Snappy$IQ80Snappy.uncompress(Snappy.java:100) at org.iq80.leveldb.util.Snappy.uncompress(Snappy.java:160) at org.iq80.leveldb.table.FileChannelTable.readBlock(FileChannelTable.java:74) at org.iq80.leveldb.table.Table.<init>(Table.java:60) at org.iq80.leveldb.table.FileChannelTable.<init>(FileChannelTable.java:34) at org.iq80.leveldb.impl.TableCache$TableAndFile.<init>(TableCache.java:117) at org.iq80.leveldb.impl.TableCache$TableAndFile.<init>(TableCache.java:102) at org.iq80.leveldb.impl.TableCache$1.load(TableCache.java:57) at org.iq80.leveldb.impl.TableCache$1.load(TableCache.java:54) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3579) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2372) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2335) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2250) ... 18 more 2014-02-11 12:14:50,827 | INFO | Apache ActiveMQ 5.9.0 (localhost, ID:testapp01.xifin.com-51509-1392149584977-0:1) is shutting down | org.apache.activemq.broker.BrokerService | IOExceptionHandler: stopping BrokerService[localhost] 2014-02-11 12:14:50,831 | DEBUG | Unregistering MBean org.apache.activemq:type=Broker,brokerName=localhost,connector=clientConnectors,connectorName=openwire | org.apache.activemq.broker.jmx.ManagementContext | IOExceptionHandler: stopping BrokerService[localhost] -- View this message in context: http://activemq.2283324.n4.nabble.com/Leveldb-on-Solaris-tp4677824.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.