See: Description
Interface | Description |
---|---|
ActionError |
Interface that helps simulating action errors.
|
Class | Description |
---|---|
FakeDocIterator |
Lightweight generator of fake documents
NOTE: this iterator only ever returns the same document N times, which works ok
for our "bulk index update" simulation.
|
GenericDistributedQueue |
A distributed queue that uses
DistribStateManager as the underlying distributed store. |
GenericDistributedQueueFactory |
Factory for
GenericDistributedQueue . |
LiveNodesSet |
This class represents a set of live nodes and allows adding listeners to track their state.
|
NoopDistributedQueueFactory |
A queue factory implementation that does nothing.
|
SimCloudManager |
Simulated
SolrCloudManager . |
SimClusterStateProvider |
Simulated
ClusterStateProvider . |
SimDistribStateManager |
Simulated
DistribStateManager that keeps all data locally in a static structure. |
SimDistribStateManager.Node | |
SimDistributedQueueFactory |
Simulated
DistributedQueueFactory that keeps all data in memory. |
SimDistributedQueueFactory.SimDistributedQueue | |
SimNodeStateProvider |
Simulated
NodeStateProvider . |
SimScenario |
This class represents an autoscaling scenario consisting of a series of autoscaling
operations on a simulated cluster.
|
SimScenario.AddNodes |
Add one or more nodes.
|
SimScenario.ApplySuggestions |
Apply autoscaling suggestions.
|
SimScenario.Assert | |
SimScenario.CalculateSuggestions |
Calculate autoscaling suggestions.
|
SimScenario.CreateCluster |
Create a simulated cluster.
|
SimScenario.CtxRemove |
Remove a context property.
|
SimScenario.CtxSet |
Set a context property.
|
SimScenario.Dump |
Dump the simulator state to the console.
|
SimScenario.IndexDocs | |
SimScenario.KillNodes |
Kill one or more nodes.
|
SimScenario.LoadAutoscaling |
Load autoscaling.json configuration.
|
SimScenario.LoadSnapshot |
Create a simulated cluster from an autoscaling snapshot.
|
SimScenario.LoopOp |
Loop action.
|
SimScenario.RunSimulator |
Run the simulator for a while.
|
SimScenario.RunSolrRequest |
Execute a SolrRequest supported by
SimCloudManager . |
SimScenario.SaveSnapshot |
Save an autoscaling snapshot.
|
SimScenario.SetEventListener |
Set a temporary listener to wait for a specific trigger event processing.
|
SimScenario.SetNodeMetrics | |
SimScenario.SetOpDelays |
Set delays for specified collection operations in order to simulate slow execution.
|
SimScenario.SetShardMetrics | |
SimScenario.SimOp |
Base class for implementation of scenario DSL actions.
|
SimScenario.WaitCollection |
Wait for a specific collection shape.
|
SimScenario.WaitEvent |
Wait for the previously set listener to capture an event.
|
SimUtils |
Various utility methods useful for autoscaling simulations and snapshots.
|
SnapshotCloudManager |
Read-only snapshot of another
SolrCloudManager . |
SnapshotClusterStateProvider |
Read-only snapshot of another
ClusterStateProvider . |
SnapshotDistribStateManager |
Read-only snapshot of another
DistribStateManager |
SnapshotNodeStateProvider |
Read-only snapshot of another
NodeStateProvider . |
Enum | Description |
---|---|
SimScenario.Condition | |
SimScenario.SimAction |
Actions supported by the scenario.
|
SimCloudManager
SolrCloudManager
uses the following simulated components:
SimDistribStateManager
- in-memory ZK look-alike, with support for Watcher-s, ephemeral and sequential nodes.SimClusterStateProvider
- manages collection, replica infos, states and replica metrics.SimNodeStateProvider
- manages node metrics.GenericDistributedQueue
- DistributedQueue that uses SimDistribStateManager.OverseerTriggerThread
so that it
uses real trigger and trigger action implementations, as well as real event scheduling and processing code.
It also provides methods for simulating Overseer leader change.
An important part of the SimCloudManager is also a request handler that processes common autoscaling
and collection admin requests. Autoscaling requests are processes by an instance of
AutoScalingHandler
(and result in changes in respective
data stored in SimDistribStateManager
). Collection
admin commands are simulated, ie. they don't use actual CollectionsHandler
due to the complex dependencies on real components.
SimClusterStateProvider
SimNodeStateProvider
SimCloudManager.createCluster(int, org.apache.solr.common.util.TimeSource)
method, each simulated node is initialized with some basic metrics that are expected by the autoscaling
framework, such as node name, fake system load average, heap usage and disk usage.
The number of cores and disk space metrics may be used in autoscaling calculations, so they are
tracked and adjusted by SimClusterStateProvider
according
to the currently active replicas located on each node.
Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.