Hi everyone,
I'm still having some stability problems in my Voldemort Servers. I have 2 questions regarding it:
a) EnvironmentFailureException in the Voldemort Server
[2012-08-10 12:33:21,330 voldemort.store.bdb.BdbStorageEngine] ERROR com.sleepycat.je.EnvironmentFailureException: (JE 4.1.17) Environment must be closed, caused by: com.sleepycat.je.EnvironmentFailureException: Environment invalid because of previous exception: (JE 4.1.17) /home/voldemort/voldemort/server/bin/../../stores-caronte/data/bdb/protobufTax fetchTarget of 0x2b06/0xc8c0e0 parent IN=589382 IN class=com.sleepycat.je.tree.BIN lastFullVersion=0x2b8e/0x9fdfaa parent.getDirty()=true state=0 LOG_FILE_NOT_FOUND: Log file missing, log is likely invalid. Environment is invalid and must be closed.
I'm using BDB 4.1.17 with some changes from Vinoth, and even when it's working much better, I still have problems from time to time. I'm going to upgrade to 4.1.21 since it seems to be fixing some of those problems. Is there any known problem with such a version?
Also, from time to time I see the next trace:
[2012-08-10 12:33:21,331 voldemort.server.niosocket.AsyncRequestHandler] ERROR
java.lang.NullPointerException
at voldemort.store.bdb.BdbStorageEngine.attemptCommit(BdbStorageEngine.java:415)
at voldemort.store.bdb.BdbStorageEngine.delete(BdbStorageEngine.java:372)
at voldemort.store.bdb.BdbStorageEngine.delete(BdbStorageEngine.java:68)
at voldemort.store.logging.LoggingStore.delete(LoggingStore.java:90)
at voldemort.store.rebalancing.RedirectingStore.delete(RedirectingStore.java:194)
at voldemort.store.rebalancing.RedirectingStore.delete(RedirectingStore.java:60)
at voldemort.store.invalidmetadata.InvalidMetadataCheckingStore.delete(InvalidMetadataCheckingStore.java:71)
at voldemort.store.invalidmetadata.InvalidMetadataCheckingStore.delete(InvalidMetadataCheckingStore.java:41)
at voldemort.store.DelegatingStore.delete(DelegatingStore.java:49)
at voldemort.store.stats.StatTrackingStore.delete(StatTrackingStore.java:52)
at voldemort.store.stats.StatTrackingStore.delete(StatTrackingStore.java:39)
at voldemort.server.protocol.vold.VoldemortNativeRequestHandler.handleDelete(VoldemortNativeRequestHandler.java:366)
at voldemort.server.protocol.vold.VoldemortNativeRequestHandler.handleRequest(VoldemortNativeRequestHandler.java:72)
at voldemort.server.niosocket.AsyncRequestHandler.read(AsyncRequestHandler.java:120)
at voldemort.utils.SelectorManagerWorker.run(SelectorManagerWorker.java:98)
at voldemort.utils.SelectorManager.run(SelectorManager.java:194)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
I'll apply a patch to solve it, but is really synthomatic, since the real problem is caused by BDB.
2) Right now I've a cluster with 6 nodes. Those nodes are different, since 3 of them are newer, with more Cores and Memory. My question is: Can I configure those servers with more nio,selectors and more bdb.cache memory? Could be some problem synchronizing metadata between servers?
Thanks.
Regards,
Carlos.