private boolean isCommitted() { return position >= 0 && position <= logStream.getCommitPosition(); }
private long getCommitPosition() { return logStream.getCommitPosition(); }
private boolean isCommitted() { return position >= 0 && position <= logStream.getCommitPosition(); }
private long getCommitPosition() { return logStream.getCommitPosition(); }
private boolean isCommitted() { return position >= 0 && position <= raft.getLogStream().getCommitPosition(); }
private boolean isCommitted() { return position >= 0 && position <= raft.getLogStream().getCommitPosition(); }
private void commitPositionOnSingleNode() { final long commitPosition = logStream.getLogStorageAppender().getCurrentAppenderPosition() - 1; if (initialEventPosition >= 0 && commitPosition >= initialEventPosition && logStream.getCommitPosition() < commitPosition) { logStream.setCommitPosition(commitPosition); } }
private void commitPositionOnSingleNode() { final long commitPosition = logStream.getLogStorageAppender().getCurrentAppenderPosition() - 1; if (initialEventPosition >= 0 && commitPosition >= initialEventPosition && logStream.getCommitPosition() < commitPosition) { logStream.setCommitPosition(commitPosition); } }
public AppendRequest setRaft(final Raft raft) { final LogStream logStream = raft.getLogStream(); partitionId = logStream.getPartitionId(); term = raft.getTerm(); commitPosition = logStream.getCommitPosition(); nodeId = raft.getNodeId(); return this; }
public AppendRequest setRaft(final Raft raft) { final LogStream logStream = raft.getLogStream(); partitionId = logStream.getPartitionId(); term = raft.getTerm(); commitPosition = logStream.getCommitPosition(); nodeId = raft.getNodeId(); return this; }
protected void acceptAppendRequest(long position, long commitPosition, int nodeId) { final long currentCommitPosition = logStream.getCommitPosition(); final long nextCommitPosition = Math.min(position, commitPosition); if (nextCommitPosition >= 0 && nextCommitPosition > currentCommitPosition) { logStream.setCommitPosition(nextCommitPosition); } appendResponse.reset().setRaft(raft).setPreviousEventPosition(position).setSucceeded(true); raft.sendMessage(nodeId, appendResponse); }
protected void acceptAppendRequest(long position, long commitPosition, int nodeId) { final long currentCommitPosition = logStream.getCommitPosition(); final long nextCommitPosition = Math.min(position, commitPosition); if (nextCommitPosition >= 0 && nextCommitPosition > currentCommitPosition) { logStream.setCommitPosition(nextCommitPosition); } appendResponse.reset().setRaft(raft).setPreviousEventPosition(position).setSucceeded(true); raft.sendMessage(nodeId, appendResponse); }
private void commit() { final List<RaftMember> memberList = raftMembers.getMemberList(); final int memberSize = memberList.size(); final long[] positions = new long[memberSize + 1]; for (int i = 0; i < memberSize; i++) { positions[i] = memberList.get(i).getMatchPosition(); } // TODO(menski): `raft.getLogStream().getCurrentAppenderPosition()` is wrong as the current // appender // position is the next position which is written. This means in a single node cluster the log // already committed an event which will be written in the future. `- 1` is a hotfix for this. // see https://github.com/zeebe-io/zeebe/issues/501 positions[memberSize] = logStream.getLogStorageAppender().getCurrentAppenderPosition() - 1; Arrays.sort(positions); final long commitPosition = positions[memberSize + 1 - raft.requiredQuorum()]; final LogStream logStream = raft.getLogStream(); if (initialEventPosition >= 0 && commitPosition >= initialEventPosition && logStream.getCommitPosition() < commitPosition) { logStream.setCommitPosition(commitPosition); } }
private void commit() { final List<RaftMember> memberList = raftMembers.getMemberList(); final int memberSize = memberList.size(); final long[] positions = new long[memberSize + 1]; for (int i = 0; i < memberSize; i++) { positions[i] = memberList.get(i).getMatchPosition(); } // TODO(menski): `raft.getLogStream().getCurrentAppenderPosition()` is wrong as the current // appender // position is the next position which is written. This means in a single node cluster the log // already committed an event which will be written in the future. `- 1` is a hotfix for this. // see https://github.com/zeebe-io/zeebe/issues/501 positions[memberSize] = logStream.getLogStorageAppender().getCurrentAppenderPosition() - 1; Arrays.sort(positions); final long commitPosition = positions[memberSize + 1 - raft.requiredQuorum()]; final LogStream logStream = raft.getLogStream(); if (initialEventPosition >= 0 && commitPosition >= initialEventPosition && logStream.getCommitPosition() < commitPosition) { logStream.setCommitPosition(commitPosition); } }
@Override protected void onActorStarting() { final LogStream logStream = streamProcessorContext.getLogStream(); final MetricsManager metricsManager = actorScheduler.getMetricsManager(); final String partitionId = String.valueOf(logStream.getPartitionId()); final String processorName = getName(); metrics = new StreamProcessorMetrics(metricsManager, processorName, partitionId); logStreamReader.wrap(logStream); logStreamWriter.wrap(logStream); try { snapshotPosition = recoverFromSnapshot(logStream.getCommitPosition(), logStream.getTerm()); lastSourceEventPosition = seekFromSnapshotPositionToLastSourceEvent(); final ZeebeDb zeebeDb = snapshotController.openDb(); streamProcessor = streamProcessorFactory.createProcessor(zeebeDb); streamProcessor.onOpen(streamProcessorContext); } catch (final Exception e) { onFailure(); LangUtil.rethrowUnchecked(e); } }
@Override protected void onActorStarting() { final LogStream logStream = streamProcessorContext.getLogStream(); final MetricsManager metricsManager = actorScheduler.getMetricsManager(); final String partitionId = String.valueOf(logStream.getPartitionId()); final String processorName = getName(); metrics = new StreamProcessorMetrics(metricsManager, processorName, partitionId); logStreamReader.wrap(logStream); logStreamWriter.wrap(logStream); try { snapshotPosition = recoverFromSnapshot(logStream.getCommitPosition(), logStream.getTerm()); lastSourceEventPosition = seekFromSnapshotPositionToLastSourceEvent(); final ZeebeDb zeebeDb = snapshotController.openDb(); streamProcessor = streamProcessorFactory.createProcessor(zeebeDb); streamProcessor.onOpen(streamProcessorContext); } catch (final Exception e) { onFailure(); LangUtil.rethrowUnchecked(e); } }
public void truncateLog(final AppendRequest appendRequest, final LoggedEventImpl event) { deferredAck.reset(); final long currentCommit = logStream.getCommitPosition();
public void truncateLog(final AppendRequest appendRequest, final LoggedEventImpl event) { deferredAck.reset(); final long currentCommit = logStream.getCommitPosition();