Search in sources :

Example 1 with P1

use of org.apache.ignite.internal.util.typedef.P1 in project ignite by apache.

the class TaskCommandHandlerSelfTest method testManyTasksRun.

/**
     * @throws Exception If failed.
     */
public void testManyTasksRun() throws Exception {
    GridClientCompute compute = client.compute();
    for (int i = 0; i < 1000; i++) assertEquals(new Integer("executing".length()), compute.execute(TestTask.class.getName(), "executing"));
    GridClientFactory.stop(client.id(), true);
    IgniteKernal g = (IgniteKernal) grid(0);
    Map<GridRestCommand, GridRestCommandHandler> handlers = U.field(g.context().rest(), "handlers");
    GridTaskCommandHandler taskHnd = (GridTaskCommandHandler) F.find(handlers.values(), null, new P1<GridRestCommandHandler>() {

        @Override
        public boolean apply(GridRestCommandHandler e) {
            return e instanceof GridTaskCommandHandler;
        }
    });
    assertNotNull("GridTaskCommandHandler was not found", taskHnd);
    ConcurrentLinkedHashMap taskDesc = U.field(taskHnd, "taskDescs");
    assertTrue("Task result map size exceeded max value [mapSize=" + taskDesc.sizex() + ", " + "maxSize=" + MAX_TASK_RESULTS + ']', taskDesc.sizex() <= MAX_TASK_RESULTS);
}
Also used : GridClientCompute(org.apache.ignite.internal.client.GridClientCompute) GridRestCommandHandler(org.apache.ignite.internal.processors.rest.handlers.GridRestCommandHandler) IgniteKernal(org.apache.ignite.internal.IgniteKernal) P1(org.apache.ignite.internal.util.typedef.P1) ConcurrentLinkedHashMap(org.jsr166.ConcurrentLinkedHashMap) GridTaskCommandHandler(org.apache.ignite.internal.processors.rest.handlers.task.GridTaskCommandHandler)

Example 2 with P1

use of org.apache.ignite.internal.util.typedef.P1 in project ignite by apache.

the class GridEventConsumeSelfTest method testApi.

/**
     * @throws Exception If failed.
     */
public void testApi() throws Exception {
    try {
        grid(0).events().stopRemoteListen(null);
    } catch (NullPointerException ignored) {
    // No-op.
    }
    grid(0).events().stopRemoteListen(UUID.randomUUID());
    UUID consumeId = null;
    try {
        consumeId = grid(0).events().remoteListen(new P2<UUID, DiscoveryEvent>() {

            @Override
            public boolean apply(UUID uuid, DiscoveryEvent evt) {
                return false;
            }
        }, new P1<DiscoveryEvent>() {

            @Override
            public boolean apply(DiscoveryEvent e) {
                return false;
            }
        }, EVTS_DISCOVERY);
        assertNotNull(consumeId);
    } finally {
        grid(0).events().stopRemoteListen(consumeId);
    }
    try {
        consumeId = grid(0).events().remoteListen(new P2<UUID, DiscoveryEvent>() {

            @Override
            public boolean apply(UUID uuid, DiscoveryEvent evt) {
                return false;
            }
        }, new P1<DiscoveryEvent>() {

            @Override
            public boolean apply(DiscoveryEvent e) {
                return false;
            }
        });
        assertNotNull(consumeId);
    } finally {
        grid(0).events().stopRemoteListen(consumeId);
    }
    try {
        consumeId = grid(0).events().remoteListen(new P2<UUID, Event>() {

            @Override
            public boolean apply(UUID uuid, Event evt) {
                return false;
            }
        }, new P1<Event>() {

            @Override
            public boolean apply(Event e) {
                return false;
            }
        });
        assertNotNull(consumeId);
    } finally {
        grid(0).events().stopRemoteListen(consumeId);
    }
}
Also used : P1(org.apache.ignite.internal.util.typedef.P1) P2(org.apache.ignite.internal.util.typedef.P2) DiscoveryEvent(org.apache.ignite.events.DiscoveryEvent) DiscoveryEvent(org.apache.ignite.events.DiscoveryEvent) JobEvent(org.apache.ignite.events.JobEvent) Event(org.apache.ignite.events.Event) UUID(java.util.UUID)

Example 3 with P1

use of org.apache.ignite.internal.util.typedef.P1 in project ignite by apache.

the class GridCachePartitionedExplicitLockNodeFailureSelfTest method testLockFromNearOrBackup.

/** @throws Exception If check failed. */
@SuppressWarnings("ErrorNotRethrown")
public void testLockFromNearOrBackup() throws Exception {
    startGrids(GRID_CNT);
    int idx = 0;
    info("Grid will be stopped: " + idx);
    Integer key = 0;
    while (grid(idx).affinity(DEFAULT_CACHE_NAME).mapKeyToNode(key).id().equals(grid(0).localNode().id())) key++;
    ClusterNode node = grid(idx).affinity(DEFAULT_CACHE_NAME).mapKeyToNode(key);
    info("Primary node for key [id=" + node.id() + ", order=" + node.order() + ", key=" + key + ']');
    IgniteCache<Integer, String> cache = jcache(idx);
    cache.put(key, "val");
    Lock lock = cache.lock(key);
    assert lock.tryLock();
    for (int checkIdx = 1; checkIdx < GRID_CNT; checkIdx++) {
        info("Check grid index: " + checkIdx);
        IgniteCache<Integer, String> checkCache = jcache(checkIdx);
        assert !checkCache.lock(key).tryLock();
    }
    Collection<IgniteFuture<?>> futs = new LinkedList<>();
    for (int i = 1; i < GRID_CNT; i++) {
        futs.add(waitForLocalEvent(grid(i).events(), new P1<Event>() {

            @Override
            public boolean apply(Event e) {
                info("Received grid event: " + e);
                return true;
            }
        }, EVT_NODE_LEFT));
    }
    stopGrid(idx);
    for (IgniteFuture<?> fut : futs) fut.get();
    for (int i = 0; i < 3; i++) {
        try {
            for (int checkIdx = 1; checkIdx < GRID_CNT; checkIdx++) {
                info("Check grid index: " + checkIdx);
                IgniteCache<Integer, String> checkCache = jcache(checkIdx);
                assert !checkCache.isLocalLocked(key, false);
            }
        } catch (AssertionError e) {
            if (i == 2)
                throw e;
            U.warn(log, "Check failed (will retry in 1000 ms): " + e.getMessage());
            U.sleep(1000);
            continue;
        }
        // Check passed on all grids.
        break;
    }
}
Also used : ClusterNode(org.apache.ignite.cluster.ClusterNode) P1(org.apache.ignite.internal.util.typedef.P1) IgniteFuture(org.apache.ignite.lang.IgniteFuture) LinkedList(java.util.LinkedList) Lock(java.util.concurrent.locks.Lock) Event(org.apache.ignite.events.Event)

Example 4 with P1

use of org.apache.ignite.internal.util.typedef.P1 in project ignite by apache.

the class ClientAbstractConnectivitySelfTest method testTwoNodesDefaultHostAndPort.

/**
     * Tests correct behavior in case of 2 REST-enabled nodes with default
     * settings.
     *
     * @throws Exception If error occurs.
     */
public void testTwoNodesDefaultHostAndPort() throws Exception {
    startRestNode("grid1", null, null);
    startRestNode("grid2", null, null);
    GridClient cli = startClient(LOOPBACK_IP, defaultRestPort());
    List<GridClientNode> nodes = cli.compute().refreshTopology(true, false);
    assertEquals(2, nodes.size());
    assertTrue(F.forAll(nodes, new P1<GridClientNode>() {

        @Override
        public boolean apply(GridClientNode node) {
            return node.tcpAddresses().contains(LOOPBACK_IP);
        }
    }));
    GridTestUtils.assertOneToOne(nodes, new P1<GridClientNode>() {

        @Override
        public boolean apply(GridClientNode node) {
            try {
                return eqAddresses(getAllIps(), node) && Integer.valueOf(defaultRestPort()).equals(node.attribute(restPortAttributeName()));
            } catch (Exception ignored) {
                return false;
            }
        }
    }, new P1<GridClientNode>() {

        @Override
        public boolean apply(GridClientNode node) {
            try {
                return eqAddresses(getAllIps(), node) && Integer.valueOf(defaultRestPort() + 1).equals(node.attribute(restPortAttributeName()));
            } catch (Exception ignored) {
                return false;
            }
        }
    });
}
Also used : GridClientNode(org.apache.ignite.internal.client.GridClientNode) P1(org.apache.ignite.internal.util.typedef.P1) GridClient(org.apache.ignite.internal.client.GridClient) GridClientException(org.apache.ignite.internal.client.GridClientException)

Example 5 with P1

use of org.apache.ignite.internal.util.typedef.P1 in project ignite by apache.

the class GridEventConsumeSelfTest method testNodeJoin.

/**
     * @throws Exception If failed.
     */
public void testNodeJoin() throws Exception {
    final Collection<UUID> nodeIds = new HashSet<>();
    final AtomicInteger cnt = new AtomicInteger();
    final CountDownLatch latch = new CountDownLatch(GRID_CNT + 1);
    UUID consumeId = grid(0).events().remoteListen(notSerializableProxy(new P2<UUID, Event>() {

        @Override
        public boolean apply(UUID nodeId, Event evt) {
            info("Event from " + nodeId + " [" + evt.shortDisplay() + ']');
            assertEquals(EVT_JOB_STARTED, evt.type());
            nodeIds.add(nodeId);
            cnt.incrementAndGet();
            latch.countDown();
            return true;
        }
    }), notSerializableProxy(new P1<Event>() {

        @Override
        public boolean apply(Event evt) {
            return evt.type() == EVT_JOB_STARTED;
        }
    }), EVT_JOB_STARTED, EVT_JOB_FINISHED);
    try {
        assertNotNull(consumeId);
        include = true;
        startGrid("anotherGrid");
        grid(0).compute().broadcast(F.noop());
        assert latch.await(2, SECONDS);
        assertEquals(GRID_CNT + 1, nodeIds.size());
        assertEquals(GRID_CNT + 1, cnt.get());
    } finally {
        stopGrid("anotherGrid");
        grid(0).events().stopRemoteListen(consumeId);
    }
}
Also used : P1(org.apache.ignite.internal.util.typedef.P1) P2(org.apache.ignite.internal.util.typedef.P2) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) DiscoveryEvent(org.apache.ignite.events.DiscoveryEvent) JobEvent(org.apache.ignite.events.JobEvent) Event(org.apache.ignite.events.Event) UUID(java.util.UUID) CountDownLatch(java.util.concurrent.CountDownLatch) HashSet(java.util.HashSet) GridConcurrentHashSet(org.apache.ignite.internal.util.GridConcurrentHashSet)

Aggregations

P1 (org.apache.ignite.internal.util.typedef.P1)11 UUID (java.util.UUID)6 ClusterNode (org.apache.ignite.cluster.ClusterNode)5 Event (org.apache.ignite.events.Event)4 Ignite (org.apache.ignite.Ignite)3 LinkedList (java.util.LinkedList)2 DiscoveryEvent (org.apache.ignite.events.DiscoveryEvent)2 JobEvent (org.apache.ignite.events.JobEvent)2 GridNodePredicate (org.apache.ignite.internal.util.lang.GridNodePredicate)2 P2 (org.apache.ignite.internal.util.typedef.P2)2 IgniteFuture (org.apache.ignite.lang.IgniteFuture)2 IgnitePredicate (org.apache.ignite.lang.IgnitePredicate)2 ArrayList (java.util.ArrayList)1 Collection (java.util.Collection)1 HashSet (java.util.HashSet)1 CountDownLatch (java.util.concurrent.CountDownLatch)1 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1 Lock (java.util.concurrent.locks.Lock)1 IgniteCheckedException (org.apache.ignite.IgniteCheckedException)1 CacheRebalancingEvent (org.apache.ignite.events.CacheRebalancingEvent)1