Search in sources :

Example 1 with PROTOCOL_VERSION

use of org.apache.cassandra.fql.FullQueryLogger.PROTOCOL_VERSION in project cassandra by apache.

the class FullQueryLoggerTest method assertRoundTripQuery.

private void assertRoundTripQuery(@Nullable String keyspace) {
    try (ChronicleQueue queue = SingleChronicleQueueBuilder.single(tempDir.toFile()).rollCycle(RollCycles.TEST_SECONDLY).build()) {
        ExcerptTailer tailer = queue.createTailer();
        assertTrue(tailer.readDocument(wire -> {
            assertEquals(0, wire.read(VERSION).int16());
            assertEquals(SINGLE_QUERY, wire.read(TYPE).text());
            assertEquals(1L, wire.read(QUERY_START_TIME).int64());
            ProtocolVersion protocolVersion = ProtocolVersion.decode(wire.read(PROTOCOL_VERSION).int32(), true);
            assertEquals(ProtocolVersion.CURRENT, protocolVersion);
            QueryOptions queryOptions = QueryOptions.codec.decode(Unpooled.wrappedBuffer(wire.read(QUERY_OPTIONS).bytes()), protocolVersion);
            compareQueryOptions(QueryOptions.DEFAULT, queryOptions);
            String wireKeyspace = wire.read(FullQueryLogger.KEYSPACE).text();
            assertEquals(keyspace, wireKeyspace);
            assertEquals("foo", wire.read(QUERY).text());
        }));
    }
}
Also used : Arrays(java.util.Arrays) BATCH_TYPE(org.apache.cassandra.fql.FullQueryLogger.BATCH_TYPE) File(org.apache.cassandra.io.util.File) StringUtils(org.apache.commons.lang3.StringUtils) ByteBuffer(java.nio.ByteBuffer) GENERATED_NOW_IN_SECONDS(org.apache.cassandra.fql.FullQueryLogger.GENERATED_NOW_IN_SECONDS) Unpooled(io.netty.buffer.Unpooled) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) SINGLE_QUERY(org.apache.cassandra.fql.FullQueryLogger.SINGLE_QUERY) After(org.junit.After) VERSION(org.apache.cassandra.fql.FullQueryLogger.VERSION) Path(java.nio.file.Path) ExcerptTailer(net.openhft.chronicle.queue.ExcerptTailer) QueryState(org.apache.cassandra.service.QueryState) ChronicleQueue(net.openhft.chronicle.queue.ChronicleQueue) Util(org.apache.cassandra.Util) QUERY(org.apache.cassandra.fql.FullQueryLogger.QUERY) SingleChronicleQueueBuilder(net.openhft.chronicle.queue.impl.single.SingleChronicleQueueBuilder) List(java.util.List) FileUtils(org.apache.cassandra.io.util.FileUtils) Assert.assertFalse(org.junit.Assert.assertFalse) BinLogTest(org.apache.cassandra.utils.binlog.BinLogTest) VALUES(org.apache.cassandra.fql.FullQueryLogger.VALUES) ObjectSizes(org.apache.cassandra.utils.ObjectSizes) BeforeClass(org.junit.BeforeClass) CQLTester(org.apache.cassandra.cql3.CQLTester) BatchStatement(org.apache.cassandra.cql3.statements.BatchStatement) ArrayList(java.util.ArrayList) BATCH(org.apache.cassandra.fql.FullQueryLogger.BATCH) PROTOCOL_VERSION(org.apache.cassandra.fql.FullQueryLogger.PROTOCOL_VERSION) Query(org.apache.cassandra.fql.FullQueryLogger.Query) ProtocolVersion(org.apache.cassandra.transport.ProtocolVersion) LinkedList(java.util.LinkedList) Nullable(javax.annotation.Nullable) QUERY_START_TIME(org.apache.cassandra.fql.FullQueryLogger.QUERY_START_TIME) Semaphore(java.util.concurrent.Semaphore) ClientState(org.apache.cassandra.service.ClientState) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) TYPE(org.apache.cassandra.fql.FullQueryLogger.TYPE) Batch(org.apache.cassandra.fql.FullQueryLogger.Batch) GENERATED_TIMESTAMP(org.apache.cassandra.fql.FullQueryLogger.GENERATED_TIMESTAMP) WireOut(net.openhft.chronicle.wire.WireOut) ValueIn(net.openhft.chronicle.wire.ValueIn) RollCycles(net.openhft.chronicle.queue.RollCycles) Type(org.apache.cassandra.cql3.statements.BatchStatement.Type) QUERY_OPTIONS(org.apache.cassandra.fql.FullQueryLogger.QUERY_OPTIONS) Collections(java.util.Collections) QueryOptions(org.apache.cassandra.cql3.QueryOptions) Assert.assertEquals(org.junit.Assert.assertEquals) QUERIES(org.apache.cassandra.fql.FullQueryLogger.QUERIES) ChronicleQueue(net.openhft.chronicle.queue.ChronicleQueue) ProtocolVersion(org.apache.cassandra.transport.ProtocolVersion) QueryOptions(org.apache.cassandra.cql3.QueryOptions) ExcerptTailer(net.openhft.chronicle.queue.ExcerptTailer)

Example 2 with PROTOCOL_VERSION

use of org.apache.cassandra.fql.FullQueryLogger.PROTOCOL_VERSION in project cassandra by apache.

the class FullQueryLoggerTest method assertRoundTripBatch.

private void assertRoundTripBatch(@Nullable String keyspace) {
    try (ChronicleQueue queue = SingleChronicleQueueBuilder.single(tempDir.toFile()).rollCycle(RollCycles.TEST_SECONDLY).build()) {
        ExcerptTailer tailer = queue.createTailer();
        assertTrue(tailer.readDocument(wire -> {
            assertEquals(0, wire.read(VERSION).int16());
            assertEquals(BATCH, wire.read(TYPE).text());
            assertEquals(1L, wire.read(QUERY_START_TIME).int64());
            ProtocolVersion protocolVersion = ProtocolVersion.decode(wire.read(PROTOCOL_VERSION).int32(), true);
            assertEquals(ProtocolVersion.CURRENT, protocolVersion);
            QueryOptions queryOptions = QueryOptions.codec.decode(Unpooled.wrappedBuffer(wire.read(QUERY_OPTIONS).bytes()), protocolVersion);
            compareQueryOptions(QueryOptions.DEFAULT, queryOptions);
            assertEquals(Long.MIN_VALUE, wire.read(GENERATED_TIMESTAMP).int64());
            assertEquals(Integer.MIN_VALUE, wire.read(GENERATED_NOW_IN_SECONDS).int32());
            assertEquals(keyspace, wire.read(FullQueryLogger.KEYSPACE).text());
            assertEquals("UNLOGGED", wire.read(BATCH_TYPE).text());
            ValueIn in = wire.read(QUERIES);
            assertEquals(2, in.int32());
            assertEquals("foo1", in.text());
            assertEquals("foo2", in.text());
            in = wire.read(VALUES);
            assertEquals(2, in.int32());
            assertEquals(2, in.int32());
            assertTrue(Arrays.equals(new byte[1], in.bytes()));
            assertTrue(Arrays.equals(new byte[2], in.bytes()));
            assertEquals(0, in.int32());
        }));
    }
}
Also used : Arrays(java.util.Arrays) BATCH_TYPE(org.apache.cassandra.fql.FullQueryLogger.BATCH_TYPE) File(org.apache.cassandra.io.util.File) StringUtils(org.apache.commons.lang3.StringUtils) ByteBuffer(java.nio.ByteBuffer) GENERATED_NOW_IN_SECONDS(org.apache.cassandra.fql.FullQueryLogger.GENERATED_NOW_IN_SECONDS) Unpooled(io.netty.buffer.Unpooled) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) SINGLE_QUERY(org.apache.cassandra.fql.FullQueryLogger.SINGLE_QUERY) After(org.junit.After) VERSION(org.apache.cassandra.fql.FullQueryLogger.VERSION) Path(java.nio.file.Path) ExcerptTailer(net.openhft.chronicle.queue.ExcerptTailer) QueryState(org.apache.cassandra.service.QueryState) ChronicleQueue(net.openhft.chronicle.queue.ChronicleQueue) Util(org.apache.cassandra.Util) QUERY(org.apache.cassandra.fql.FullQueryLogger.QUERY) SingleChronicleQueueBuilder(net.openhft.chronicle.queue.impl.single.SingleChronicleQueueBuilder) List(java.util.List) FileUtils(org.apache.cassandra.io.util.FileUtils) Assert.assertFalse(org.junit.Assert.assertFalse) BinLogTest(org.apache.cassandra.utils.binlog.BinLogTest) VALUES(org.apache.cassandra.fql.FullQueryLogger.VALUES) ObjectSizes(org.apache.cassandra.utils.ObjectSizes) BeforeClass(org.junit.BeforeClass) CQLTester(org.apache.cassandra.cql3.CQLTester) BatchStatement(org.apache.cassandra.cql3.statements.BatchStatement) ArrayList(java.util.ArrayList) BATCH(org.apache.cassandra.fql.FullQueryLogger.BATCH) PROTOCOL_VERSION(org.apache.cassandra.fql.FullQueryLogger.PROTOCOL_VERSION) Query(org.apache.cassandra.fql.FullQueryLogger.Query) ProtocolVersion(org.apache.cassandra.transport.ProtocolVersion) LinkedList(java.util.LinkedList) Nullable(javax.annotation.Nullable) QUERY_START_TIME(org.apache.cassandra.fql.FullQueryLogger.QUERY_START_TIME) Semaphore(java.util.concurrent.Semaphore) ClientState(org.apache.cassandra.service.ClientState) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) TYPE(org.apache.cassandra.fql.FullQueryLogger.TYPE) Batch(org.apache.cassandra.fql.FullQueryLogger.Batch) GENERATED_TIMESTAMP(org.apache.cassandra.fql.FullQueryLogger.GENERATED_TIMESTAMP) WireOut(net.openhft.chronicle.wire.WireOut) ValueIn(net.openhft.chronicle.wire.ValueIn) RollCycles(net.openhft.chronicle.queue.RollCycles) Type(org.apache.cassandra.cql3.statements.BatchStatement.Type) QUERY_OPTIONS(org.apache.cassandra.fql.FullQueryLogger.QUERY_OPTIONS) Collections(java.util.Collections) QueryOptions(org.apache.cassandra.cql3.QueryOptions) Assert.assertEquals(org.junit.Assert.assertEquals) QUERIES(org.apache.cassandra.fql.FullQueryLogger.QUERIES) ValueIn(net.openhft.chronicle.wire.ValueIn) ChronicleQueue(net.openhft.chronicle.queue.ChronicleQueue) ProtocolVersion(org.apache.cassandra.transport.ProtocolVersion) QueryOptions(org.apache.cassandra.cql3.QueryOptions) ExcerptTailer(net.openhft.chronicle.queue.ExcerptTailer)

Aggregations

Unpooled (io.netty.buffer.Unpooled)2 ByteBuffer (java.nio.ByteBuffer)2 Path (java.nio.file.Path)2 ArrayList (java.util.ArrayList)2 Arrays (java.util.Arrays)2 Collections (java.util.Collections)2 LinkedList (java.util.LinkedList)2 List (java.util.List)2 Semaphore (java.util.concurrent.Semaphore)2 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)2 Nullable (javax.annotation.Nullable)2 ChronicleQueue (net.openhft.chronicle.queue.ChronicleQueue)2 ExcerptTailer (net.openhft.chronicle.queue.ExcerptTailer)2 RollCycles (net.openhft.chronicle.queue.RollCycles)2 SingleChronicleQueueBuilder (net.openhft.chronicle.queue.impl.single.SingleChronicleQueueBuilder)2 ValueIn (net.openhft.chronicle.wire.ValueIn)2 WireOut (net.openhft.chronicle.wire.WireOut)2 Util (org.apache.cassandra.Util)2 CQLTester (org.apache.cassandra.cql3.CQLTester)2 QueryOptions (org.apache.cassandra.cql3.QueryOptions)2