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