com.google.appengine.api.datastore.dev
Class DefaultHighRepJobPolicy
java.lang.Object
com.google.appengine.api.datastore.dev.DefaultHighRepJobPolicy
- All Implemented Interfaces:
- HighRepJobPolicy
public class DefaultHighRepJobPolicy
- extends java.lang.Object
- implements HighRepJobPolicy
An implementation of HighRepJobPolicy in which a user-defined
percentage of jobs do not apply. The percentage applies to both new
(initial write) and existing (roll forward) jobs. The user can also provide
a random seed, which can be used to make the behavior of this class
deterministic in tests.
|
Field Summary |
static java.lang.String |
RANDOM_SEED_PROPERTY
A long that will be used as the seed for the Random that
determines whether or not a job application attempt fails. |
static java.lang.String |
UNAPPLIED_JOB_PERCENTAGE_PROPERTY
A float >= 0 and <= 100 representing the percentage of job application
attempts that will fail. |
|
Constructor Summary |
DefaultHighRepJobPolicy(long unappliedJobSeed,
float unappliedJobPercentage)
Constructs a DefaultHighRepJobPolicy. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RANDOM_SEED_PROPERTY
public static final java.lang.String RANDOM_SEED_PROPERTY
- A long that will be used as the seed for the
Random that
determines whether or not a job application attempt fails. Must be
parsable via Long.parseLong(String). If not provided we use the
current time (in millis) as the seed.
- See Also:
- Constant Field Values
UNAPPLIED_JOB_PERCENTAGE_PROPERTY
public static final java.lang.String UNAPPLIED_JOB_PERCENTAGE_PROPERTY
- A float >= 0 and <= 100 representing the percentage of job application
attempts that will fail. Must be parsable via
Float.parseFloat(String). Any portion of the value beyond two
decimal places will be truncated. If not provided we set the percentage
to 0, which yields the master/slave consistency model.
- See Also:
- Constant Field Values
DefaultHighRepJobPolicy
public DefaultHighRepJobPolicy(long unappliedJobSeed,
float unappliedJobPercentage)
- Constructs a
DefaultHighRepJobPolicy.
- Parameters:
unappliedJobSeed - The seed to use for random number generation.unappliedJobPercentage - The percentage of jobs that should fail to
apply. This percentage applies to both new jobs and attempts to roll
forward existing unapplied jobs.
shouldApplyNewJob
public boolean shouldApplyNewJob(com.google.appengine.api.datastore.Key entityGroup)
- Specified by:
shouldApplyNewJob in interface HighRepJobPolicy
- Parameters:
entityGroup - A unique identifier for the entity group.
- Returns:
true if the new job should apply according to the policy,
false otherwise.
shouldRollForwardExistingJob
public boolean shouldRollForwardExistingJob(com.google.appengine.api.datastore.Key entityGroup)
- Specified by:
shouldRollForwardExistingJob in interface HighRepJobPolicy
- Parameters:
entityGroup - A unique identifier for the entity group.
- Returns:
true if the existing job should roll forward
according to the policy, false otherwise.