See: Description
Interface | Description |
---|---|
ActionError |
Interface that helps simulating action errors.
|
Class | Description |
---|---|
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.
|
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 . |
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-2019 Apache Software Foundation. All Rights Reserved.