private LoggedEventImpl getNextEvent() { if (bufferedEvent != null) { return discardBufferedEvent(); } else if (reader.hasNext()) { return (LoggedEventImpl) reader.next(); } else { return null; } }
public LoggedEvent getLastEvent() { reader.seekToLastEvent(); if (reader.hasNext()) { return reader.next(); } else { return null; } }
private LoggedEvent getEventAtPosition(final long position) { if (reader.seek(position) && reader.hasNext()) { return reader.next(); } else { return null; } }
public LoggedEvent getLastEvent() { reader.seekToLastEvent(); if (reader.hasNext()) { return reader.next(); } else { return null; } }
private LoggedEventImpl getNextEvent() { if (bufferedEvent != null) { return discardBufferedEvent(); } else if (reader.hasNext()) { return (LoggedEventImpl) reader.next(); } else { return null; } }
private LoggedEvent getEventAtPosition(final long position) { if (reader.seek(position) && reader.hasNext()) { return reader.next(); } else { return null; } }
public void reset() { reader.seekToLastEvent(); if (reader.hasNext()) { final LoggedEvent lastEvent = reader.next(); lastWrittenPosition = lastEvent.getPosition(); lastWrittenTerm = lastEvent.getRaftTerm(); } else { lastWrittenPosition = previousEventPositionNullValue(); lastWrittenTerm = previousEventTermNullValue(); } discardBufferedEvents(); }
public void reset() { reader.seekToLastEvent(); if (reader.hasNext()) { final LoggedEvent lastEvent = reader.next(); lastWrittenPosition = lastEvent.getPosition(); lastWrittenTerm = lastEvent.getRaftTerm(); } else { lastWrittenPosition = previousEventPositionNullValue(); lastWrittenTerm = previousEventTermNullValue(); } discardBufferedEvents(); }
@Test public void shouldWriteCommandRequestEventType() { // given final int writtenLength = writeCommandRequestToBuffer( buffer, LOG_STREAM_PARTITION_ID, null, ValueType.JOB, JobIntent.CREATE); // when final boolean isHandled = messageHandler.onRequest(serverOutput, DEFAULT_ADDRESS, buffer, 0, writtenLength, 123); // then assertThat(isHandled).isTrue(); final BufferedLogStreamReader logStreamReader = new BufferedLogStreamReader(logStream, true); waitForAvailableEvent(logStreamReader); final LoggedEvent loggedEvent = logStreamReader.next(); final RecordMetadata eventMetadata = new RecordMetadata(); loggedEvent.readMetadata(eventMetadata); assertThat(eventMetadata.getValueType()).isEqualTo(ValueType.JOB); assertThat(eventMetadata.getIntent()).isEqualTo(JobIntent.CREATE); }
@Test public void shouldWriteCommandRequestEventType() { // given final int writtenLength = writeCommandRequestToBuffer( buffer, LOG_STREAM_PARTITION_ID, null, ValueType.JOB, JobIntent.CREATE); // when final boolean isHandled = messageHandler.onRequest(serverOutput, DEFAULT_ADDRESS, buffer, 0, writtenLength, 123); // then assertThat(isHandled).isTrue(); final BufferedLogStreamReader logStreamReader = new BufferedLogStreamReader(logStream, true); waitForAvailableEvent(logStreamReader); final LoggedEvent loggedEvent = logStreamReader.next(); final RecordMetadata eventMetadata = new RecordMetadata(); loggedEvent.readMetadata(eventMetadata); assertThat(eventMetadata.getValueType()).isEqualTo(ValueType.JOB); assertThat(eventMetadata.getIntent()).isEqualTo(JobIntent.CREATE); }
@Test public void shouldWriteCommandRequestProtocolVersion() { // given final short clientProtocolVersion = Protocol.PROTOCOL_VERSION - 1; final int writtenLength = writeCommandRequestToBuffer( buffer, LOG_STREAM_PARTITION_ID, clientProtocolVersion, ValueType.JOB, JobIntent.CREATE); // when final boolean isHandled = messageHandler.onRequest(serverOutput, DEFAULT_ADDRESS, buffer, 0, writtenLength, 123); // then assertThat(isHandled).isTrue(); final BufferedLogStreamReader logStreamReader = new BufferedLogStreamReader(logStream, true); waitForAvailableEvent(logStreamReader); final LoggedEvent loggedEvent = logStreamReader.next(); final RecordMetadata eventMetadata = new RecordMetadata(); loggedEvent.readMetadata(eventMetadata); assertThat(eventMetadata.getProtocolVersion()).isEqualTo(clientProtocolVersion); }
private int determineInitialPartitionId() { final LogStorage logStorage = logStorageInjector.getValue(); final LogBlockIndex logBlockIndex = logBlockIndexInjector.getValue(); try (BufferedLogStreamReader logReader = new BufferedLogStreamReader(true)) { logReader.wrap(logStorage, logBlockIndex); long lastPosition = 0; // Get position of last entry logReader.seekToLastEvent(); if (logReader.hasNext()) { final LoggedEvent lastEntry = logReader.next(); lastPosition = lastEntry.getPosition(); } // dispatcher needs to generate positions greater than the last position int partitionId = 0; if (lastPosition > 0) { partitionId = PositionUtil.partitionId(lastPosition); } return partitionId; } }
private int determineInitialPartitionId() { final LogStorage logStorage = logStorageInjector.getValue(); final LogBlockIndex logBlockIndex = logBlockIndexInjector.getValue(); try (BufferedLogStreamReader logReader = new BufferedLogStreamReader(true)) { logReader.wrap(logStorage, logBlockIndex); long lastPosition = 0; // Get position of last entry logReader.seekToLastEvent(); if (logReader.hasNext()) { final LoggedEvent lastEntry = logReader.next(); lastPosition = lastEntry.getPosition(); } // dispatcher needs to generate positions greater than the last position int partitionId = 0; if (lastPosition > 0) { partitionId = PositionUtil.partitionId(lastPosition); } return partitionId; } }
@Test public void shouldWriteCommandRequestProtocolVersion() { // given final short clientProtocolVersion = Protocol.PROTOCOL_VERSION - 1; final int writtenLength = writeCommandRequestToBuffer( buffer, LOG_STREAM_PARTITION_ID, clientProtocolVersion, ValueType.JOB, JobIntent.CREATE); // when final boolean isHandled = messageHandler.onRequest(serverOutput, DEFAULT_ADDRESS, buffer, 0, writtenLength, 123); // then assertThat(isHandled).isTrue(); final BufferedLogStreamReader logStreamReader = new BufferedLogStreamReader(logStream, true); waitForAvailableEvent(logStreamReader); final LoggedEvent loggedEvent = logStreamReader.next(); final RecordMetadata eventMetadata = new RecordMetadata(); loggedEvent.readMetadata(eventMetadata); assertThat(eventMetadata.getProtocolVersion()).isEqualTo(clientProtocolVersion); }
@Test public void shouldHandleCommandRequest() { // given final int writtenLength = writeCommandRequestToBuffer( buffer, LOG_STREAM_PARTITION_ID, null, ValueType.JOB, JobIntent.CREATE); // when final boolean isHandled = messageHandler.onRequest( serverOutput, DEFAULT_ADDRESS, buffer, 0, writtenLength, REQUEST_ID); // then assertThat(isHandled).isTrue(); final BufferedLogStreamReader logStreamReader = new BufferedLogStreamReader(logStream, true); waitForAvailableEvent(logStreamReader); final LoggedEvent loggedEvent = logStreamReader.next(); final byte[] valueBuffer = new byte[JOB_EVENT.length]; loggedEvent .getValueBuffer() .getBytes(loggedEvent.getValueOffset(), valueBuffer, 0, loggedEvent.getValueLength()); assertThat(loggedEvent.getValueLength()).isEqualTo(JOB_EVENT.length); assertThat(valueBuffer).isEqualTo(JOB_EVENT); final RecordMetadata eventMetadata = new RecordMetadata(); loggedEvent.readMetadata(eventMetadata); assertThat(eventMetadata.getRequestId()).isEqualTo(REQUEST_ID); assertThat(eventMetadata.getRequestStreamId()).isEqualTo(DEFAULT_ADDRESS.getStreamId()); }
@Test public void shouldHandleCommandRequest() { // given final int writtenLength = writeCommandRequestToBuffer( buffer, LOG_STREAM_PARTITION_ID, null, ValueType.JOB, JobIntent.CREATE); // when final boolean isHandled = messageHandler.onRequest( serverOutput, DEFAULT_ADDRESS, buffer, 0, writtenLength, REQUEST_ID); // then assertThat(isHandled).isTrue(); final BufferedLogStreamReader logStreamReader = new BufferedLogStreamReader(logStream, true); waitForAvailableEvent(logStreamReader); final LoggedEvent loggedEvent = logStreamReader.next(); final byte[] valueBuffer = new byte[JOB_EVENT.length]; loggedEvent .getValueBuffer() .getBytes(loggedEvent.getValueOffset(), valueBuffer, 0, loggedEvent.getValueLength()); assertThat(loggedEvent.getValueLength()).isEqualTo(JOB_EVENT.length); assertThat(valueBuffer).isEqualTo(JOB_EVENT); final RecordMetadata eventMetadata = new RecordMetadata(); loggedEvent.readMetadata(eventMetadata); assertThat(eventMetadata.getRequestId()).isEqualTo(REQUEST_ID); assertThat(eventMetadata.getRequestStreamId()).isEqualTo(DEFAULT_ADDRESS.getStreamId()); }
final LoggedEvent next = reader.next();
final LoggedEvent next = reader.next();