@Override public Object call() throws Exception { int nodeId = nodeIdx.getAndIncrement(); IgniteCache<Integer, Integer> cache = grid(nodeId).cache(DEFAULT_CACHE_NAME); int cntr = 0; while (!done.get()) { int part = ThreadLocalRandom.current().nextInt(ignite(nodeId).affinity(DEFAULT_CACHE_NAME).partitions()); if (cntr++ % 100 == 0) info("Running query [node=" + nodeId + ", part=" + part + ']'); try (QueryCursor<Cache.Entry<Integer, Integer>> cur = cache.query(new ScanQuery<Integer, Integer>(part).setPageSize(5))) { doTestScanQueryCursor(cur, part); } } return null; } }, GRID_CNT);
.setPageSize(data.size() / PAGE_CNT) .setFilter((i, s) -> i >= rangeStart && i < rangeEnd);
new ScanQuery<Integer, Person>((i, p) -> p.getId() >= minId).setPageSize(pageSize), new SqlQuery<Integer, Person>(Person.class, "id >= ?").setArgs(minId).setPageSize(pageSize) );
/** * Reads scan query. * * @param reader Binary reader. * @return Query. */ private Query readScanQuery(BinaryRawReaderEx reader) { boolean loc = reader.readBoolean(); final int pageSize = reader.readInt(); boolean hasPart = reader.readBoolean(); Integer part = hasPart ? reader.readInt() : null; ScanQuery qry = new ScanQuery().setPageSize(pageSize); qry.setPartition(part); Object pred = reader.readObjectDetached(); if (pred != null) qry.setFilter(platformCtx.createCacheEntryFilter(pred, 0)); qry.setLocal(loc); return qry; }
/** * Test metrics for Scan queries. * * @throws Exception In case of error. */ @Test public void testScanQueryNotFullyFetchedMetrics() throws Exception { IgniteCache<Integer, String> cache = grid(0).context().cache().jcache("A"); ScanQuery<Integer, String> qry = new ScanQuery<>(); qry.setPageSize(10); checkQueryNotFullyFetchedMetrics(cache, qry, true); }
new ScanQuery<Integer, String>().setPageSize(data.size() / 10);
/** * Test metrics for Scan queries. * * @throws Exception In case of error. */ @Test public void testScanQueryNotFullyFetchedMetrics() throws Exception { IgniteCache<Integer, String> cache = grid(0).context().cache().jcache("A"); ScanQuery<Integer, String> qry = new ScanQuery<>(); qry.setPageSize(10); checkQueryNotFullyFetchedMetrics(cache, qry, true); }
ScanQuery<Integer, Integer> qry = new ScanQuery<Integer, Integer>(); qry.setPageSize(pageSize);
/** {@inheritDoc} */ @Override public ClientResponse process(ClientConnectionContext ctx) { IgniteCache cache = filterPlatform == FILTER_PLATFORM_JAVA && !isKeepBinary() ? rawCache(ctx) : cache(ctx); ScanQuery qry = new ScanQuery() .setLocal(loc) .setPageSize(pageSize) .setPartition(part) .setFilter(createFilter(ctx)); ctx.incrementCursors(); try { QueryCursor cur = cache.query(qry); ClientCacheEntryQueryCursor cliCur = new ClientCacheEntryQueryCursor(cur, pageSize, ctx); long cursorId = ctx.resources().put(cliCur); cliCur.id(cursorId); return new ClientCacheQueryResponse(requestId(), cliCur); } catch (Exception e) { ctx.decrementCursors(); throw e; } }
else { ScanQuery<Object, Object> qry = new ScanQuery<>(filter); qry.setPageSize(arg.getPageSize()); qry.setLocal(arg.isLocal());
scanQry.setPageSize(1);
/** * Execute scan query. * * @param c Cache to scan. * @param arg Job argument with query parameters. * @return Query cursor. */ private QueryCursor<Cache.Entry<Object, Object>> scan(IgniteCache<Object, Object> c, VisorScanQueryTaskArg arg, IgniteBiPredicate<Object, Object> filter) { ScanQuery<Object, Object> qry = new ScanQuery<>(filter); qry.setPageSize(arg.getPageSize()); qry.setLocal(arg.isLocal()); return c.withKeepBinary().query(qry); }
/** * Reads scan query. * * @param reader Binary reader. * @return Query. */ private Query readScanQuery(BinaryRawReaderEx reader) { boolean loc = reader.readBoolean(); final int pageSize = reader.readInt(); boolean hasPart = reader.readBoolean(); Integer part = hasPart ? reader.readInt() : null; ScanQuery qry = new ScanQuery().setPageSize(pageSize); qry.setPartition(part); Object pred = reader.readObjectDetached(); if (pred != null) qry.setFilter(platformCtx.createCacheEntryFilter(pred, 0)); qry.setLocal(loc); return qry; }
/** {@inheritDoc} */ @Override public ClientResponse process(ClientConnectionContext ctx) { authorize(ctx, SecurityPermission.CACHE_READ); IgniteCache cache = filterPlatform == FILTER_PLATFORM_JAVA && !isKeepBinary() ? rawCache(ctx) : cache(ctx); ScanQuery qry = new ScanQuery() .setLocal(loc) .setPageSize(pageSize) .setPartition(part) .setFilter(createFilter(ctx)); ctx.incrementCursors(); try { QueryCursor cur = cache.query(qry); ClientCacheEntryQueryCursor cliCur = new ClientCacheEntryQueryCursor(cur, pageSize, ctx); long cursorId = ctx.resources().put(cliCur); cliCur.id(cursorId); return new ClientCacheQueryResponse(requestId(), cliCur); } catch (Exception e) { ctx.decrementCursors(); throw e; } }