Package com.netflix.suro.message

Examples of com.netflix.suro.message.Message


        int queueCapacity = 10000;
        final MemoryQueue4Sink queue = new MemoryQueue4Sink(queueCapacity);
        final int initialCount = queueCapacity / 2 + 10;
        for (int i = 0; i < initialCount; ++i) {
            queue.offer(new Message("routingKey", ("testMessage" + i).getBytes()));
        }

        sink.initialize(null, queue, 100, 1000, true);

        assertEquals(sink.checkPause(), queue.size());

        queue.drain(Integer.MAX_VALUE, new LinkedList<Message>());

        ///////////////////////////
        sink = new QueuedSink() {
            @Override
            protected void beforePolling() throws IOException {

            }

            @Override
            protected void write(List<Message> msgList) throws IOException {
            }

            @Override
            protected void innerClose() throws IOException {

            }
        };

        QueuedSink.MAX_PENDING_MESSAGES_TO_PAUSE = 100;
        for (int i = 0; i < QueuedSink.MAX_PENDING_MESSAGES_TO_PAUSE + 1; ++i) {
            queue.offer(new Message("routingKey", ("testMessage" + i).getBytes()));
        }

        sink.initialize(null, queue, 100, 1000, true);

        assertEquals(sink.checkPause(), queue.size());

        QueuedSink.MAX_PENDING_MESSAGES_TO_PAUSE = 1000000;

        queue.drain(Integer.MAX_VALUE, new LinkedList<Message>());

        ////////////////////////////
        sink = new QueuedSink() {
            @Override
            protected void beforePolling() throws IOException {
            }

            @Override
            protected void write(List<Message> msgList) throws IOException {
            }

            @Override
            protected void innerClose() throws IOException {

            }
        };
        sink.initialize(null, queue, 100, 1000, true);
        sink.throughput.increment(initialCount);

        for (int i = 0; i < initialCount; ++i) {
            queue.offer(new Message("routingKey", ("testMessage" + i).getBytes()));
        }

        assertTrue(sink.checkPause() < queue.size() && sink.checkPause() > 0);
    }
View Full Code Here


        clientProperties.setProperty(ClientConfig.CLIENT_TYPE, "sync");

        SuroClient client = new SuroClient(clientProperties);

        // send the message
        client.send(new Message("routingKey", "testMessage".getBytes()));

        // check the test server whether it got received
        TestMessageRouter.TestMessageRouterSink testSink = (TestMessageRouter.TestMessageRouterSink)
                suroServer.getInjector().getInstance(SinkManager.class).getSink("default");
        assertEquals(testSink.getMessageList().size(), 1);
View Full Code Here

        final int numMessages = 2;
        final int waitTime = 10;

        for (int i = 0; i < numMessages; ++i) {
            client.send(new Message("routingKey", "testMessage".getBytes()));
        }

        // check the test server whether it got received
        TestMessageRouter.TestMessageRouterSink testSink = (TestMessageRouter.TestMessageRouterSink)
                suroServer.getInjector().getInstance(SinkManager.class).getSink("default");
View Full Code Here

            public void run() {
                while (run.get()) {
                    rateLimiter.acquire();
                    try {
                        kafkaSink.writeTo(new DefaultMessageContainer(
                                new Message(
                                        topicName,
                                        jsonMapper.writeValueAsBytes(
                                                new ImmutableMap.Builder<String, Object>()
                                                        .put("f1", "v1")
                                                        .put("f2", "v2")
View Full Code Here

        assertEquals(writer.getLength(), 0);
        writer.rotate(dir + "testfile0.suro");
        for (int i = 0; i < 10; ++i) {
            writer.writeTo(
                    new Message("routingKey", ("message0" + i).getBytes()));
        }
        System.out.println("length: " + writer.getLength());
        assertEquals(writer.getLength(), 540);

        writer.rotate(dir + "testfile1.suro");
        assertEquals(writer.getLength(), 100); // empty sequence file length
        assertEquals(checkFileContents(dir + "testfile0.suro", "message0"), 10);

        writer.setDone(dir + "testfile0.suro", dir + "testfile0.done");
        assertFalse(new File(dir + "testfile0.suro").exists());
        checkFileContents(dir + "testfile0.done", "message0");

        for (int i = 0; i < 10; ++i) {
            writer.writeTo(
                    new Message("routingKey", ("message1" + i).getBytes()));
        }
        writer.close();
        assertEquals(checkFileContents(dir + "testfile1.suro", "message1"), 10);
    }
View Full Code Here

        assertEquals(writer.getLength(), 0);
        writer.rotate(dir + "testfile0.suro");
        for (int i = 0; i < 10; ++i) {
            writer.writeTo(
                    new Message("routingKey", ("message0" + i).getBytes()));
        }
        System.out.println("length: " + writer.getLength());
        assertEquals(writer.getLength(), 100);

        writer.rotate(dir + "testfile1.suro");
        assertEquals(writer.getLength(), 0);
        assertEquals(checkFileContents(dir + "testfile0.suro", "message0"), 10);

        writer.setDone(dir + "testfile0.suro", dir + "testfile0.done");
        assertFalse(new File(dir + "testfile0.suro").exists());
        checkFileContents(dir + "testfile0.done", "message0");

        for (int i = 0; i < 10; ++i) {
            writer.writeTo(
                    new Message("routingKey", ("message1" + i).getBytes()));
        }
        writer.close();
        assertEquals(checkFileContents(dir + "testfile1.suro", "message1"), 10);
    }
View Full Code Here

        assertEquals(writer.getLength(), 0); // no files
        writer.rotate(dir + "testfile0.suro");
        for (int i = 0; i < 100000; ++i) {
            writer.writeTo(
                    new Message("routingKey", ("message0" + i).getBytes()));
        }
        System.out.println("length: " + writer.getLength());
        assertEquals(writer.getLength(), 232456); // compressed one

        writer.rotate(dir + "testfile1.suro");
        assertEquals(writer.getLength(), 10); // gzip compressed initial size
        assertEquals(checkFileContentsWithGzip(dir + "testfile0.suro", "message0"), 100000);

        writer.setDone(dir + "testfile0.suro", dir + "testfile0.done");
        assertFalse(new File(dir + "testfile0.suro").exists());
        assertEquals(checkFileContentsWithGzip(dir + "testfile0.done", "message0"), 100000);

        for (int i = 0; i < 100000; ++i) {
            writer.writeTo(
                    new Message("routingKey", ("message1" + i).getBytes()));
        }
        writer.close();
        assertEquals(checkFileContentsWithGzip(dir + "testfile1.suro", "message1"), 100000);
    }
View Full Code Here

            public void run() {
                while (run.get()) {
                    rateLimiter.acquire();
                    try {
                        client.send(
                                new Message(
                                        topicName,
                                        jsonMapper.writeValueAsBytes(
                                                new ImmutableMap.Builder<String, Object>()
                                                        .put("f1", "v1")
                                                        .put("f2", "v2")
View Full Code Here

        return new Runnable() {
            @Override
            public void run() {
                while (running || !messageQueue.isEmpty()) {
                    try {
                        Message msg = messageQueue.poll(
                                Math.max(0, lastBatch + config.getAsyncTimeout() - System.currentTimeMillis()),
                                TimeUnit.MILLISECONDS);

                        boolean expired = (msg == null);
                        if (!expired) {
                            builder.withMessage(msg.getRoutingKey(), msg.getPayload());
                            builder.drainFrom(messageQueue, config.getAsyncBatchSize() - builder.size());
                        }

                        boolean full = (builder.size() >= config.getAsyncBatchSize());
                        if ((expired || full) && builder.size() > 0) {
View Full Code Here

TOP

Related Classes of com.netflix.suro.message.Message

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.