コード例 #1
0
  /** @throws Exception If failed. */
  public void testRanges() throws Exception {
    IgfsFileMap map = new IgfsFileMap();

    IgniteUuid[] affKeys = new IgniteUuid[20];

    for (int i = 0; i < affKeys.length; i++) affKeys[i] = IgniteUuid.randomUuid();

    int numOfRanges = 0;

    do {
      for (int i = 0; i < 2 * numOfRanges + 1; i++) {
        long off1 = i * 10;
        long off2 = i * 10 + 5;
        long off3 = i * 10 + 8;

        IgniteUuid affKey = i % 2 == 0 ? null : affKeys[i / 2];

        assertEquals("For i: " + i, affKey, map.affinityKey(off1, false));
        assertEquals("For i: " + i, affKey, map.affinityKey(off2, false));
        assertEquals("For i: " + i, affKey, map.affinityKey(off3, false));
      }

      map.addRange(
          new IgfsFileAffinityRange(
              10 + 20 * numOfRanges, 19 + 20 * numOfRanges, affKeys[numOfRanges]));

      numOfRanges++;
    } while (numOfRanges < 20);
  }