Modifier and Type | Method and Description |
---|---|
Layout |
ServerContext.copyManagementLayout()
Fetches and creates a copy of the Management Layout from the local datastore.
|
Layout |
LayoutServer.getCurrentLayout() |
Layout |
ServerContext.getCurrentLayout()
|
Layout |
ServerContext.getManagementLayout()
Fetches the management layout from the persistent datastore.
|
Layout |
ServerContext.getNewSingleNodeLayout()
Get a new single node layout used for self-bootstrapping a server started with
the -s flag.
|
Layout |
LayoutServer.getProposedLayout()
Returns the proposed layout received in phase 2 data.
|
Modifier and Type | Method and Description |
---|---|
void |
ServerContext.saveManagementLayout(Layout layout)
Sets the management layout in the persistent datastore.
|
void |
LayoutServer.setCurrentLayout(Layout layout)
Sets the current layout in context DataStore.
|
void |
ServerContext.setCurrentLayout(Layout layout)
|
void |
LayoutServer.setLayoutInHistory(Layout layout) |
void |
ServerContext.setLayoutInHistory(Layout layout) |
Modifier and Type | Method and Description |
---|---|
void |
ManagementServer.handleManagementBootstrap(CorfuPayloadMsg<Layout> msg,
io.netty.channel.ChannelHandlerContext ctx,
IServerRouter r)
Bootstraps the management server.
|
Modifier and Type | Method and Description |
---|---|
static boolean |
ReconfigurationEventHandler.handleFailure(IReconfigurationHandlerPolicy failureHandlerPolicy,
Layout currentLayout,
CorfuRuntime corfuRuntime,
Set<String> failedServers)
Takes in the existing layout and a set of failed nodes.
|
static boolean |
ReconfigurationEventHandler.handleMergeSegments(CorfuRuntime runtime,
Layout layout,
Duration retryQueryTimeout)
Launches a workflow to restore redundancy and merge all segments.
|
PollReport |
IDetector.poll(Layout layout,
CorfuRuntime corfuRuntime,
SequencerMetrics sequencerMetrics)
Executes the detector which runs the failure or healing detecting algorithm.
|
PollReport |
FailureDetector.poll(Layout layout,
CorfuRuntime corfuRuntime,
SequencerMetrics sequencerMetrics)
Executes the policy once.
|
void |
ClusterStateContext.refreshClusterView(Layout layout,
PollReport report)
Refreshes the cluster view based on the local endpoint and the snapshot epoch at which the
node states are updated.
|
Modifier and Type | Method and Description |
---|---|
static void |
StateTransfer.transfer(Layout layout,
Set<String> endpoints,
CorfuRuntime runtime,
Layout.LayoutSegment segment)
Fetch and propagate the trimMark to the new/healing nodes.
|
Constructor and Description |
---|
LayoutCommittedRequest(long epoch,
Layout layout) |
LayoutMsg(Layout layout,
CorfuMsgType type) |
Modifier and Type | Field and Description |
---|---|
CompletableFuture<Layout> |
CorfuRuntime.layout
A completable future containing a layout, when completed.
|
Modifier and Type | Method and Description |
---|---|
static void |
BootstrapUtil.bootstrap(Layout layout,
CorfuRuntime.CorfuRuntimeParameters corfuRuntimeParameters,
int retries,
Duration retryDuration)
Bootstraps the given layout.
|
static void |
BootstrapUtil.bootstrap(Layout layout,
int retries,
Duration retryDuration)
Bootstraps the given layout.
|
Modifier and Type | Method and Description |
---|---|
CompletableFuture<Layout> |
LayoutClient.getLayout()
Retrieves the layout from the endpoint, asynchronously.
|
CompletableFuture<Layout> |
ManagementClient.getLayout()
Requests for the layout persisted by the management server.
|
Modifier and Type | Method and Description |
---|---|
CompletableFuture<Boolean> |
LayoutClient.bootstrapLayout(Layout l)
Bootstraps a layout server.
|
CompletableFuture<Boolean> |
ManagementClient.bootstrapManagement(Layout l)
Bootstraps a management server.
|
CompletableFuture<Boolean> |
LayoutClient.committed(long epoch,
Layout layout)
Informs the server that the proposal (layout) has been committed to a quorum.
|
CompletableFuture<Boolean> |
LayoutClient.force(Layout layout)
Send a force commit layout request to a layout server
|
CompletableFuture<Boolean> |
LayoutClient.propose(long epoch,
long rank,
Layout layout)
Begins phase 2 of a Paxos round with a propose message.
|
Constructor and Description |
---|
OutrankedException(long newRank,
Layout layout)
Constructor.
|
Modifier and Type | Field and Description |
---|---|
static Comparator<Layout> |
Layout.LAYOUT_COMPARATOR
Sorting layouts according to epochs in descending order
|
Modifier and Type | Method and Description |
---|---|
Layout |
LayoutBuilder.build()
Builds and returns the layout with the modified attributes.
|
Layout |
LayoutDeserializer.deserialize(com.google.gson.JsonElement arg0,
Type arg1,
com.google.gson.JsonDeserializationContext arg2) |
static Layout |
Layout.fromJSONString(String json)
Get a layout from a JSON string.
|
Layout |
IFailureHandlerPolicy.generateLayout(Layout currentLayout,
CorfuRuntime corfuRuntime,
Set<String> failedNodes,
Set<String> healedNodes)
Generates a new layout based on the set of failures.
|
Layout |
IReconfigurationHandlerPolicy.generateLayout(Layout currentLayout,
CorfuRuntime corfuRuntime,
Set<String> failedNodes,
Set<String> healedNodes)
Generates a new layout based on the set of failures.
|
Layout |
ConservativeFailureHandlerPolicy.generateLayout(Layout originalLayout,
CorfuRuntime corfuRuntime,
Set<String> failedNodes,
Set<String> healedNodes)
Modifies the layout by marking the failed nodes as unresponsive but still keeping them in
the layout and sequencer servers lists.
|
Layout |
AbstractView.getCurrentLayout()
Get the current layout.
|
Layout |
LayoutView.getLayout()
Retrieves current layout.
|
Layout |
LayoutView.prepare(long epoch,
long rank)
Sends prepare to the current layout and can proceed only if it is accepted by a quorum.
|
Layout |
LayoutView.propose(long epoch,
long rank,
Layout layout)
Proposes new layout to all the servers in the current layout.
|
Modifier and Type | Method and Description |
---|---|
void |
LayoutManagementView.addLogUnitReplica(Layout currentLayout,
String endpoint,
int stripeIndex)
Add the log unit to the segment to increase redundancy.
|
void |
LayoutManagementView.addNode(Layout currentLayout,
String endpoint,
boolean isLayoutServer,
boolean isSequencerServer,
boolean isLogUnitServer,
boolean isUnresponsiveServer,
int logUnitStripeIndex)
Adds a new node to the existing layout.
|
CompletableFuture<Boolean> |
LayoutManagementView.asyncSequencerBootstrap(Layout layout,
ExecutorService service)
Triggers a new task to bootstrap the sequencer for the specified layout.
|
boolean |
LayoutManagementView.attemptClusterRecovery(Layout recoveryLayout)
On restart, if MANAGEMENT_LAYOUT exists in the local datastore.
|
void |
LayoutView.committed(long epoch,
Layout layout)
Send committed layout to the old Layout servers and the new Layout Servers.
|
void |
LayoutView.committed(long epoch,
Layout layout,
boolean force)
Send committed layout to the old Layout servers and the new Layout Servers.
|
void |
LayoutManagementView.forceLayout(Layout currentLayout,
Layout forceLayout)
Attempts to force commit a new layout to the cluster.
|
Layout |
IFailureHandlerPolicy.generateLayout(Layout currentLayout,
CorfuRuntime corfuRuntime,
Set<String> failedNodes,
Set<String> healedNodes)
Generates a new layout based on the set of failures.
|
Layout |
IReconfigurationHandlerPolicy.generateLayout(Layout currentLayout,
CorfuRuntime corfuRuntime,
Set<String> failedNodes,
Set<String> healedNodes)
Generates a new layout based on the set of failures.
|
Layout |
ConservativeFailureHandlerPolicy.generateLayout(Layout originalLayout,
CorfuRuntime corfuRuntime,
Set<String> failedNodes,
Set<String> healedNodes)
Modifies the layout by marking the failed nodes as unresponsive but still keeping them in
the layout and sequencer servers lists.
|
abstract int |
Layout.ReplicationMode.getMinReplicationFactor(Layout layout,
Layout.LayoutStripe stripe)
Compute the min replication factor for the log unit servers in the replication protocol
for a specific stripe.
|
RuntimeLayout |
LayoutView.getRuntimeLayout(Layout layout) |
void |
LayoutManagementView.handleFailure(IReconfigurationHandlerPolicy failureHandlerPolicy,
Layout currentLayout,
Set<String> failedServers)
Takes in the existing layout and a set of failed nodes.
|
void |
LayoutManagementView.healNode(Layout currentLayout,
String endpoint)
Heals an existing node in the layout.
|
void |
LayoutManagementView.mergeSegments(Layout currentLayout)
Attempts to merge the last 2 segments.
|
Layout |
LayoutView.propose(long epoch,
long rank,
Layout layout)
Proposes new layout to all the servers in the current layout.
|
void |
LayoutManagementView.reconfigureSequencerServers(Layout originalLayout,
Layout newLayout,
boolean forceReconfigure)
Reconfigures the sequencer.
|
void |
LayoutManagementView.removeNode(Layout currentLayout,
String endpoint)
Best effort attempt to removes a node from the layout.
|
void |
LayoutView.updateLayout(Layout layout,
long rank)
Drives the consensus protocol for persisting the new Layout.
|
Modifier and Type | Method and Description |
---|---|
<T,A extends RuntimeException,B extends RuntimeException,C extends RuntimeException,D extends RuntimeException> |
AbstractView.layoutHelper(AbstractView.LayoutFunction<Layout,T,A,B,C,D> function) |
<T,A extends RuntimeException,B extends RuntimeException,C extends RuntimeException,D extends RuntimeException> |
AbstractView.layoutHelper(AbstractView.LayoutFunction<Layout,T,A,B,C,D> function,
boolean rethrowAllExceptions)
Helper function for view to retrieve layouts.
|
Constructor and Description |
---|
Layout(Layout layout)
Layout copy constructor.
|
LayoutBuilder(Layout layout)
Copies the attributes of the layout to make modifications.
|
RuntimeLayout(Layout layout,
CorfuRuntime corfuRuntime)
Constructor taking a reference of the layout to stamp the clients.
|
Modifier and Type | Method and Description |
---|---|
protected ManagementClient |
WorkflowRequest.getOrchestrator(Layout layout)
Select an orchestrator and return a client.
|
protected boolean |
RemoveNode.verifyRequest(Layout layout) |
protected boolean |
AddNode.verifyRequest(Layout layout) |
protected boolean |
RestoreRedundancyMergeSegments.verifyRequest(Layout layout)
Verify request has been completed if the layout contains only one segment.
|
protected boolean |
HealNode.verifyRequest(Layout layout) |
protected abstract boolean |
WorkflowRequest.verifyRequest(Layout layout)
Infer the completion of the request by inspecting the layout
|
Modifier and Type | Method and Description |
---|---|
Layout |
CorfuClient.getLayout()
|
Layout |
LocalCorfuClient.getLayout() |
Modifier and Type | Method and Description |
---|---|
static TailsResponse |
Utils.getAllTails(Layout layout,
CorfuRuntime runtime)
Fetches the max global log tail and all stream tails from the log unit cluster.
|
static StreamsAddressResponse |
Utils.getLogAddressSpace(Layout layout,
CorfuRuntime runtime)
Retrieve the space of addresses of the log, i.e., for all streams in the log.
|
static long |
Utils.getLogTail(Layout layout,
CorfuRuntime runtime)
Get global log tail.
|
Copyright © 2019 CorfuDB. All rights reserved.