public interface IDPlacementStrategy
Modifier and Type | Method and Description |
---|---|
void |
exhaustedPartition(int partitionID)
Called when there are no more idAuthorities left in the given partition.
|
int |
getPartition(InternalElement element)
Individually assigns an id to the given vertex or relation.
|
void |
getPartitions(Map<InternalVertex,PartitionAssignment> vertices)
Bulk assignment of idAuthorities to vertices.
|
void |
injectIDManager(IDManager idManager)
After construction, the
IDManager used by this graph instance
is injected into this IDPlacementStrategy so that the id pattern of vertices can be inspected. |
void |
setLocalPartitionBounds(List<PartitionIDRange> localPartitionIdRanges)
If JanusGraph is embedded, this method is used to indicate to the placement strategy which
part of the partition id space is hosted locally so that vertex and edge placements can be made accordingly
(i.e.
|
boolean |
supportsBulkPlacement()
Whether this placement strategy supports bulk placement.
|
int getPartition(InternalElement element)
element
- Vertex or relation to assign id to.void getPartitions(Map<InternalVertex,PartitionAssignment> vertices)
It is expected that the passed in map contains the partition assignment after this method returns. Any initial values in the map are meaningless and to be ignored.
This is an optional operation. Check with supportsBulkPlacement()
first.
vertices
- Map containing all vertices and their partition placement.void injectIDManager(IDManager idManager)
IDManager
used by this graph instance
is injected into this IDPlacementStrategy so that the id pattern of vertices can be inspected.
This method is guaranteed to be called before any partition assignments are made.idManager
- boolean supportsBulkPlacement()
getPartitions(java.util.Map)
will throw UnsupportedOperationException
void setLocalPartitionBounds(List<PartitionIDRange> localPartitionIdRanges)
This method can be called at any time while JanusGraph is running. It is typically called right after construction and when the id space is redistributed.
Depending on the storage backend one or multiple ranges of partition ids may be given. However, this list is never empty.
localPartitionIdRanges
- List of PartitionIDRange
s corresponding to the locally hosted partitionsvoid exhaustedPartition(int partitionID)
partitionID
- Id of the partition that has been exhausted.Copyright © 2012–2023. All rights reserved.