curDataNode.setFlags(BTreeSpec.DATA_NODE_DUP_NEXT);
byte[] oldData = ByteTool.copyByteArray(curDataNode.getPage().getPage(), curDataNode.getNodeOffset(), (int) curDataNode.getNodeSpace());
byte[] data = new byte[8];
ByteTool.intToBytes(data, 0, nextNodePos.getOffsetInPage());
ByteTool.intToBytes(data, 4, nextNodePos.getPageNo());
curDataNode.storeNode(data, oldData, kContext);
buffer.releasePage(btree.getBtreeId(), nodePos.getPageNo(), true);
} catch (ChaiDBException e) {
logger.error(e);
buffer.releasePage(btree.getBtreeId(), nodePos.getPageNo(), false);
}