Example usage for org.apache.cassandra.cql3 UntypedResultSet size

List of usage examples for org.apache.cassandra.cql3 UntypedResultSet size

Introduction

In this page you can find the example usage for org.apache.cassandra.cql3 UntypedResultSet size.

Prototype

public abstract int size();

Source Link

Usage

From source file:org.elassandra.CompactionTests.java

License:Apache License

@Test
public void expiredTtlCompactionTest() throws Exception {
    createIndex("test", Settings.builder().put(IndexMetaData.SETTING_INDEX_ON_COMPACTION, true).build());
    ensureGreen("test");

    long N = 10;// www .  ja  v  a 2 s.c  o  m

    process(ConsistencyLevel.ONE, "CREATE TABLE IF NOT EXISTS test.t1 ( a int,b text, primary key (a) ) WITH "
            + "gc_grace_seconds = 15 "
            + " AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}");
    assertAcked(client().admin().indices().preparePutMapping("test").setType("t1")
            .setSource("{ \"t1\" : { \"discover\" : \".*\", \"_meta\": { \"index_on_compaction\":true } }}")
            .get());

    Map<String, Gauge> gauges = CassandraMetricsRegistry.Metrics.getGauges(new MetricFilter() {
        @Override
        public boolean matches(String name, Metric metric) {
            return name.endsWith("t1");
        }
    });

    int i = 0;
    for (int j = 0; j < N; j++) {
        i++;
        process(ConsistencyLevel.ONE, "insert into test.t1 (a,b) VALUES (?,?)", i, "x" + i);
    }
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(N));
    StorageService.instance.forceKeyspaceFlush("test", "t1");

    for (String s : gauges.keySet())
        System.out.println(s + "=" + gauges.get(s).getValue());
    assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(),
            equalTo(1));

    for (int j = 0; j < N; j++) {
        i++;
        process(ConsistencyLevel.ONE, "insert into test.t1 (a,b) VALUES (?,?) USING TTL 15", i, "y");
    }
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(2 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("b:y")).get().getHits().getTotalHits(),
            equalTo(N));
    StorageService.instance.forceKeyspaceFlush("test", "t1");
    Thread.sleep(2000);
    assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(),
            equalTo(2));

    for (int j = 0; j < N; j++) {
        i++;
        process(ConsistencyLevel.ONE, "insert into test.t1 (a,b) VALUES (?,?)", i, "x" + i);
    }
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(3 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("b:y")).get().getHits().getTotalHits(),
            equalTo(N));
    StorageService.instance.forceKeyspaceFlush("test");
    assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(),
            equalTo(3));

    // force compaction
    StorageService.instance.forceKeyspaceCompaction(true, "test");
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(3 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("b:y")).get().getHits().getTotalHits(),
            equalTo(N));
    assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(),
            equalTo(1));

    for (String s : gauges.keySet())
        System.out.println(s + "=" + gauges.get(s).getValue());

    Thread.sleep(15 * 1000); // wait TTL expiration
    Thread.sleep(20 * 1000); // wait gc_grace_seconds expiration
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(3 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("b:y")).get().getHits().getTotalHits(),
            equalTo(N));

    StorageService.instance.forceKeyspaceFlush("test");
    StorageService.instance.forceKeyspaceCompaction(true, "test");
    assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(),
            equalTo(1));

    UntypedResultSet rs = process(ConsistencyLevel.ONE, "SELECT * FROM test.t1");
    System.out.println("t1.count = " + rs.size());
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(2 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("b:y")).get().getHits().getTotalHits(),
            equalTo(0L));
}

From source file:org.elassandra.CompactionTests.java

License:Apache License

@Test
public void expiredTtlColumnCompactionTest() throws Exception {
    createIndex("test", Settings.builder().put(IndexMetaData.SETTING_INDEX_ON_COMPACTION, true).build());
    ensureGreen("test");

    long N = 10;/*w w  w .j  a v  a  2 s.com*/

    process(ConsistencyLevel.ONE,
            "CREATE TABLE IF NOT EXISTS test.t1 ( a int,b text, c text, primary key (a) ) WITH "
                    + "gc_grace_seconds = 15 "
                    + " AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}");
    assertAcked(client().admin().indices().preparePutMapping("test").setType("t1")
            .setSource("{ \"t1\" : { \"discover\" : \".*\" }}").get());

    Map<String, Gauge> gauges = CassandraMetricsRegistry.Metrics.getGauges(new MetricFilter() {
        @Override
        public boolean matches(String name, Metric metric) {
            return name.endsWith("t1");
        }
    });

    int i = 0;
    for (int j = 0; j < N; j++) {
        i++;
        process(ConsistencyLevel.ONE, "insert into test.t1 (a,b,c) VALUES (?,?,?)", i, "b" + i, "c" + i);
    }
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(N));
    StorageService.instance.forceKeyspaceFlush("test", "t1");

    for (String s : gauges.keySet())
        System.out.println(s + "=" + gauges.get(s).getValue());
    assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(),
            equalTo(1));

    for (int j = 0; j < N; j++) {
        i++;
        process(ConsistencyLevel.ONE, "insert into test.t1 (a,c) VALUES (?,?) ", i, "c" + i);
        process(ConsistencyLevel.ONE, "insert into test.t1 (a,b) VALUES (?,?) USING TTL 15", i, "b" + i);
    }
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(2 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("b:*")).get().getHits().getTotalHits(),
            equalTo(2 * N));
    StorageService.instance.forceKeyspaceFlush("test", "t1");
    assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(),
            equalTo(2));

    // force compaction
    StorageService.instance.forceKeyspaceCompaction(true, "test");
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(2 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("b:*")).get().getHits().getTotalHits(),
            equalTo(2 * N));
    assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(),
            equalTo(1));

    Thread.sleep(15 * 1000); // wait TTL expiration
    Thread.sleep(20 * 1000); // wait gc_grace_seconds expiration
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(2 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("c:*")).get().getHits().getTotalHits(),
            equalTo(2 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("b:*")).get().getHits().getTotalHits(),
            equalTo(2 * N));

    StorageService.instance.forceKeyspaceFlush("test");
    StorageService.instance.forceKeyspaceCompaction(true, "test");
    assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(),
            equalTo(1));

    UntypedResultSet rs = process(ConsistencyLevel.ONE, "SELECT * FROM test.t1");
    System.out.println("t1.count = " + rs.size());
    assertThat(client().prepareSearch().setIndices("test").setTypes("t1")
            .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(2 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("c:*")).get().getHits().getTotalHits(),
            equalTo(2 * N));
    assertThat(
            client().prepareSearch().setIndices("test").setTypes("t1")
                    .setQuery(QueryBuilders.queryStringQuery("b:*")).get().getHits().getTotalHits(),
            equalTo(N));
}