/** * Returns the object stored on disk with the given id. This method is used for testing purposes * only. As such, it bypasses the buffer and goes directly to the disk. This is not a thread safe * function , in the sense, it is possible that by the time the OpLog is queried , data might move * HTree with the oplog being destroyed * * @param id A DiskId object for which the value on disk will be fetched */ @Override public BytesAndBits getNoBuffer(DiskRegion dr, DiskId id) { if (logger.isDebugEnabled()) { logger.debug("Oplog::getNoBuffer:Before invoking Oplog.basicGet for DiskID ={}", id); } try { return basicGet(dr, id.getOffsetInOplog(), false, id.getValueLength(), id.getUserBits()); } catch (DiskAccessException dae) { logger.error("Oplog::getNoBuffer:Exception in retrieving value from disk for diskId=" + id, dae); throw dae; } catch (IllegalStateException ise) { logger.error("Oplog::getNoBuffer:Exception in retrieving value from disk for diskId=" + id, ise); throw ise; } }
bb = basicGet(dr, offset, bitOnly, id.getValueLength(), id.getUserBits()); } catch (DiskAccessException dae) { logger.error("Oplog::basicGet: Error in reading the data from disk for Disk ID " +