public boolean isInitial() { return getLastSuccessfulProcessedEventPosition() == INITIAL_LAST_PROCESSED_EVENT_POSITION && getLastWrittenEventPosition() == INITIAL_LAST_WRITTEN_EVENT_POSITION; }
public List<StateSnapshotMetadata> listRecoverable(long lastSuccessfulProcessedEventPosition) { return list(s -> s.getLastWrittenEventPosition() <= lastSuccessfulProcessedEventPosition); }
public boolean isInitial() { return getLastSuccessfulProcessedEventPosition() == INITIAL_LAST_PROCESSED_EVENT_POSITION && getLastWrittenEventPosition() == INITIAL_LAST_WRITTEN_EVENT_POSITION; }
public List<StateSnapshotMetadata> listRecoverable(long lastSuccessfulProcessedEventPosition) { return list(s -> s.getLastWrittenEventPosition() <= lastSuccessfulProcessedEventPosition); }
@Override public int compareTo(StateSnapshotMetadata o) { int result = Long.compare( getLastSuccessfulProcessedEventPosition(), o.getLastSuccessfulProcessedEventPosition()); if (result == 0) { result = Integer.compare(getLastWrittenEventTerm(), o.getLastWrittenEventTerm()); if (result == 0) { result = Long.compare(getLastWrittenEventPosition(), o.getLastWrittenEventPosition()); } } return result; } }
public File getSnapshotDirectoryFor(final StateSnapshotMetadata metadata) { if (metadata == null) { throw new NullPointerException(); } final String path = String.format( "%d%s%d%s%d", metadata.getLastSuccessfulProcessedEventPosition(), SEPARATOR, metadata.getLastWrittenEventPosition(), SEPARATOR, metadata.getLastWrittenEventTerm()); return new File(snapshotsDirectory, path); }
public File getSnapshotDirectoryFor(final StateSnapshotMetadata metadata) { if (metadata == null) { throw new NullPointerException(); } final String path = String.format( "%d%s%d%s%d", metadata.getLastSuccessfulProcessedEventPosition(), SEPARATOR, metadata.getLastWrittenEventPosition(), SEPARATOR, metadata.getLastWrittenEventTerm()); return new File(snapshotsDirectory, path); }
@Override public int compareTo(StateSnapshotMetadata o) { int result = Long.compare( getLastSuccessfulProcessedEventPosition(), o.getLastSuccessfulProcessedEventPosition()); if (result == 0) { result = Integer.compare(getLastWrittenEventTerm(), o.getLastWrittenEventTerm()); if (result == 0) { result = Long.compare(getLastWrittenEventPosition(), o.getLastWrittenEventPosition()); } } return result; } }
@Override public boolean equals(Object obj) { if (!(obj instanceof StateSnapshotMetadata)) { return false; } final StateSnapshotMetadata other = (StateSnapshotMetadata) obj; return getLastSuccessfulProcessedEventPosition() == other.getLastSuccessfulProcessedEventPosition() && getLastWrittenEventPosition() == other.getLastWrittenEventPosition() && getLastWrittenEventTerm() == other.getLastWrittenEventTerm(); }
@Override public boolean equals(Object obj) { if (!(obj instanceof StateSnapshotMetadata)) { return false; } final StateSnapshotMetadata other = (StateSnapshotMetadata) obj; return getLastSuccessfulProcessedEventPosition() == other.getLastSuccessfulProcessedEventPosition() && getLastWrittenEventPosition() == other.getLastWrittenEventPosition() && getLastWrittenEventTerm() == other.getLastWrittenEventTerm(); }
@Override public int hashCode() { return Objects.hash( getLastSuccessfulProcessedEventPosition(), getLastWrittenEventPosition(), getLastWrittenEventTerm(), exists()); }
@Override public int hashCode() { return Objects.hash( getLastSuccessfulProcessedEventPosition(), getLastWrittenEventPosition(), getLastWrittenEventTerm(), exists()); }
@Override public String toString() { return "StateSnapshotMetadata{" + "lastSuccessfulProcessedEventPosition=" + getLastSuccessfulProcessedEventPosition() + ", lastWrittenEventPosition=" + getLastWrittenEventPosition() + ", lastWrittenEventTerm=" + getLastWrittenEventTerm() + ", exists=" + exists() + '}'; }
@Override public String toString() { return "StateSnapshotMetadata{" + "lastSuccessfulProcessedEventPosition=" + getLastSuccessfulProcessedEventPosition() + ", lastWrittenEventPosition=" + getLastWrittenEventPosition() + ", lastWrittenEventTerm=" + getLastWrittenEventTerm() + ", exists=" + exists() + '}'; }
private boolean validateSnapshot(final StateSnapshotMetadata metadata) { final boolean wasFound = logStreamReader.seek(metadata.getLastWrittenEventPosition()); boolean isValid = false; if (wasFound && logStreamReader.hasNext()) { final LoggedEvent event = logStreamReader.next(); isValid = event.getRaftTerm() == metadata.getLastWrittenEventTerm(); } return isValid; }
private boolean validateSnapshot(final StateSnapshotMetadata metadata) { final boolean wasFound = logStreamReader.seek(metadata.getLastWrittenEventPosition()); boolean isValid = false; if (wasFound && logStreamReader.hasNext()) { final LoggedEvent event = logStreamReader.next(); isValid = event.getRaftTerm() == metadata.getLastWrittenEventTerm(); } return isValid; }