There was a lot of fixing done for LevelDB after v5.9.0 was released.
You might want to try the same test using a 5.10-SNAPSHOT and see how
that goes.
On 02/11/2014 03:21 PM, jlindwall wrote:
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.
--
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.b...@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/