Class KeyValueLocator

  • All Implemented Interfaces:

    public class KeyValueLocator
    extends Object
    implements Locator
    A Locator responsible for locating the right node based on the partition of the key.

    Coming from 1.0, this locator has not really changed - only minor details have been modified in the refactoring process.

    • Constructor Detail

      • KeyValueLocator

        public KeyValueLocator()
    • Method Detail

      • dispatch

        public void dispatch​(Request<? extends Response> request,
                             List<Node> nodes,
                             ClusterConfig config,
                             CoreContext ctx)
        Description copied from interface: Locator
        Given the environment and node information, the implementation locates the right set of nodes and dispatches the request into them.
        Specified by:
        dispatch in interface Locator
        request - the request to dispatch.
        nodes - the current list of active nodes.
        config - the current cluster configuration.
        ctx - the core context.
      • partitionForKey

        public static int partitionForKey​(byte[] id,
                                          int numPartitions)
        Calculate the partition offset for the given key.
        id - the document id to calculate from.
        numPartitions - the number of partitions in the bucket.
        the calculated partition.