/** * @return latched, unevictable node */ private static Node readUndoLogNode(LocalDatabase db, long nodeId) throws IOException { Node node = db.allocLatchedNode(nodeId, NodeUsageList.MODE_UNEVICTABLE); try { node.read(db, nodeId); if (node.type() != Node.TYPE_UNDO_LOG) { throw new CorruptDatabaseException ("Not an undo log node type: " + node.type() + ", id: " + nodeId); } return node; } catch (Throwable e) { node.makeEvictableNow(); node.releaseExclusive(); throw e; } } }
/** * @return latched, unevictable node */ private static Node readUndoLogNode(LocalDatabase db, long nodeId) throws IOException { Node node = db.allocLatchedNode(nodeId, NodeUsageList.MODE_UNEVICTABLE); try { node.read(db, nodeId); if (node.type() != Node.TYPE_UNDO_LOG) { throw new CorruptDatabaseException ("Not an undo log node type: " + node.type() + ", id: " + nodeId); } return node; } catch (Throwable e) { node.makeEvictableNow(); node.releaseExclusive(); throw e; } } }
/** * @return latched, unevictable node */ private static Node readUndoLogNode(LocalDatabase db, long nodeId) throws IOException { Node node = db.allocLatchedNode(nodeId, NodeContext.MODE_UNEVICTABLE); try { node.read(db, nodeId); if (node.type() != Node.TYPE_UNDO_LOG) { throw new CorruptDatabaseException ("Not an undo log node type: " + node.type() + ", id: " + nodeId); } return node; } catch (Throwable e) { node.makeEvictableNow(); node.releaseExclusive(); throw e; } } }
rootNode.read(this, rootId); } finally { rootNode.releaseExclusive();
rootNode.read(this, rootId); } finally { rootNode.releaseExclusive();
rootNode.read(this, rootId); } finally { rootNode.releaseExclusive();
childNode.read(db, childId); } catch (Throwable e) {
childNode.read(db, childId); } catch (Throwable e) {
childNode.read(db, childId); } catch (Throwable e) {