Search in sources :

Example 1 with ScanQueryView

use of org.apache.ignite.spi.systemview.view.ScanQueryView in project ignite by apache.

the class SystemViewSelfTest method testScanQuery.

/**
 */
@Test
public void testScanQuery() throws Exception {
    try (IgniteEx g0 = startGrid(0);
        IgniteEx g1 = startGrid(1);
        IgniteEx client1 = startClientGrid("client-1");
        IgniteEx client2 = startClientGrid("client-2")) {
        IgniteCache<Integer, Integer> cache1 = client1.createCache(new CacheConfiguration<Integer, Integer>("cache1").setGroupName("group1"));
        IgniteCache<Integer, Integer> cache2 = client2.createCache("cache2");
        for (int i = 0; i < 100; i++) {
            cache1.put(i, i);
            cache2.put(i, i);
        }
        SystemView<ScanQueryView> qrySysView0 = g0.context().systemView().view(SCAN_QRY_SYS_VIEW);
        SystemView<ScanQueryView> qrySysView1 = g1.context().systemView().view(SCAN_QRY_SYS_VIEW);
        assertNotNull(qrySysView0);
        assertNotNull(qrySysView1);
        assertEquals(0, qrySysView0.size());
        assertEquals(0, qrySysView1.size());
        QueryCursor<Integer> qryRes1 = cache1.query(new ScanQuery<Integer, Integer>().setFilter(new TestPredicate()).setPageSize(10), new TestTransformer());
        QueryCursor<?> qryRes2 = cache2.withKeepBinary().query(new ScanQuery<>().setPageSize(20));
        assertTrue(qryRes1.iterator().hasNext());
        assertTrue(qryRes2.iterator().hasNext());
        checkScanQueryView(client1, client2, qrySysView0);
        checkScanQueryView(client1, client2, qrySysView1);
        qryRes1.close();
        qryRes2.close();
        boolean res = waitForCondition(() -> qrySysView0.size() + qrySysView1.size() == 0, 5_000);
        assertTrue(res);
    }
}
Also used : ScanQuery(org.apache.ignite.cache.query.ScanQuery) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ScanQueryView(org.apache.ignite.spi.systemview.view.ScanQueryView) IgniteEx(org.apache.ignite.internal.IgniteEx) CacheConfiguration(org.apache.ignite.configuration.CacheConfiguration) Test(org.junit.Test) GridCommonAbstractTest(org.apache.ignite.testframework.junits.common.GridCommonAbstractTest)

Example 2 with ScanQueryView

use of org.apache.ignite.spi.systemview.view.ScanQueryView in project ignite by apache.

the class SystemViewSelfTest method testLocalScanQuery.

/**
 */
@Test
public void testLocalScanQuery() throws Exception {
    try (IgniteEx g0 = startGrid(0)) {
        IgniteCache<Integer, Integer> cache1 = g0.createCache(new CacheConfiguration<Integer, Integer>("cache1").setGroupName("group1"));
        int part = g0.affinity("cache1").primaryPartitions(g0.localNode())[0];
        List<Integer> partKeys = partitionKeys(cache1, part, 11, 0);
        for (Integer key : partKeys) cache1.put(key, key);
        SystemView<ScanQueryView> qrySysView0 = g0.context().systemView().view(SCAN_QRY_SYS_VIEW);
        assertNotNull(qrySysView0);
        assertEquals(0, qrySysView0.size());
        QueryCursor<Integer> qryRes1 = cache1.query(new ScanQuery<Integer, Integer>().setFilter(new TestPredicate()).setLocal(true).setPartition(part).setPageSize(10), new TestTransformer());
        assertTrue(qryRes1.iterator().hasNext());
        boolean res = waitForCondition(() -> qrySysView0.size() > 0, 5_000);
        assertTrue(res);
        ScanQueryView view = qrySysView0.iterator().next();
        assertEquals(g0.localNode().id(), view.originNodeId());
        assertEquals(0, view.queryId());
        assertEquals("cache1", view.cacheName());
        assertEquals(cacheId("cache1"), view.cacheId());
        assertEquals(cacheGroupId("cache1", "group1"), view.cacheGroupId());
        assertEquals("group1", view.cacheGroupName());
        assertTrue(view.startTime() <= System.currentTimeMillis());
        assertTrue(view.duration() >= 0);
        assertFalse(view.canceled());
        assertEquals(TEST_PREDICATE, view.filter());
        assertTrue(view.local());
        assertEquals(part, view.partition());
        assertEquals(toStringSafe(g0.context().discovery().topologyVersionEx()), view.topology());
        assertEquals(TEST_TRANSFORMER, view.transformer());
        assertFalse(view.keepBinary());
        assertNull(view.subjectId());
        assertNull(view.taskName());
        qryRes1.close();
        res = waitForCondition(() -> qrySysView0.size() == 0, 5_000);
        assertTrue(res);
    }
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ScanQueryView(org.apache.ignite.spi.systemview.view.ScanQueryView) IgniteEx(org.apache.ignite.internal.IgniteEx) CacheConfiguration(org.apache.ignite.configuration.CacheConfiguration) Test(org.junit.Test) GridCommonAbstractTest(org.apache.ignite.testframework.junits.common.GridCommonAbstractTest)

Example 3 with ScanQueryView

use of org.apache.ignite.spi.systemview.view.ScanQueryView in project ignite by apache.

the class SystemViewSelfTest method checkScanQueryView.

/**
 */
private void checkScanQueryView(IgniteEx client1, IgniteEx client2, SystemView<ScanQueryView> qrySysView) throws Exception {
    boolean res = waitForCondition(() -> qrySysView.size() > 1, 5_000);
    assertTrue(res);
    Consumer<ScanQueryView> cache1checker = view -> {
        assertEquals(client1.localNode().id(), view.originNodeId());
        assertTrue(view.queryId() != 0);
        assertEquals("cache1", view.cacheName());
        assertEquals(cacheId("cache1"), view.cacheId());
        assertEquals(cacheGroupId("cache1", "group1"), view.cacheGroupId());
        assertEquals("group1", view.cacheGroupName());
        assertTrue(view.startTime() <= System.currentTimeMillis());
        assertTrue(view.duration() >= 0);
        assertFalse(view.canceled());
        assertEquals(TEST_PREDICATE, view.filter());
        assertFalse(view.local());
        assertEquals(-1, view.partition());
        assertEquals(toStringSafe(client1.context().discovery().topologyVersionEx()), view.topology());
        assertEquals(TEST_TRANSFORMER, view.transformer());
        assertFalse(view.keepBinary());
        assertNull(view.subjectId());
        assertNull(view.taskName());
        assertEquals(10, view.pageSize());
    };
    Consumer<ScanQueryView> cache2checker = view -> {
        assertEquals(client2.localNode().id(), view.originNodeId());
        assertTrue(view.queryId() != 0);
        assertEquals("cache2", view.cacheName());
        assertEquals(cacheId("cache2"), view.cacheId());
        assertEquals(cacheGroupId("cache2", null), view.cacheGroupId());
        assertEquals("cache2", view.cacheGroupName());
        assertTrue(view.startTime() <= System.currentTimeMillis());
        assertTrue(view.duration() >= 0);
        assertFalse(view.canceled());
        assertNull(view.filter());
        assertFalse(view.local());
        assertEquals(-1, view.partition());
        assertEquals(toStringSafe(client2.context().discovery().topologyVersionEx()), view.topology());
        assertNull(view.transformer());
        assertTrue(view.keepBinary());
        assertNull(view.subjectId());
        assertNull(view.taskName());
        assertEquals(20, view.pageSize());
    };
    boolean found1 = false;
    boolean found2 = false;
    for (ScanQueryView view : qrySysView) {
        if ("cache2".equals(view.cacheName())) {
            cache2checker.accept(view);
            found1 = true;
        } else {
            cache1checker.accept(view);
            found2 = true;
        }
    }
    assertTrue(found1 && found2);
}
Also used : Arrays(java.util.Arrays) GridCacheUtils.cacheId(org.apache.ignite.internal.processors.cache.GridCacheUtils.cacheId) StripedExecutorTaskView(org.apache.ignite.spi.systemview.view.StripedExecutorTaskView) CountDownLatchView(org.apache.ignite.spi.systemview.view.datastructures.CountDownLatchView) QueueView(org.apache.ignite.spi.systemview.view.datastructures.QueueView) GridTestUtils.runAsync(org.apache.ignite.testframework.GridTestUtils.runAsync) TestObjectEnum(org.apache.ignite.internal.binary.mutabletest.GridBinaryTestClasses.TestObjectEnum) ComputeTaskView(org.apache.ignite.spi.systemview.view.ComputeTaskView) Map(java.util.Map) CachePagesListView(org.apache.ignite.spi.systemview.view.CachePagesListView) Cache(javax.cache.Cache) ComputeTask(org.apache.ignite.compute.ComputeTask) SEQUENCES_VIEW(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.SEQUENCES_VIEW) NodeAttributeView(org.apache.ignite.spi.systemview.view.NodeAttributeView) IgniteUtils.toStringSafe(org.apache.ignite.internal.util.IgniteUtils.toStringSafe) BaselineNodeView(org.apache.ignite.spi.systemview.view.BaselineNodeView) DEFAULT_DS_GROUP_NAME(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.DEFAULT_DS_GROUP_NAME) BaselineNodeAttributeViewWalker(org.apache.ignite.internal.managers.systemview.walker.BaselineNodeAttributeViewWalker) SystemView(org.apache.ignite.spi.systemview.view.SystemView) TransactionView(org.apache.ignite.spi.systemview.view.TransactionView) AtomicStampedView(org.apache.ignite.spi.systemview.view.datastructures.AtomicStampedView) IgniteSet(org.apache.ignite.IgniteSet) Set(java.util.Set) IgniteRunnable(org.apache.ignite.lang.IgniteRunnable) BASELINE_NODES_SYS_VIEW(org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.BASELINE_NODES_SYS_VIEW) IgniteCache(org.apache.ignite.IgniteCache) CountDownLatch(java.util.concurrent.CountDownLatch) BaselineNodeAttributeView(org.apache.ignite.spi.systemview.view.BaselineNodeAttributeView) LONGS_VIEW(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.LONGS_VIEW) QueryCursor(org.apache.ignite.cache.query.QueryCursor) PagesListView(org.apache.ignite.spi.systemview.view.PagesListView) PESSIMISTIC(org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC) ClientConnectionView(org.apache.ignite.spi.systemview.view.ClientConnectionView) DFLT_ATOMIC_SEQUENCE_RESERVE_SIZE(org.apache.ignite.configuration.AtomicConfiguration.DFLT_ATOMIC_SEQUENCE_RESERVE_SIZE) ScanQuery(org.apache.ignite.cache.query.ScanQuery) IgniteCompute(org.apache.ignite.IgniteCompute) SETS_VIEW(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.SETS_VIEW) GridFunc.alwaysTrue(org.apache.ignite.internal.util.lang.GridFunc.alwaysTrue) IgniteBiPredicate(org.apache.ignite.lang.IgniteBiPredicate) ComputeJob(org.apache.ignite.compute.ComputeJob) DEFAULT_VOLATILE_DS_GROUP_NAME(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.DEFAULT_VOLATILE_DS_GROUP_NAME) ClusterState(org.apache.ignite.cluster.ClusterState) REFERENCES_VIEW(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.REFERENCES_VIEW) U(org.apache.ignite.internal.util.typedef.internal.U) NODE_METRICS_SYS_VIEW(org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.NODE_METRICS_SYS_VIEW) BINARY_METADATA_VIEW(org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.BINARY_METADATA_VIEW) CACHE_GRP_IO_VIEW(org.apache.ignite.internal.processors.cache.GridCacheProcessor.CACHE_GRP_IO_VIEW) DISTRIBUTED_METASTORE_VIEW(org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.DISTRIBUTED_METASTORE_VIEW) GridCacheDatabaseSharedManager(org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager) Lists(com.google.common.collect.Lists) ClusterNode(org.apache.ignite.cluster.ClusterNode) ComputeJobResult(org.apache.ignite.compute.ComputeJobResult) IgniteClient(org.apache.ignite.client.IgniteClient) IgniteAtomicReference(org.apache.ignite.IgniteAtomicReference) METASTORAGE_CACHE_NAME(org.apache.ignite.internal.processors.cache.persistence.metastorage.MetaStorage.METASTORAGE_CACHE_NAME) IgniteAtomicStamped(org.apache.ignite.IgniteAtomicStamped) STREAM_POOL_QUEUE_VIEW(org.apache.ignite.internal.processors.pool.PoolProcessor.STREAM_POOL_QUEUE_VIEW) TASKS_VIEW(org.apache.ignite.internal.processors.task.GridTaskProcessor.TASKS_VIEW) Properties(java.util.Properties) QUEUES_VIEW(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.QUEUES_VIEW) BrokenBarrierException(java.util.concurrent.BrokenBarrierException) CacheGroupIoView(org.apache.ignite.spi.systemview.view.CacheGroupIoView) Test(org.junit.Test) IgniteQueue(org.apache.ignite.IgniteQueue) AtomicSequenceView(org.apache.ignite.spi.systemview.view.datastructures.AtomicSequenceView) Field(java.lang.reflect.Field) ContinuousQuery(org.apache.ignite.cache.query.ContinuousQuery) SCAN_QRY_SYS_VIEW(org.apache.ignite.internal.managers.systemview.ScanQuerySystemView.SCAN_QRY_SYS_VIEW) NodeMetricsView(org.apache.ignite.spi.systemview.view.NodeMetricsView) CacheConfiguration(org.apache.ignite.configuration.CacheConfiguration) SNAPSHOT_SYS_VIEW(org.apache.ignite.spi.systemview.view.SnapshotView.SNAPSHOT_SYS_VIEW) CachePagesListViewWalker(org.apache.ignite.internal.managers.systemview.walker.CachePagesListViewWalker) CQ_SYS_VIEW(org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.CQ_SYS_VIEW) NODE_ATTRIBUTES_SYS_VIEW(org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.NODE_ATTRIBUTES_SYS_VIEW) CacheAtomicityMode(org.apache.ignite.cache.CacheAtomicityMode) IgniteInternalFuture(org.apache.ignite.internal.IgniteInternalFuture) IgniteJdbcThinDriver(org.apache.ignite.IgniteJdbcThinDriver) StripedExecutor(org.apache.ignite.internal.util.StripedExecutor) DATA_REGION_PAGE_LIST_VIEW(org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager.DATA_REGION_PAGE_LIST_VIEW) Connection(java.sql.Connection) ProtocolVersion(org.apache.ignite.internal.client.thin.ProtocolVersion) SERIALIZABLE(org.apache.ignite.transactions.TransactionIsolation.SERIALIZABLE) IgniteAtomicSequence(org.apache.ignite.IgniteAtomicSequence) DistributedMetaStorage(org.apache.ignite.internal.processors.metastorage.DistributedMetaStorage) Transaction(org.apache.ignite.transactions.Transaction) FiltrableSystemView(org.apache.ignite.spi.systemview.view.FiltrableSystemView) CACHE_GRP_PAGE_LIST_VIEW(org.apache.ignite.internal.processors.cache.GridCacheProcessor.CACHE_GRP_PAGE_LIST_VIEW) IgniteEx(org.apache.ignite.internal.IgniteEx) METASTORE_VIEW(org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.METASTORE_VIEW) REPEATABLE_READ(org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ) RendezvousAffinityFunction(org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction) IgniteSystemProperties(org.apache.ignite.IgniteSystemProperties) BinaryMetadataView(org.apache.ignite.spi.systemview.view.BinaryMetadataView) IgniteSemaphore(org.apache.ignite.IgniteSemaphore) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ComputeJobResultPolicy(org.apache.ignite.compute.ComputeJobResultPolicy) ClusterNodeView(org.apache.ignite.spi.systemview.view.ClusterNodeView) LOCKS_VIEW(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.LOCKS_VIEW) NODES_SYS_VIEW(org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.NODES_SYS_VIEW) AtomicReferenceView(org.apache.ignite.spi.systemview.view.datastructures.AtomicReferenceView) IgniteLock(org.apache.ignite.IgniteLock) CyclicBarrier(java.util.concurrent.CyclicBarrier) SVCS_VIEW(org.apache.ignite.internal.processors.service.IgniteServiceProcessor.SVCS_VIEW) IgniteCountDownLatch(org.apache.ignite.IgniteCountDownLatch) ServiceView(org.apache.ignite.spi.systemview.view.ServiceView) GridCommonAbstractTest(org.apache.ignite.testframework.junits.common.GridCommonAbstractTest) CLI_CONN_VIEW(org.apache.ignite.internal.processors.odbc.ClientListenerProcessor.CLI_CONN_VIEW) Collection(java.util.Collection) IgniteException(org.apache.ignite.IgniteException) OPTIMISTIC(org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC) LATCHES_VIEW(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.LATCHES_VIEW) VOLATILE_DATA_REGION_NAME(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.VOLATILE_DATA_REGION_NAME) GridTestUtils(org.apache.ignite.testframework.GridTestUtils) Objects(java.util.Objects) Nullable(org.jetbrains.annotations.Nullable) List(java.util.List) ClientConfiguration(org.apache.ignite.configuration.ClientConfiguration) CU(org.apache.ignite.internal.util.typedef.internal.CU) ACTIVE(org.apache.ignite.transactions.TransactionState.ACTIVE) NodeAttributeViewWalker(org.apache.ignite.internal.managers.systemview.walker.NodeAttributeViewWalker) NotNull(org.jetbrains.annotations.NotNull) DummyService(org.apache.ignite.internal.processors.service.DummyService) ContinuousQueryView(org.apache.ignite.spi.systemview.view.ContinuousQueryView) GridCacheUtils.cacheGroupId(org.apache.ignite.internal.processors.cache.GridCacheUtils.cacheGroupId) CacheView(org.apache.ignite.spi.systemview.view.CacheView) GridTestUtils.waitForCondition(org.apache.ignite.testframework.GridTestUtils.waitForCondition) SetView(org.apache.ignite.spi.systemview.view.datastructures.SetView) CACHES_VIEW(org.apache.ignite.internal.processors.cache.ClusterCachesInfo.CACHES_VIEW) AtomicLongView(org.apache.ignite.spi.systemview.view.datastructures.AtomicLongView) IgniteCallable(org.apache.ignite.lang.IgniteCallable) HashSet(java.util.HashSet) SEMAPHORES_VIEW(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.SEMAPHORES_VIEW) SYS_POOL_QUEUE_VIEW(org.apache.ignite.internal.processors.pool.PoolProcessor.SYS_POOL_QUEUE_VIEW) SnapshotView(org.apache.ignite.spi.systemview.view.SnapshotView) ReentrantLockView(org.apache.ignite.spi.systemview.view.datastructures.ReentrantLockView) GridFunc.identity(org.apache.ignite.internal.util.lang.GridFunc.identity) IgniteClosure(org.apache.ignite.lang.IgniteClosure) IgnitePredicate(org.apache.ignite.lang.IgnitePredicate) AtomicConfiguration(org.apache.ignite.configuration.AtomicConfiguration) DataStorageConfiguration(org.apache.ignite.configuration.DataStorageConfiguration) ScanQueryView(org.apache.ignite.spi.systemview.view.ScanQueryView) ServiceConfiguration(org.apache.ignite.services.ServiceConfiguration) MetastorageView(org.apache.ignite.spi.systemview.view.MetastorageView) STAMPED_VIEW(org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.STAMPED_VIEW) F(org.apache.ignite.internal.util.typedef.F) Iterator(java.util.Iterator) TXS_MON_LIST(org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager.TXS_MON_LIST) JdbcConnectionContext(org.apache.ignite.internal.processors.odbc.jdbc.JdbcConnectionContext) CollectionConfiguration(org.apache.ignite.configuration.CollectionConfiguration) CACHE_GRPS_VIEW(org.apache.ignite.internal.processors.cache.ClusterCachesInfo.CACHE_GRPS_VIEW) CacheGroupView(org.apache.ignite.spi.systemview.view.CacheGroupView) TestObjectAllTypes(org.apache.ignite.internal.binary.mutabletest.GridBinaryTestClasses.TestObjectAllTypes) TimeUnit(java.util.concurrent.TimeUnit) Consumer(java.util.function.Consumer) IgniteCacheDatabaseSharedManager(org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager) Ignition(org.apache.ignite.Ignition) IgniteAtomicLong(org.apache.ignite.IgniteAtomicLong) BASELINE_NODE_ATTRIBUTES_SYS_VIEW(org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.BASELINE_NODE_ATTRIBUTES_SYS_VIEW) Collections(java.util.Collections) DataRegionConfiguration(org.apache.ignite.configuration.DataRegionConfiguration) SemaphoreView(org.apache.ignite.spi.systemview.view.datastructures.SemaphoreView) ScanQueryView(org.apache.ignite.spi.systemview.view.ScanQueryView)

Aggregations

AtomicInteger (java.util.concurrent.atomic.AtomicInteger)3 CacheConfiguration (org.apache.ignite.configuration.CacheConfiguration)3 IgniteEx (org.apache.ignite.internal.IgniteEx)3 ScanQueryView (org.apache.ignite.spi.systemview.view.ScanQueryView)3 GridCommonAbstractTest (org.apache.ignite.testframework.junits.common.GridCommonAbstractTest)3 Test (org.junit.Test)3 ScanQuery (org.apache.ignite.cache.query.ScanQuery)2 Lists (com.google.common.collect.Lists)1 Field (java.lang.reflect.Field)1 Connection (java.sql.Connection)1 Arrays (java.util.Arrays)1 Collection (java.util.Collection)1 Collections (java.util.Collections)1 HashSet (java.util.HashSet)1 Iterator (java.util.Iterator)1 List (java.util.List)1 Map (java.util.Map)1 Objects (java.util.Objects)1 Properties (java.util.Properties)1 Set (java.util.Set)1