/** * Take a snapshot of the transaction state and serialize it into the given output stream. * @return whether a snapshot was taken. */ public boolean takeSnapshot(OutputStream out) throws IOException { TransactionSnapshot snapshot = getSnapshot(); if (snapshot != null) { persistor.writeSnapshot(out, snapshot); return true; } else { return false; } }
/** * Take a snapshot of the transaction state and serialize it into the given output stream. * @return whether a snapshot was taken. */ public boolean takeSnapshot(OutputStream out) throws IOException { TransactionSnapshot snapshot = getSnapshot(); if (snapshot != null) { persistor.writeSnapshot(out, snapshot); return true; } else { return false; } }
persistor.writeSnapshot(snapshot); lastSnapshotTime = snapshotTime;
persistor.writeSnapshot(snapshot); lastSnapshotTime = snapshotTime;
storage.writeSnapshot(snapshot); TransactionLog log = storage.createLog(now); log.append(dummyEdit); storage.writeSnapshot(snapshot); log = storage.createLog(now + 1); log.append(dummyEdit); storage.writeSnapshot(snapshot); log = storage.createLog(now + 2); log.append(dummyEdit); storage.writeSnapshot(snapshot); log = storage.createLog(now + 3); log.append(dummyEdit); storage.writeSnapshot(snapshot); log = storage.createLog(now + 4); log.append(dummyEdit); storage.writeSnapshot(snapshot); log = storage.createLog(now + 5); log.append(dummyEdit);
storage.writeSnapshot(snapshot); TransactionLog log = storage.createLog(time2); log.append(edit1);
@Test public void testSnapshotPersistence() throws Exception { Configuration conf = getConfiguration("testSnapshotPersistence"); TransactionSnapshot snapshot = createRandomSnapshot(); TransactionStateStorage storage = getStorage(conf); try { storage.startAndWait(); storage.writeSnapshot(snapshot); TransactionSnapshot readSnapshot = storage.getLatestSnapshot(); assertNotNull(readSnapshot); assertEquals(snapshot, readSnapshot); } finally { storage.stopAndWait(); } }