if (needLog) {
int pgno = recycledPage.pageNumber.getPageNumber();
short upBound = recycledPage.upperBound;
BTreeFreePageWithDataLogRecord lr = new BTreeFreePageWithDataLogRecord(id, pgno, txnId, recycledPage.flags, recycledPage.docid, ByteTool.copyByteArray(recycledPage.page, 0, BTreeSpec.PAGE_HEADER_SIZE), ByteTool.copyByteArray(recycledPage.page, upBound, BTreeSpec.PAGE_SIZE - upBound), btreeSpec.btree.getType());
lr.log();
}
/***************************/
Integer iTxnID = new Integer(txnId);
if (getBuffer().isLatestDataPage(recycledPage.docid, recycledPage.pageNumber, iTxnID))