Package redis.clients.jedis

Examples of redis.clients.jedis.JedisCluster


    @Test
    public void testDiscoverNodesAutomatically() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  assertEquals(3, jc.getClusterNodes().size());
    }
View Full Code Here


    @Test
    public void testCalculateConnectionPerSlot() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  jc.set("foo", "bar");
  jc.set("test", "test");
  assertEquals("bar", node3.get("foo"));
  assertEquals("test", node2.get("test"));
    }
View Full Code Here

    @Test
    public void testMigrate() {
  log.info("test migrate slot");
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(nodeInfo1);
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  String node3Id = JedisClusterTestUtil.getNodeId(node3.clusterNodes());
  String node2Id = JedisClusterTestUtil.getNodeId(node2.clusterNodes());
  node3.clusterSetSlotMigrating(15363, node2Id);
  node2.clusterSetSlotImporting(15363, node3Id);
  try {
      node2.set("e", "e");
  } catch (JedisMovedDataException jme) {
      assertEquals(15363, jme.getSlot());
      assertEquals(new HostAndPort(localHost, nodeInfo3.getPort()),
        jme.getTargetNode());
  }

  try {
      node3.set("e", "e");
  } catch (JedisAskDataException jae) {
      assertEquals(15363, jae.getSlot());
      assertEquals(new HostAndPort(localHost, nodeInfo2.getPort()),
        jae.getTargetNode());
  }

  jc.set("e", "e");

  try {
      node2.get("e");
  } catch (JedisMovedDataException jme) {
      assertEquals(15363, jme.getSlot());
      assertEquals(new HostAndPort(localHost, nodeInfo3.getPort()),
        jme.getTargetNode());
  }
  try {
      node3.get("e");
  } catch (JedisAskDataException jae) {
      assertEquals(15363, jae.getSlot());
      assertEquals(new HostAndPort(localHost, nodeInfo2.getPort()),
        jae.getTargetNode());
  }

  assertEquals("e", jc.get("e"));

  node2.clusterSetSlotNode(15363, node2Id);
  node3.clusterSetSlotNode(15363, node2Id);
  // assertEquals("e", jc.get("e"));
  assertEquals("e", node2.get("e"));
View Full Code Here

    @Test
    public void testMigrateToNewNode() throws InterruptedException {
  log.info("test migrate slot to new node");
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(nodeInfo1);
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  node4.clusterMeet(localHost, nodeInfo1.getPort());

  String node3Id = JedisClusterTestUtil.getNodeId(node3.clusterNodes());
  String node4Id = JedisClusterTestUtil.getNodeId(node4.clusterNodes());
  JedisClusterTestUtil.waitForClusterReady(node4);
  node3.clusterSetSlotMigrating(15363, node4Id);
  node4.clusterSetSlotImporting(15363, node3Id);
  try {
      node4.set("e", "e");
  } catch (JedisMovedDataException jme) {
      assertEquals(15363, jme.getSlot());
      assertEquals(new HostAndPort(localHost, nodeInfo3.getPort()),
        jme.getTargetNode());
  }

  try {
      node3.set("e", "e");
  } catch (JedisAskDataException jae) {
      assertEquals(15363, jae.getSlot());
      assertEquals(new HostAndPort(localHost, nodeInfo4.getPort()),
        jae.getTargetNode());
  }

  jc.set("e", "e");

  try {
      node4.get("e");
  } catch (JedisMovedDataException jme) {
      assertEquals(15363, jme.getSlot());
      assertEquals(new HostAndPort(localHost, nodeInfo3.getPort()),
        jme.getTargetNode());
  }
  try {
      node3.get("e");
  } catch (JedisAskDataException jae) {
      assertEquals(15363, jae.getSlot());
      assertEquals(new HostAndPort(localHost, nodeInfo4.getPort()),
        jae.getTargetNode());
  }

  assertEquals("e", jc.get("e"));

  node4.clusterSetSlotNode(15363, node4Id);
  node3.clusterSetSlotNode(15363, node4Id);
  // assertEquals("e", jc.get("e"));
  assertEquals("e", node4.get("e"));
View Full Code Here

    @Test
    public void testRecalculateSlotsWhenMoved() throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  int slot51 = JedisClusterCRC16.getSlot("51");
  node2.clusterDelSlots(slot51);
  node3.clusterDelSlots(slot51);
  node3.clusterAddSlots(slot51);

  JedisClusterTestUtil.waitForClusterReady(node1, node2, node3);
  jc.set("51", "foo");
  assertEquals("foo", jc.get("51"));
    }
View Full Code Here

    @Test
    public void testAskResponse() throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  int slot51 = JedisClusterCRC16.getSlot("51");
  node3.clusterSetSlotImporting(slot51,
    JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  node2.clusterSetSlotMigrating(slot51,
    JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  jc.set("51", "foo");
  assertEquals("foo", jc.get("51"));
    }
View Full Code Here

    @Test(expected = JedisClusterException.class)
    public void testThrowExceptionWithoutKey() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  jc.ping();
    }
View Full Code Here

    @Test(expected = JedisClusterMaxRedirectionsException.class)
    public void testRedisClusterMaxRedirections() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  int slot51 = JedisClusterCRC16.getSlot("51");
  // This will cause an infinite redirection loop
  node2.clusterSetSlotMigrating(slot51,
    JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  jc.set("51", "foo");
    }
View Full Code Here

    @Test
    public void testClusterCountKeysInSlot() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort(nodeInfo1.getHost(), nodeInfo1
    .getPort()));
  JedisCluster jc = new JedisCluster(jedisClusterNode);

  for (int index = 0; index < 5; index++) {
      jc.set("foo{bar}" + index, "hello");
  }

  int slot = JedisClusterCRC16.getSlot("foo{bar}");
  assertEquals(5, node1.clusterCountKeysInSlot(slot).intValue());
    }
View Full Code Here

    public void testStableSlotWhenMigratingNodeOrImportingNodeIsNotSpecified()
      throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort(nodeInfo1.getHost(), nodeInfo1
    .getPort()));
  JedisCluster jc = new JedisCluster(jedisClusterNode);

  int slot51 = JedisClusterCRC16.getSlot("51");
  jc.set("51", "foo");
  // node2 is responsible of taking care of slot51 (7186)

  node3.clusterSetSlotImporting(slot51,
    JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  assertEquals("foo", jc.get("51"));
  node3.clusterSetSlotStable(slot51);
  assertEquals("foo", jc.get("51"));

  node2.clusterSetSlotMigrating(slot51,
    JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  // assertEquals("foo", jc.get("51")); // it leads Max Redirections
  node2.clusterSetSlotStable(slot51);
  assertEquals("foo", jc.get("51"));
    }
View Full Code Here

TOP

Related Classes of redis.clients.jedis.JedisCluster

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.