@VisibleForTesting static int compare(final SnapshotMetadata m1, final SnapshotMetadata m2) { return (int) (!m1.persistenceId().equals(m2.persistenceId()) ? m1.persistenceId().compareTo(m2.persistenceId()) : m1.sequenceNr() != m2.sequenceNr() ? m1.sequenceNr() - m2.sequenceNr() : m1.timestamp() != m2.timestamp() ? m1.timestamp() - m2.timestamp() : 0); } }
@Nullable @Override public ConnectionData fromSnapshotStore(final SelectedSnapshot selectedSnapshot) { final String persistenceId = selectedSnapshot.metadata().persistenceId(); final Object snapshotEntity = selectedSnapshot.snapshot(); return createConnectionDataFromSnapshot(persistenceId, snapshotEntity); }
private File toSnapshotFile(final SnapshotMetadata metadata) { return new File(snapshotDir, String.format("snapshot-%s-%d-%d", encode(metadata.persistenceId()), metadata.sequenceNr(), metadata.timestamp())); }
@Nullable @Override public Set<String> fromSnapshotStore(final SnapshotOffer snapshotOffer) { final String persistenceId = snapshotOffer.metadata().persistenceId(); final Object snapshotEntity = snapshotOffer.snapshot(); return createSetFromSnapshot(persistenceId, snapshotEntity); }
@Nullable @Override public Set<String> fromSnapshotStore(final SnapshotOffer snapshotOffer) { final String persistenceId = snapshotOffer.metadata().persistenceId(); final Object snapshotEntity = snapshotOffer.snapshot(); return createSetFromSnapshot(persistenceId, snapshotEntity); }
@Nullable @Override public ConnectionData fromSnapshotStore(final SnapshotOffer snapshotOffer) { final String persistenceId = snapshotOffer.metadata().persistenceId(); final Object snapshotEntity = snapshotOffer.snapshot(); return createConnectionDataFromSnapshot(persistenceId, snapshotEntity); }
@Nullable @Override public Set<String> fromSnapshotStore(final SelectedSnapshot selectedSnapshot) { final String persistenceId = selectedSnapshot.metadata().persistenceId(); final Object snapshotEntity = selectedSnapshot.snapshot(); return createSetFromSnapshot(persistenceId, snapshotEntity); }
@Nullable @Override public Set<String> fromSnapshotStore(final SelectedSnapshot selectedSnapshot) { final String persistenceId = selectedSnapshot.metadata().persistenceId(); final Object snapshotEntity = selectedSnapshot.snapshot(); return createSetFromSnapshot(persistenceId, snapshotEntity); }
private Collection<File> getSnapshotFiles(final SnapshotMetadata metadata) { return getSnapshotFiles(metadata.persistenceId()).stream().filter(file -> { SnapshotMetadata possible = extractMetadata(file); return possible != null && possible.sequenceNr() == metadata.sequenceNr() && (metadata.timestamp() == 0L || possible.timestamp() == metadata.timestamp()); }).collect(Collectors.toList()); }
@Test public void testRecoveryAfterRestart() { system.stop(mockedActor); mockedActor = system.actorOf(MockedActor.props(id, initialBehavior)); final MockedSnapshotStore.SaveRequest newSaveRequest = handleRecovery(new SelectedSnapshot(saveRequest.getMetadata(), saveRequest.getSnapshot())); Assert.assertEquals(MEMBER_1_FRONTEND_TYPE_1, newSaveRequest.getMetadata().persistenceId()); }