Voldemort support :
resolveConflict([null, null]) == null
t != null, then
resolveConflict([null, t]) == resolveConflict([t, null]) == t
ArbitraryInconsistencyResolver : An inconsistency resolution strategy that always prefers the first of the two objects.
ChainedResolver :Apply the given inconsistency resolvers in order until there are 1 or fewer items left.
FailingInconsistencyResolver :An inconsistency resolver that does not attempt to resolve inconsistencies, but instead just throws an exception if one should occur.
MergingInconsistencyResolver :A strategy based on merging the objects in the list
Take two different versions of an object and combine them into a single version of the object Implementations must maintain the contract that
TimeBasedInconsistencyResolver :Resolve inconsistencies based on timestamp in the vector clock
VectorClockInconsistencyResolver :An inconsistency resolver that uses the object VectorClocks leaving only a set of concurrent versions remaining.
InconsistencyResolver can be used as :
- All Known Implementing Classes:
- AbstractStoreClientFactory, HttpStoreClientFactory, MockStoreClientFactory, SocketStoreClientFactory
public interface StoreClientFactory
An abstraction the represents a connection to a Voldemort cluster and can be used to create
StoreClient instances to interact with individual stores. The factory abstracts away any connection pools, thread pools, or other details that will be shared by all the individual
Close the store client
Returns the FailureDetector specific to the cluster against which this client factory is based.
Get the underlying store, not the public StoreClient interface
|// Add inconsistency resolving decorator, using their inconsistency|
|// resolver (if they gave us one)|
|InconsistencyResolver<Versioned<V>> secondaryResolver = resolver == null ? new TimeBasedInconsistencyResolver()|
|serializedStore = new InconsistencyResolvingStore<K, V>(serializedStore,|
|new ChainedResolver<Versioned<V>>(new VectorClockInconsistencyResolver(),|
VectorClockInconsistencyResolver is always the first Resolver.
The Voldemort source code: http://code.google.com/p/project-voldemort/source/browse/trunk/src/java/?r=386