Search in sources :

Example 1 with ByteBufferMessageSet

use of org.graylog.shaded.kafka09.message.ByteBufferMessageSet in project graylog2-server by Graylog2.

the class LocalKafkaJournal method flushMessages.

private long flushMessages(List<Message> messages, long payloadSize) {
    if (messages.isEmpty()) {
        LOG.debug("No messages to flush, not trying to write an empty message set.");
        return -1L;
    }
    final ByteBufferMessageSet messageSet = new ByteBufferMessageSet(JavaConversions.asScalaBuffer(messages).toSeq());
    if (LOG.isDebugEnabled()) {
        LOG.debug("Trying to write ByteBufferMessageSet with size of {} bytes to journal", messageSet.sizeInBytes());
    }
    final LogAppendInfo appendInfo = kafkaLog.append(messageSet, true);
    long lastWriteOffset = appendInfo.lastOffset();
    if (LOG.isDebugEnabled()) {
        LOG.debug("Wrote {} messages to journal: {} bytes (payload {} bytes), log position {} to {}", messages.size(), messageSet.sizeInBytes(), payloadSize, appendInfo.firstOffset(), lastWriteOffset);
    }
    writtenMessages.mark(messages.size());
    return lastWriteOffset;
}
Also used : LogAppendInfo(org.graylog.shaded.kafka09.log.LogAppendInfo) ByteBufferMessageSet(org.graylog.shaded.kafka09.message.ByteBufferMessageSet)

Aggregations

LogAppendInfo (org.graylog.shaded.kafka09.log.LogAppendInfo)1 ByteBufferMessageSet (org.graylog.shaded.kafka09.message.ByteBufferMessageSet)1