Interface ShardCoordinator.ShardAllocationStrategy

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      scala.concurrent.Future<ActorRef> allocateShard​(ActorRef requester, java.lang.String shardId, scala.collection.immutable.Map<ActorRef,​scala.collection.immutable.IndexedSeq<java.lang.String>> currentShardAllocations)  
      scala.concurrent.Future<scala.collection.immutable.Set<java.lang.String>> rebalance​(scala.collection.immutable.Map<ActorRef,​scala.collection.immutable.IndexedSeq<java.lang.String>> currentShardAllocations, scala.collection.immutable.Set<java.lang.String> rebalanceInProgress)
      Invoked periodically to decide which shards to rebalance to another location.
    • Method Detail

      • allocateShard

        scala.concurrent.Future<ActorRef> allocateShard​(ActorRef requester,
                                                        java.lang.String shardId,
                                                        scala.collection.immutable.Map<ActorRef,​scala.collection.immutable.IndexedSeq<java.lang.String>> currentShardAllocations)
      • rebalance

        scala.concurrent.Future<scala.collection.immutable.Set<java.lang.String>> rebalance​(scala.collection.immutable.Map<ActorRef,​scala.collection.immutable.IndexedSeq<java.lang.String>> currentShardAllocations,
                                                                                            scala.collection.immutable.Set<java.lang.String> rebalanceInProgress)
        Invoked periodically to decide which shards to rebalance to another location.
        Parameters:
        currentShardAllocations - all actor refs to ShardRegion and their current allocated shards, in the order they were allocated
        rebalanceInProgress - set of shards that are currently being rebalanced, i.e. you should not include these in the returned set
        Returns:
        a Future of the shards to be migrated, may be empty to skip rebalance in this round