See: Description
Interface | Description |
---|---|
Quorum<S extends Remote,C extends QuorumClient<S>> |
A quorum is a collection of services instances comprising the same logical
service.
|
QuorumActor<S extends Remote,C extends QuorumClient<S>> |
An interface that causes various changes in the distributed quorum state
required to execute the intention of a
QuorumMember service and its
cognizant AbstractQuorum . |
QuorumClient<S extends Remote> |
A non-remote interface for a client which monitors the state of a quorum.
|
QuorumEvent |
An interface for informational quorum events.
|
QuorumListener |
An interface for receiving informational quorum events.
|
QuorumMember<S extends Remote> |
A non-remote interface for a service which will participate in a quorum as a
member service (as opposed to a client service that merely watches the
quorum).
|
QuorumStateChangeEvent |
Event data equivalent to the
QuorumStateChangeListener API. |
QuorumStateChangeListener |
A non-remote interface containing only and all distributed
quorum state change messages for this
QuorumMember . |
QuorumWatcher<S extends Remote,C extends QuorumClient<S>> |
An interface that watches for changes in the distributed quorum state.
|
ServiceLookup<S extends Remote> |
Class | Description |
---|---|
AbstractQuorum<S extends Remote,C extends QuorumClient<S>> |
Abstract base class handles much of the logic for the distribution of RMI
calls from the leader to the follower and for the HA write pipeline.
|
AbstractQuorum.E |
Simple event impl.
|
AbstractQuorumClient<S extends Remote> |
Base class for
QuorumClient s. |
AbstractQuorumMember<S extends Remote> |
Abstract base class for a
QuorumMember . |
AbstractQuorumTestCase |
Abstract base class for testing using a
MockQuorumFixture . |
MockQuorumFixture |
A mock object providing the shared quorum state for a set of
QuorumClient s running in the same JVM. |
MockQuorumFixture.MockQuorum<S extends Remote,C extends QuorumMember<S>> |
Mock
Quorum implementation with increased visibility of some
methods so we can pump state changes into the MockQuorumFixture2 . |
QCE |
Event implementation class.
|
QuorumStateChangeListenerBase |
QuorumStateChangeListener provides NOP method implementations. |
QuorumTokenTransitions |
Wraps the token/join transitions in a testable manner.
|
StressTestHA3 |
Stress test suite for
TestHA3QuorumSemantics . |
TestAll |
Aggregates test suites in increasing dependency order.
|
TestHA3QuorumSemantics |
Test the quorum semantics for a highly available quorum of 3 services.
|
TestMockQuorumFixture |
Test suite for the
MockQuorumFixture . |
TestSingletonQuorumSemantics |
Test the quorum semantics for a singleton quorum.
|
Enum | Description |
---|---|
QuorumEventEnum |
A type-safe enumeration for informational quorum events.
|
QuorumStateChangeEventEnum |
Enumeration of event types for the events described by the
QuorumStateChangeListener interface. |
Exception | Description |
---|---|
AsynchronousQuorumCloseException |
An instance of this class is thrown when the caller is awaiting a quorum
event and the quorum is asynchronously closed.
|
QuorumException |
An exception related to
Quorum or QuorumManager s. |
This package defines interfaces and implementations for a quorum of highly
available services. Each quorum has a replication factor k, which
must be an odd integer. A quorum with k := 1
is a singleton
quorum and is not highly available. Highly available quorums have
k := 3
or greater.
Persistent bigdata® services have a lastCommitTime in each root block.
For the purpose of a highly available service, this timestamp provides a summary
of the persistent state of the quorum. When (k+1)/2
services in the
quorum vote for the same lastCommitTime, a simple majority exists and the quorum
can meet. The quorum will elect a leader, which will assign a quorum token,
and followers. Each quorum token is distinct. Applications can read and write
on a quorum while it is met (all writes must be directed to the quorum leader).
If the quorum breaks, then the token is cleared and operations will fail.
A quorum is inherently robust. Writes are replicated from the leader to the followers using a write pipeline so each service in the quorum has the same persistent state. If a service in a highly available quorum fails, the quorum will not break (unless the leader fails, in which case the quorum will meet again with the remaining services).
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.