Search in sources :

Example 51 with ResourceID

use of org.apache.flink.runtime.clusterframework.types.ResourceID in project flink by apache.

the class InstanceManagerTest method testRegisteringAlreadyRegistered.

@Test
public void testRegisteringAlreadyRegistered() {
    try {
        InstanceManager cm = new InstanceManager();
        final int dataPort = 20000;
        ResourceID resID1 = ResourceID.generate();
        ResourceID resID2 = ResourceID.generate();
        HardwareDescription resources = HardwareDescription.extractFromSystem(4096);
        InetAddress address = InetAddress.getByName("127.0.0.1");
        TaskManagerLocation ici = new TaskManagerLocation(resID1, address, dataPort);
        JavaTestKit probe = new JavaTestKit(system);
        cm.registerTaskManager(new ActorTaskManagerGateway(new AkkaActorGateway(probe.getRef(), leaderSessionID)), ici, resources, 1);
        assertEquals(1, cm.getNumberOfRegisteredTaskManagers());
        assertEquals(1, cm.getTotalNumberOfSlots());
        try {
            cm.registerTaskManager(new ActorTaskManagerGateway(new AkkaActorGateway(probe.getRef(), leaderSessionID)), ici, resources, 1);
        } catch (Exception e) {
        // good
        }
        // check for correct number of registered instances
        assertEquals(1, cm.getNumberOfRegisteredTaskManagers());
        assertEquals(1, cm.getTotalNumberOfSlots());
        cm.shutdown();
    } catch (Exception e) {
        System.err.println(e.getMessage());
        e.printStackTrace();
        Assert.fail("Test erroneous: " + e.getMessage());
    }
}
Also used : ResourceID(org.apache.flink.runtime.clusterframework.types.ResourceID) TaskManagerLocation(org.apache.flink.runtime.taskmanager.TaskManagerLocation) InetAddress(java.net.InetAddress) JavaTestKit(akka.testkit.JavaTestKit) ActorTaskManagerGateway(org.apache.flink.runtime.jobmanager.slots.ActorTaskManagerGateway) Test(org.junit.Test)

Example 52 with ResourceID

use of org.apache.flink.runtime.clusterframework.types.ResourceID in project flink by apache.

the class InstanceTest method testCancelAllSlots.

@Test
public void testCancelAllSlots() {
    try {
        ResourceID resourceID = ResourceID.generate();
        HardwareDescription hardwareDescription = new HardwareDescription(4, 2L * 1024 * 1024 * 1024, 1024 * 1024 * 1024, 512 * 1024 * 1024);
        InetAddress address = InetAddress.getByName("127.0.0.1");
        TaskManagerLocation connection = new TaskManagerLocation(resourceID, address, 10001);
        Instance instance = new Instance(new ActorTaskManagerGateway(DummyActorGateway.INSTANCE), connection, new InstanceID(), hardwareDescription, 3);
        assertEquals(3, instance.getNumberOfAvailableSlots());
        SimpleSlot slot1 = instance.allocateSimpleSlot(new JobID());
        SimpleSlot slot2 = instance.allocateSimpleSlot(new JobID());
        SimpleSlot slot3 = instance.allocateSimpleSlot(new JobID());
        instance.cancelAndReleaseAllSlots();
        assertEquals(3, instance.getNumberOfAvailableSlots());
        assertTrue(slot1.isCanceled());
        assertTrue(slot2.isCanceled());
        assertTrue(slot3.isCanceled());
    } catch (Exception e) {
        e.printStackTrace();
        fail(e.getMessage());
    }
}
Also used : ResourceID(org.apache.flink.runtime.clusterframework.types.ResourceID) TaskManagerLocation(org.apache.flink.runtime.taskmanager.TaskManagerLocation) InetAddress(java.net.InetAddress) JobID(org.apache.flink.api.common.JobID) ActorTaskManagerGateway(org.apache.flink.runtime.jobmanager.slots.ActorTaskManagerGateway) Test(org.junit.Test)

Example 53 with ResourceID

use of org.apache.flink.runtime.clusterframework.types.ResourceID in project flink by apache.

the class SimpleSlotTest method getSlot.

public static SimpleSlot getSlot() throws Exception {
    ResourceID resourceID = ResourceID.generate();
    HardwareDescription hardwareDescription = new HardwareDescription(4, 2L * 1024 * 1024 * 1024, 1024 * 1024 * 1024, 512 * 1024 * 1024);
    InetAddress address = InetAddress.getByName("127.0.0.1");
    TaskManagerLocation connection = new TaskManagerLocation(resourceID, address, 10001);
    Instance instance = new Instance(new ActorTaskManagerGateway(DummyActorGateway.INSTANCE), connection, new InstanceID(), hardwareDescription, 1);
    return instance.allocateSimpleSlot(new JobID());
}
Also used : ResourceID(org.apache.flink.runtime.clusterframework.types.ResourceID) TaskManagerLocation(org.apache.flink.runtime.taskmanager.TaskManagerLocation) InetAddress(java.net.InetAddress) JobID(org.apache.flink.api.common.JobID) ActorTaskManagerGateway(org.apache.flink.runtime.jobmanager.slots.ActorTaskManagerGateway)

Example 54 with ResourceID

use of org.apache.flink.runtime.clusterframework.types.ResourceID in project flink by apache.

the class AllocatedSlotsTest method testOperations.

@Test
public void testOperations() throws Exception {
    SlotPool.AllocatedSlots allocatedSlots = new SlotPool.AllocatedSlots();
    final AllocationID allocation1 = new AllocationID();
    final ResourceID resource1 = new ResourceID("resource1");
    final Slot slot1 = createSlot(resource1, allocation1);
    allocatedSlots.add(slot1);
    assertTrue(allocatedSlots.contains(slot1.getAllocatedSlot().getSlotAllocationId()));
    assertTrue(allocatedSlots.containResource(resource1));
    assertEquals(slot1, allocatedSlots.get(allocation1));
    assertEquals(1, allocatedSlots.getSlotsForTaskManager(resource1).size());
    assertEquals(1, allocatedSlots.size());
    final AllocationID allocation2 = new AllocationID();
    final Slot slot2 = createSlot(resource1, allocation2);
    allocatedSlots.add(slot2);
    assertTrue(allocatedSlots.contains(slot1.getAllocatedSlot().getSlotAllocationId()));
    assertTrue(allocatedSlots.contains(slot2.getAllocatedSlot().getSlotAllocationId()));
    assertTrue(allocatedSlots.containResource(resource1));
    assertEquals(slot1, allocatedSlots.get(allocation1));
    assertEquals(slot2, allocatedSlots.get(allocation2));
    assertEquals(2, allocatedSlots.getSlotsForTaskManager(resource1).size());
    assertEquals(2, allocatedSlots.size());
    final AllocationID allocation3 = new AllocationID();
    final ResourceID resource2 = new ResourceID("resource2");
    final Slot slot3 = createSlot(resource2, allocation3);
    allocatedSlots.add(slot3);
    assertTrue(allocatedSlots.contains(slot1.getAllocatedSlot().getSlotAllocationId()));
    assertTrue(allocatedSlots.contains(slot2.getAllocatedSlot().getSlotAllocationId()));
    assertTrue(allocatedSlots.contains(slot3.getAllocatedSlot().getSlotAllocationId()));
    assertTrue(allocatedSlots.containResource(resource1));
    assertTrue(allocatedSlots.containResource(resource2));
    assertEquals(slot1, allocatedSlots.get(allocation1));
    assertEquals(slot2, allocatedSlots.get(allocation2));
    assertEquals(slot3, allocatedSlots.get(allocation3));
    assertEquals(2, allocatedSlots.getSlotsForTaskManager(resource1).size());
    assertEquals(1, allocatedSlots.getSlotsForTaskManager(resource2).size());
    assertEquals(3, allocatedSlots.size());
    allocatedSlots.remove(slot2);
    assertTrue(allocatedSlots.contains(slot1.getAllocatedSlot().getSlotAllocationId()));
    assertFalse(allocatedSlots.contains(slot2.getAllocatedSlot().getSlotAllocationId()));
    assertTrue(allocatedSlots.contains(slot3.getAllocatedSlot().getSlotAllocationId()));
    assertTrue(allocatedSlots.containResource(resource1));
    assertTrue(allocatedSlots.containResource(resource2));
    assertEquals(slot1, allocatedSlots.get(allocation1));
    assertNull(allocatedSlots.get(allocation2));
    assertEquals(slot3, allocatedSlots.get(allocation3));
    assertEquals(1, allocatedSlots.getSlotsForTaskManager(resource1).size());
    assertEquals(1, allocatedSlots.getSlotsForTaskManager(resource2).size());
    assertEquals(2, allocatedSlots.size());
    allocatedSlots.remove(slot1);
    assertFalse(allocatedSlots.contains(slot1.getAllocatedSlot().getSlotAllocationId()));
    assertFalse(allocatedSlots.contains(slot2.getAllocatedSlot().getSlotAllocationId()));
    assertTrue(allocatedSlots.contains(slot3.getAllocatedSlot().getSlotAllocationId()));
    assertFalse(allocatedSlots.containResource(resource1));
    assertTrue(allocatedSlots.containResource(resource2));
    assertNull(allocatedSlots.get(allocation1));
    assertNull(allocatedSlots.get(allocation2));
    assertEquals(slot3, allocatedSlots.get(allocation3));
    assertEquals(0, allocatedSlots.getSlotsForTaskManager(resource1).size());
    assertEquals(1, allocatedSlots.getSlotsForTaskManager(resource2).size());
    assertEquals(1, allocatedSlots.size());
    allocatedSlots.remove(slot3);
    assertFalse(allocatedSlots.contains(slot1.getAllocatedSlot().getSlotAllocationId()));
    assertFalse(allocatedSlots.contains(slot2.getAllocatedSlot().getSlotAllocationId()));
    assertFalse(allocatedSlots.contains(slot3.getAllocatedSlot().getSlotAllocationId()));
    assertFalse(allocatedSlots.containResource(resource1));
    assertFalse(allocatedSlots.containResource(resource2));
    assertNull(allocatedSlots.get(allocation1));
    assertNull(allocatedSlots.get(allocation2));
    assertNull(allocatedSlots.get(allocation3));
    assertEquals(0, allocatedSlots.getSlotsForTaskManager(resource1).size());
    assertEquals(0, allocatedSlots.getSlotsForTaskManager(resource2).size());
    assertEquals(0, allocatedSlots.size());
}
Also used : ResourceID(org.apache.flink.runtime.clusterframework.types.ResourceID) AllocationID(org.apache.flink.runtime.clusterframework.types.AllocationID) AllocatedSlot(org.apache.flink.runtime.jobmanager.slots.AllocatedSlot) Test(org.junit.Test)

Example 55 with ResourceID

use of org.apache.flink.runtime.clusterframework.types.ResourceID in project flink by apache.

the class SlotManagerTest method testNotifyTaskManagerFailure.

@Test
public void testNotifyTaskManagerFailure() {
    TestingSlotManager slotManager = new TestingSlotManager();
    ResourceID resource1 = ResourceID.generate();
    ResourceID resource2 = ResourceID.generate();
    ResourceSlot slot11 = new ResourceSlot(new SlotID(resource1, 1), DEFAULT_TESTING_PROFILE, taskExecutorRegistration);
    ResourceSlot slot12 = new ResourceSlot(new SlotID(resource1, 2), DEFAULT_TESTING_PROFILE, taskExecutorRegistration);
    ResourceSlot slot21 = new ResourceSlot(new SlotID(resource2, 1), DEFAULT_TESTING_PROFILE, taskExecutorRegistration);
    ResourceSlot slot22 = new ResourceSlot(new SlotID(resource2, 2), DEFAULT_TESTING_PROFILE, taskExecutorRegistration);
    slotManager.addFreeSlot(slot11);
    slotManager.addFreeSlot(slot21);
    slotManager.requestSlot(new SlotRequest(new JobID(), new AllocationID(), DEFAULT_TESTING_PROFILE));
    slotManager.requestSlot(new SlotRequest(new JobID(), new AllocationID(), DEFAULT_TESTING_PROFILE));
    assertEquals(2, slotManager.getAllocatedSlotCount());
    assertEquals(0, slotManager.getFreeSlotCount());
    assertEquals(0, slotManager.getPendingRequestCount());
    slotManager.addFreeSlot(slot12);
    slotManager.addFreeSlot(slot22);
    assertEquals(2, slotManager.getAllocatedSlotCount());
    assertEquals(2, slotManager.getFreeSlotCount());
    assertEquals(0, slotManager.getPendingRequestCount());
    slotManager.notifyTaskManagerFailure(resource2);
    assertEquals(1, slotManager.getAllocatedSlotCount());
    assertEquals(1, slotManager.getFreeSlotCount());
    assertEquals(0, slotManager.getPendingRequestCount());
    // notify an not exist resource failure
    slotManager.notifyTaskManagerFailure(ResourceID.generate());
    assertEquals(1, slotManager.getAllocatedSlotCount());
    assertEquals(1, slotManager.getFreeSlotCount());
    assertEquals(0, slotManager.getPendingRequestCount());
}
Also used : SlotID(org.apache.flink.runtime.clusterframework.types.SlotID) ResourceID(org.apache.flink.runtime.clusterframework.types.ResourceID) AllocationID(org.apache.flink.runtime.clusterframework.types.AllocationID) SlotRequest(org.apache.flink.runtime.resourcemanager.SlotRequest) ResourceSlot(org.apache.flink.runtime.clusterframework.types.ResourceSlot) JobID(org.apache.flink.api.common.JobID) Test(org.junit.Test)

Aggregations

ResourceID (org.apache.flink.runtime.clusterframework.types.ResourceID)74 Test (org.junit.Test)48 TaskManagerLocation (org.apache.flink.runtime.taskmanager.TaskManagerLocation)25 Time (org.apache.flink.api.common.time.Time)18 UUID (java.util.UUID)16 JobID (org.apache.flink.api.common.JobID)16 Configuration (org.apache.flink.configuration.Configuration)14 AllocationID (org.apache.flink.runtime.clusterframework.types.AllocationID)13 JavaTestKit (akka.testkit.JavaTestKit)12 MetricRegistry (org.apache.flink.runtime.metrics.MetricRegistry)12 InetAddress (java.net.InetAddress)11 SlotID (org.apache.flink.runtime.clusterframework.types.SlotID)10 HeartbeatServices (org.apache.flink.runtime.heartbeat.HeartbeatServices)10 TestingHighAvailabilityServices (org.apache.flink.runtime.highavailability.TestingHighAvailabilityServices)10 SlotRequest (org.apache.flink.runtime.resourcemanager.SlotRequest)10 IOManager (org.apache.flink.runtime.io.disk.iomanager.IOManager)9 NetworkEnvironment (org.apache.flink.runtime.io.network.NetworkEnvironment)9 ActorTaskManagerGateway (org.apache.flink.runtime.jobmanager.slots.ActorTaskManagerGateway)9 MemoryManager (org.apache.flink.runtime.memory.MemoryManager)9 TestingSerialRpcService (org.apache.flink.runtime.rpc.TestingSerialRpcService)9