Voldemort internally sets R and W, the number of nodes needed to
participate in a read or write operation. Users have reported that in the
default case, when R=W=3, intermittent network trouble will cause 2 out of
3 reads to return but not the last, causing the read to fail. This leads to
Voldemort throwing an exception, killing it and the database there as well.
Has been successfully reproduced. Exception is as follows:
voldemort.store.InsufficientOperationalNodesException: 3 reads required,
but 2 succeeded.
at voldemort.store.routed.RoutedStore.get(RoutedStore.java:365)
at voldemort.store.routed.RoutedStore.get(RoutedStore.java:60)
at
voldemort.store.serialized.SerializingStore.get(SerializingStore.java:57)
at voldemort.store.DelegatingStore.get(DelegatingStore.java:54)
at
voldemort.store.versioned.InconsistencyResolvingStore.get(InconsistencyResolving
Store.java:45)
at voldemort.client.DefaultStoreClient.get(DefaultStoreClient.java:85)
at voldemort.client.DefaultStoreClient.get(DefaultStoreClient.java:96)
at voldemort.server.thrift.VoldemortImpl.get(VoldemortImpl.java:89)
at
voldemort.server.thrift.Voldemort$Processor$get.process(Voldemort.java:167)
at
voldemort.server.thrift.Voldemort$Processor.process(Voldemort.java:156)
at
com.facebook.thrift.server.TThreadPoolServer$WorkerProcess.run(Unknown Source)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:8
86)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Original issue reported on code.google.com by shattere...@gmail.com on 16 Nov 2009 at 8:06
Original issue reported on code.google.com by
shattere...@gmail.com
on 16 Nov 2009 at 8:06