public class ConstantSpeculativeExecutionPolicy extends Object implements SpeculativeExecutionPolicy
SpeculativeExecutionPolicy
that schedules a given number of speculative executions, separated by a fixed delay.SpeculativeExecutionPolicy.SpeculativeExecutionPlan
Constructor and Description |
---|
ConstantSpeculativeExecutionPolicy(long constantDelayMillis,
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 ConstantSpeculativeExecutionPolicy(long constantDelayMillis, int maxSpeculativeExecutions)
constantDelayMillis
- the delay between each speculative execution. Must be >= 0. A zero delay means
it should immediately send `maxSpeculativeExecutions` requests along with the
original request.maxSpeculativeExecutions
- the number of speculative executions. Must be strictly positive.IllegalArgumentException
- if one of the arguments does not respect the preconditions above.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
Copyright © 2012–2017. All rights reserved.