@Override protected void _abort(TxnId txnId, BptTxnState state) { rootIdx = state.initialroot ; // Truncate - logically in block manager space. nodeManager.resetAlloc(state.boundaryBlocksNode) ; recordsMgr.resetAlloc(state.boundaryBlocksRecord) ; stateManager.setState(state.initialroot, state.boundaryBlocksNode, state.boundaryBlocksRecord); stateManager.sync(); }
@Override protected void _abort(TxnId txnId, BptTxnState state) { rootIdx = state.initialroot ; // Truncate - logically in block manager space. nodeManager.resetAlloc(state.boundaryBlocksNode) ; recordsMgr.resetAlloc(state.boundaryBlocksRecord) ; stateManager.setState(state.initialroot, state.boundaryBlocksNode, state.boundaryBlocksRecord); stateManager.sync(); }
@Override public void recover(ByteBuffer ref) { stateManager.setState(ref) ; rootIdx = stateManager.getRoot() ; nodeManager.resetAlloc(stateManager.getNodeBlocksLimit()) ; recordsMgr.resetAlloc(stateManager.getRecordsBlocksLimit()) ; }
@Override public void recover(ByteBuffer ref) { stateManager.setState(ref) ; rootIdx = stateManager.getRoot() ; nodeManager.resetAlloc(stateManager.getNodeBlocksLimit()) ; recordsMgr.resetAlloc(stateManager.getRecordsBlocksLimit()) ; }
@Override protected ByteBuffer _commitPrepare(TxnId txnId, BptTxnState state) { nodeManager.getBlockMgr().sync(); recordsMgr.getBlockMgr().sync(); long nodeLimit = nodeManager.allocLimit() ; long recordsLimit = recordsMgr.allocLimit() ; // But don't write it yet. stateManager.setState(state.getRoot(), nodeLimit, recordsLimit); return stateManager.getState() ; }
@Override protected ByteBuffer _commitPrepare(TxnId txnId, BptTxnState state) { nodeManager.getBlockMgr().sync(); recordsMgr.getBlockMgr().sync(); long nodeLimit = nodeManager.allocLimit() ; long recordsLimit = recordsMgr.allocLimit() ; // But don't write it yet. stateManager.setState(state.getRoot(), nodeLimit, recordsLimit); return stateManager.getState() ; }