List of usage examples for org.apache.cassandra.db ConsistencyLevel ONE
ConsistencyLevel ONE
To view the source code for org.apache.cassandra.db ConsistencyLevel ONE.
Click Source Link
From source file:ClientOnlyExample.java
License:Apache License
private static void testWriting() throws Exception { // do some writing. for (int i = 0; i < 100; i++) { RowMutation change = new RowMutation(KEYSPACE, ByteBuffer.wrap(("key" + i).getBytes())); ColumnPath cp = new ColumnPath(COLUMN_FAMILY).setColumn(("colb").getBytes()); change.add(new QueryPath(cp), ByteBuffer.wrap(("value" + i).getBytes()), 0); // don't call change.apply(). The reason is that is makes a static call into Table, which will perform // local storage initialization, which creates local directories. // change.apply(); StorageProxy.mutate(Arrays.asList(change), ConsistencyLevel.ONE); System.out.println("wrote key" + i); }/*from w w w . j a v a 2 s. c o m*/ System.out.println("Done writing."); }
From source file:ClientOnlyExample.java
License:Apache License
private static void testReading() throws Exception { // do some queries. Collection<ByteBuffer> cols = new ArrayList<ByteBuffer>() { {//ww w . ja v a 2 s. c om add(ByteBufferUtil.bytes("colb")); } }; for (int i = 0; i < 100; i++) { List<ReadCommand> commands = new ArrayList<ReadCommand>(); SliceByNamesReadCommand readCommand = new SliceByNamesReadCommand(KEYSPACE, ByteBuffer.wrap(("key" + i).getBytes()), new QueryPath(COLUMN_FAMILY, null, null), cols); readCommand.setDigestQuery(false); commands.add(readCommand); List<Row> rows = StorageProxy.read(commands, ConsistencyLevel.ONE); assert rows.size() == 1; Row row = rows.get(0); ColumnFamily cf = row.cf; if (cf != null) { for (IColumn col : cf.getSortedColumns()) { System.out .println(ByteBufferUtil.string(col.name()) + ", " + ByteBufferUtil.string(col.value())); } } else System.err.println("This output indicates that nothing was read."); } }
From source file:com.datastax.brisk.BriskServer.java
License:Apache License
private LocalOrRemoteBlock getRemoteSubBlock(ByteBuffer blockId, ByteBuffer sblockId, int offset, ColumnParent subBlockDataPath)/*from w ww. j a v a2 s.c o m*/ throws TimedOutException, UnavailableException, InvalidRequestException, NotFoundException { // The column name is the SubBlock id (UUID) ReadCommand rc = new SliceByNamesReadCommand(cfsKeyspace, blockId, subBlockDataPath, Arrays.asList(sblockId)); try { // CL=ONE as there are NOT multiple versions of the blocks. List<Row> rows = StorageProxy.read(Arrays.asList(rc), ConsistencyLevel.ONE); IColumn col = null; try { col = validateAndGetColumn(rows, sblockId); } catch (NotFoundException e) { // This is a best effort to get the value. Sometimes due to the size of // the sublocks, the normal replication may time out leaving a replicate without // the piece of data. Hence we re try with higher CL. rows = StorageProxy.read(Arrays.asList(rc), ConsistencyLevel.QUORUM); } col = validateAndGetColumn(rows, sblockId); ByteBuffer value = col.value(); if (value.remaining() < offset) throw new InvalidRequestException("Invalid offset for block of size: " + value.remaining()); LocalOrRemoteBlock block = new LocalOrRemoteBlock(); if (offset > 0) { ByteBuffer offsetBlock = value.duplicate(); offsetBlock.position(offsetBlock.position() + offset); block.setRemote_block(offsetBlock); } else { block.setRemote_block(value); } return block; } catch (IOException e) { throw new RuntimeException(e); } catch (TimeoutException e) { throw new TimedOutException(); } }
From source file:org.elassandra.cluster.InternalCassandraClusterService.java
License:Apache License
public static ConsistencyLevel consistencyLevelFromString(String value) { switch (value.toUpperCase(Locale.ROOT)) { case "ANY": return ConsistencyLevel.ANY; case "ONE": return ConsistencyLevel.ONE; case "TWO": return ConsistencyLevel.TWO; case "THREE": return ConsistencyLevel.THREE; case "QUORUM": return ConsistencyLevel.QUORUM; case "ALL": return ConsistencyLevel.ALL; case "LOCAL_QUORUM": return ConsistencyLevel.LOCAL_QUORUM; case "EACH_QUORUM": return ConsistencyLevel.EACH_QUORUM; case "SERIAL": return ConsistencyLevel.SERIAL; case "LOCAL_SERIAL": return ConsistencyLevel.LOCAL_SERIAL; case "LOCAL_ONE": return ConsistencyLevel.LOCAL_ONE; default:/* w w w .java 2 s .c om*/ throw new IllegalArgumentException("No write consistency match [" + value + "]"); } }
From source file:org.elassandra.cluster.InternalCassandraClusterService.java
License:Apache License
/** * Try to read fresher metadata from cassandra. * @param version extected version// w w w .j av a 2 s . c om * @return */ @Override public MetaData checkForNewMetaData(Long expectedVersion) throws NoPersistedMetaDataException { MetaData localMetaData = readMetaDataAsRow(ConsistencyLevel.ONE); if (localMetaData != null && localMetaData.version() >= expectedVersion) { return localMetaData; } if (localMetaData == null) { throw new NoPersistedMetaDataException("No cluster metadata in " + this.elasticAdminKeyspaceName); } MetaData quorumMetaData = readMetaDataAsRow(this.metadataReadCL); if (quorumMetaData.version() >= expectedVersion) { return quorumMetaData; } return null; }
From source file:org.elassandra.CompactionTests.java
License:Apache License
@Test public void basicCompactionTest() throws Exception { createIndex("test"); ensureGreen("test"); process(ConsistencyLevel.ONE, "CREATE TABLE IF NOT EXISTS test.t1 ( a int,b text, primary key (a) ) WITH " + "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//from w ww .ja v a 2 s. c o m public boolean matches(String name, Metric metric) { return name.endsWith("t1"); } }); int i = 0; for (int j = 0; j < 1000; 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(1000L)); 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 < 1000; 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(2000L)); 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 < 1000; 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(3000L)); 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(3000L)); 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()); // overwrite 1000 docs for (int j = 0; j < 1000; j++) process(ConsistencyLevel.ONE, "insert into test.t1 (a,b) VALUES (?,?)", 1000 + j, "y"); assertThat(client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(3000L)); assertThat( client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.queryStringQuery("b:y")).get().getHits().getTotalHits(), equalTo(1000L)); StorageService.instance.forceKeyspaceFlush("test"); assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(), equalTo(2)); StorageService.instance.forceKeyspaceCompaction(true, "test"); assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(), equalTo(1)); assertThat(client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(3000L)); assertThat( client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.queryStringQuery("b:y")).get().getHits().getTotalHits(), equalTo(1000L)); // remove 1000 docs for (int j = 0; j < 1000; j++) process(ConsistencyLevel.ONE, "delete from test.t1 WHERE a = ?", 1000 + j); assertThat(client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(2000L)); assertThat( client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.queryStringQuery("b:y")).get().getHits().getTotalHits(), equalTo(0L)); StorageService.instance.forceKeyspaceFlush("test"); StorageService.instance.forceKeyspaceCompaction(true, "test"); assertThat(gauges.get("org.apache.cassandra.metrics.Table.LiveSSTableCount.test.t1").getValue(), equalTo(1)); assertThat(client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(2000L)); assertThat( client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.queryStringQuery("b:y")).get().getHits().getTotalHits(), equalTo(00L)); }
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;/*from ww w. jav a 2s . 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 av a 2s.c o m 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)); }
From source file:org.elassandra.IndexBuildTests.java
License:Apache License
public void indexRebuild(int numThread) throws Exception { createIndex("test"); ensureGreen("test"); process(ConsistencyLevel.ONE, "CREATE TABLE IF NOT EXISTS test.t1 ( a int,b text, primary key (a) )"); assertAcked(client().admin().indices().preparePutMapping("test").setType("t1") .setSource("{ \"t1\" : { \"discover\" : \".*\" }}").get()); int i = 0;/*from www.j a v a 2s. com*/ 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)); // close index assertAcked(client().admin().indices().prepareClose("test").get()); for (int j = 0; j < N; j++) { i++; process(ConsistencyLevel.ONE, "insert into test.t1 (a,b) VALUES (?,?)", i, "x" + i); } StorageService.instance.forceKeyspaceFlush("test", "t1"); // open index assertAcked(client().admin().indices().prepareOpen("test").get()); ensureGreen("test"); assertThat(client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(N)); // rebuild_index //StorageService.instance.rebuildSecondaryIndex(numThread, "test", "t1", "elastic_t1_b_idx"); assertThat(client().admin().indices().prepareRebuild("test").setNumThreads(2).get().getFailedShards(), equalTo(0)); assertThat(client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(2 * N)); }
From source file:org.elassandra.IndexBuildTests.java
License:Apache License
@Test public void indexFirstBuildTest() throws Exception { createIndex("test"); ensureGreen("test"); process(ConsistencyLevel.ONE, "CREATE TABLE IF NOT EXISTS test.t1 ( a int,b text, primary key (a) )"); int i = 0;/*from w w w . j av a 2 s . com*/ for (int j = 0; j < N; j++) { i++; process(ConsistencyLevel.ONE, "insert into test.t1 (a,b) VALUES (?,?)", i, "x" + i); } StorageService.instance.forceKeyspaceFlush("test", "t1"); assertAcked(client().admin().indices().preparePutMapping("test").setType("t1") .setSource("{ \"t1\" : { \"discover\" : \".*\" }}").get()); Thread.sleep(2000); assertThat(client().prepareSearch().setIndices("test").setTypes("t1") .setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits(), equalTo(N)); }