assert ((OAtomicUnitEndRecord) record).isRollback();
continue;
}
if (record instanceof OUpdatePageRecord) {
OUpdatePageRecord updatePageRecord = (OUpdatePageRecord) record;
final long fileId = updatePageRecord.getFileId();
final long pageIndex = updatePageRecord.getPageIndex();
if (!diskCache.isOpen(fileId))
diskCache.openFile(fileId);
OCacheEntry cacheEntry = diskCache.load(fileId, pageIndex, true);
OCachePointer cachePointer = cacheEntry.getCachePointer();
cachePointer.acquireExclusiveLock();
try {
ODurablePage durablePage = new ODurablePage(cacheEntry, ODurablePage.TrackMode.NONE);
OPageChanges pageChanges = updatePageRecord.getChanges();
durablePage.revertChanges(pageChanges);
durablePage.setLsn(updatePageRecord.getLsn());
} finally {
cachePointer.releaseExclusiveLock();
diskCache.release(cacheEntry);
}
} else if (record instanceof OFileCreatedCreatedWALRecord) {