Enum DatastoreService.KeyRangeState (2.0.0)

public enum DatastoreService.KeyRangeState extends Enum<DatastoreService.KeyRangeState>

Indicates the state of a KeyRange. See Also: DatastoreService#allocateIdRange(KeyRange)

Static Fields

NameDescription
COLLISION

Indicates that entities with keys inside the given KeyRange already exist and writing to this range will overwrite those entities. Additionally the implications of #CONTENTION apply. If overwriting entities that exist in this range is acceptable it is safe to use the given range.

The datastore's automatic ID allocator will never assign a key to a new entity that will overwrite an existing entity so entities written by the user to this range will never be overwritten by an entity with an automatically assigned key.

CONTENTION

Indicates the given KeyRange is empty but the datastore's automatic ID allocator may assign new entities keys in this range. However it is safe to manually assign Keys in this range if either of the following is true:

  • No other request will insert entities with the same kind and parent as the given KeyRange until all entities with manually assigned keys from this range have been written.
  • Overwriting entities written by other requests with the same kind and parent as the given KeyRange is acceptable.

The datastore's automatic ID allocator will not assign a key to a new entity that will overwrite an existing entity, so once the range is populated there will no longer be any contention.

EMPTY

Indicates the given KeyRange is empty and the datastore's automatic ID allocator will not assign keys in this range to new entities.

Static Methods

NameDescription
valueOf(String name)
values()