while (null == entries) { try { entries = lh.readEntries(startEntryId, endEntryId); } catch (BKException bke) { logger.error("Encountered exceptions on reading [ {} - {} ] ",
private void simpleReadEntries(LedgerHandle lh, long fromEntryId, long untilEntryId) throws Exception { Enumeration<LedgerEntry> entries = lh.readEntries(fromEntryId, untilEntryId); long i = fromEntryId; System.out.println("Entries:"); while (entries.hasMoreElements()) { LedgerEntry entry = entries.nextElement(); System.out.println("\t" + i + "(eid=" + entry.getEntryId() + ")\t: "); Entry.Reader reader = Entry.newBuilder() .setLogSegmentInfo(0L, 0L) .setEntryId(entry.getEntryId()) .setInputStream(entry.getEntryInputStream()) .setEnvelopeEntry(LogSegmentMetadata.supportsEnvelopedEntries(metadataVersion)) .buildReader(); printEntry(reader); ++i; } }
segment = segment.mutator().setLastEntryId(lac).build(); if (printInprogressOnly && dumpEntries && lac >= 0) { Enumeration<LedgerEntry> entries = lh.readEntries(0L, lac); while (entries.hasMoreElements()) { LedgerEntry entry = entries.nextElement();
@Test public void simpleTest() throws Exception { LedgerHandle ledger = bkc.createLedger(DigestType.MAC, SECRET.getBytes()); long ledgerId = ledger.getId(); log.info("Writing to ledger: {}", ledgerId); for (int i = 0; i < 10; i++) { String content = "entry-" + i; ledger.addEntry(content.getBytes(Encoding)); } ledger.close(); ledger = bkc.openLedger(ledgerId, DigestType.MAC, SECRET.getBytes()); Enumeration<LedgerEntry> entries = ledger.readEntries(0, 9); while (entries.hasMoreElements()) { LedgerEntry entry = entries.nextElement(); String content = new String(entry.getEntry(), Encoding); log.info("Entry {} lenght={} content='{}'", entry.getEntryId(), entry.getLength(), content); } ledger.close(); }
Enumeration<LedgerEntry> entries = lh.readEntries(lac, lac); if (!entries.hasMoreElements()) { throw new IOException("Entry " + lac + " isn't found for " + segment);
lh.readEntries(entryId, entryId); if (entries.hasMoreElements()) { LedgerEntry entry = entries.nextElement();
lh.close(); LedgerHandle readLh = bkc.get().openLedger(lh.getId(), BookKeeper.DigestType.CRC32, dlConf.getBKDigestPW().getBytes()); Enumeration<LedgerEntry> entries = readLh.readEntries(eid, eid); int i = 0; while (entries.hasMoreElements()) {
lh2.close(); LedgerHandle readLh = bkc.get().openLedger(lh2.getId(), BookKeeper.DigestType.CRC32, dlConf.getBKDigestPW().getBytes()); Enumeration<LedgerEntry> entries = readLh.readEntries(eid, eid); int i = 0; while (entries.hasMoreElements()) {
/** * construct a outputstream from a ledger handle. * * @param lh * ledger handle * @throws BKException when encountered bookkeeper exceptions * @throws InterruptedException when opening a ledger input stream is interrupted. */ public LedgerInputStream(LedgerHandle lh) throws BKException, InterruptedException { this.lh = lh; bbytes = new byte[defaultSize]; this.bytebuff = ByteBuffer.wrap(bbytes); this.bytebuff.position(this.bytebuff.limit()); lastEntry = Math.min(lh.getLastAddConfirmed(), increment); ledgerSeq = lh.readEntries(0, lastEntry); }
/** * construct a outputstream from a ledger handle. * * @param lh * the ledger handle * @param size * the size of the buffer * @throws BKException when encountered bookkeeper exceptions * @throws InterruptedException when opening a ledger input stream is interrupted. */ public LedgerInputStream(LedgerHandle lh, int size) throws BKException, InterruptedException { this.lh = lh; bbytes = new byte[size]; this.bytebuff = ByteBuffer.wrap(bbytes); this.bytebuff.position(this.bytebuff.limit()); lastEntry = Math.min(lh.getLastAddConfirmed(), increment); ledgerSeq = lh.readEntries(0, lastEntry); }
/** * refill the buffer, we need to read more bytes. * * @return if we can refill or not */ private synchronized boolean refill() throws IOException { bytebuff.clear(); if (!ledgerSeq.hasMoreElements() && lastEntry >= lh.getLastAddConfirmed()) { return false; } if (!ledgerSeq.hasMoreElements()) { // do refill long last = Math.min(lastEntry + increment, lh.getLastAddConfirmed()); try { ledgerSeq = lh.readEntries(lastEntry + 1, last); } catch (BKException bk) { IOException ie = new IOException(bk.getMessage()); ie.initCause(bk); throw ie; } catch (InterruptedException ie) { Thread.currentThread().interrupt(); } lastEntry = last; } LedgerEntry le = ledgerSeq.nextElement(); bbytes = le.getEntry(); bytebuff = ByteBuffer.wrap(bbytes); return true; }
= lh.readEntries(nextEntry, lastAddConfirmed);
private void simpleReadEntries(LedgerHandle lh, long fromEntryId, long untilEntryId) throws Exception { Enumeration<LedgerEntry> entries = lh.readEntries(fromEntryId, untilEntryId); long i = fromEntryId; System.out.println("Entries:"); while (entries.hasMoreElements()) { LedgerEntry entry = entries.nextElement(); System.out.println("\t" + i + "(eid=" + entry.getEntryId() + ")\t: "); Entry.Reader reader = Entry.newBuilder() .setLogSegmentInfo(0L, 0L) .setEntryId(entry.getEntryId()) .setEntry(entry.getEntryBuffer()) .setEnvelopeEntry(LogSegmentMetadata.supportsEnvelopedEntries(metadataVersion)) .buildReader(); entry.getEntryBuffer().release(); printEntry(reader); ++i; } }
long _start = System.currentTimeMillis(); Enumeration<LedgerEntry> entries = handle.readEntries(start, end); int localEntryCount = 0; while (entries.hasMoreElements()) {
segment = segment.mutator().setLastEntryId(lac).build(); if (printInprogressOnly && dumpEntries && lac >= 0) { Enumeration<LedgerEntry> entries = lh.readEntries(0L, lac); while (entries.hasMoreElements()) { LedgerEntry entry = entries.nextElement();
Enumeration<LedgerEntry> entries = lh.readEntries(0, numberOfEntries - 1); int i = 0; while (entries.hasMoreElements()) {
Enumeration<LedgerEntry> entries = lh.readEntries(lac, lac); if (!entries.hasMoreElements()) { throw new IOException("Entry " + lac + " isn't found for " + segment);
try { val reader = Exceptions.handleInterruptedCall( () -> ledger.readEntries(address.getEntryId(), lastEntryId)); previousLedger = this.currentLedger; this.currentLedger = new ReadLedger(metadata, ledger, reader);