public class PercentileSpeculativeExecutionPolicy extends Object implements SpeculativeExecutionPolicy
SpeculativeExecutionPolicy.SpeculativeExecutionPlan
Constructor and Description |
---|
PercentileSpeculativeExecutionPolicy(PercentileTracker percentileTracker,
double percentile,
int maxSpeculativeExecutions)
Builds a new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Gets invoked at cluster shutdown.
|
void |
init(Cluster cluster)
Gets invoked at cluster startup.
|
SpeculativeExecutionPolicy.SpeculativeExecutionPlan |
newPlan(String loggedKeyspace,
Statement statement)
Returns the plan to use for a new query.
|
public PercentileSpeculativeExecutionPolicy(PercentileTracker percentileTracker, double percentile, int maxSpeculativeExecutions)
percentileTracker
- the component that will record latencies. It will get
registered
with the cluster when this
policy initializes.percentile
- the percentile that a request's latency must fall into to be considered slow (ex:
99.0
).maxSpeculativeExecutions
- the maximum number of speculative executions that will be triggered for a given
request (this does not include the initial, normal request). Must be strictly
positive.public SpeculativeExecutionPolicy.SpeculativeExecutionPlan newPlan(String loggedKeyspace, Statement statement)
SpeculativeExecutionPolicy
newPlan
in interface SpeculativeExecutionPolicy
loggedKeyspace
- the currently logged keyspace (the one set through either
Cluster.connect(String)
or by manually doing a USE
query) for
the session on which this plan need to be built. This can be null
if
the corresponding session has no keyspace logged in.statement
- the query for which to build a plan.public void init(Cluster cluster)
SpeculativeExecutionPolicy
init
in interface SpeculativeExecutionPolicy
cluster
- the cluster that this policy is associated with.public void close()
SpeculativeExecutionPolicy
close
in interface SpeculativeExecutionPolicy