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.
|
int |
getMaxSpeculativeExecutions() |
double |
getPercentile() |
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
This gives the policy the opportunity to perform some cleanup, for instance stop threads that it might have started.
close
in interface SpeculativeExecutionPolicy
public double getPercentile()
public int getMaxSpeculativeExecutions()
Copyright © 2012–2019. All rights reserved.