while (entries.hasNext()) { LedgerEntry ledgerEntry = entries.next(); lastEntry = ledgerEntry.getEntryId(); if (log.isDebugEnabled()) { log.debug(" Read entry {} from ledger {} for cursor {}", lastEntry, ledgerId, cursorName); MLDataFormats.PositionInfo positionInfo = MLDataFormats.PositionInfo.parseFrom(ledgerEntry.getEntry()); lastAckedMessagePosition = new PositionImpl(positionInfo); if (log.isDebugEnabled()) {
long entryId = firstEntry; while (entryId <= lastEntry && entryId < entries.size()) { seq.add(new LedgerEntry(entries.get((int) entryId++).duplicate()));
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; } }
&& (nextReadAheadPosition.getEntryId() == entry.getEntryId()) && (nextReadAheadPosition.getLedgerId() == entry.getLedgerId())) { if (lastConfirmed <= 4 && conf.getTraceReadAheadMetadataChanges()) { LOG.info("Hit readLastConfirmedAndEntry for {} at {} : entry = {}, lac = {}, position = {}.", new Object[] { fullyQualifiedName, System.currentTimeMillis(), entry.getEntryId(), lastConfirmed, nextReadAheadPosition }); readAheadCache.set(new LedgerReadPosition(entry.getLedgerId(), currentLH.getLogSegmentSequenceNo(), entry.getEntryId()), entry, null != ctx ? ctx.toString() : "", currentMetadata.getEnvelopeEntries(), currentMetadata.getStartSequenceId()); new Object[] { currentMetadata, fullyQualifiedName, entry.getEntryId() });
/** * Format the entry into a readable format. * * @param entry * ledgerentry to print * @param printMsg * Whether printing the message body */ private void formatEntry(LedgerEntry entry, boolean printMsg) { long ledgerId = entry.getLedgerId(); long entryId = entry.getEntryId(); long entrySize = entry.getLength(); System.out.println("--------- Lid=" + ledgerIdFormatter.formatLedgerId(ledgerId) + ", Eid=" + entryId + ", EntrySize=" + entrySize + " ---------"); if (printMsg) { entryFormatter.formatEntry(entry.getEntry()); } }
while (entries.hasMoreElements()) { LedgerEntry entry = entries.nextElement(); dumpedEntries.add(new String(entry.getEntry(), UTF_8));
@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(); }
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; } }
public static LastConfirmedAndEntryImpl create(long lac, org.apache.bookkeeper.client.LedgerEntry entry) { LastConfirmedAndEntryImpl entryImpl = RECYCLER.get(); entryImpl.lac = lac; if (null == entry) { entryImpl.entry = null; } else { entryImpl.entry = LedgerEntryImpl.create( entry.getLedgerId(), entry.getEntryId(), entry.getLength(), entry.getEntryBuffer()); } return entryImpl; }
public static EntryImpl create(LedgerEntry ledgerEntry) { EntryImpl entry = RECYCLER.get(); entry.ledgerId = ledgerEntry.getLedgerId(); entry.entryId = ledgerEntry.getEntryId(); entry.data = ledgerEntry.getEntryBuffer(); entry.data.retain(); entry.setRefCnt(1); return entry; }
} else { LedgerEntry lastEntry = entries.get(entries.size() - 1); lastEntryId = lastEntry.getEntryId();
byte[] data = entry.getEntry(); final long dataLength = data.length; numEntriesRead.inc(); ByteBufList toSend = lh.getDigestManager() .computeDigestAndPackageForSending(entryId, lh.getLastAddConfirmed(), entry.getLength(), Unpooled.wrappedBuffer(data, 0, data.length)); for (BookieSocketAddress newBookie : newBookies) {
void release(LedgerEntry entry) { if (null != entry) { entry.getEntryBuffer().release(); } }
LedgerEntry entry = seq.nextElement(); PositionInfo positionInfo; positionInfo = PositionInfo.parseFrom(entry.getEntry()); individualDeletedMessagesCount.set(positionInfo.getIndividualDeletedMessagesCount()); } catch (Exception e) {
byte[] data = entry.getEntry(); lh.length = entry.getLength() - (long) data.length; if (entry.getEntryId() != lh.lastAddPushed + 1) { LOG.error("Unexpected to recovery add entry {} as entry {} for ledger {}.", entry.getEntryId(), (lh.lastAddPushed + 1), lh.getId()); rc = BKException.Code.UnexpectedConditionException; if (entry.getEntryId() == endEntryToRead) { entry.getEntryId(), lh.getId(), readDone);
Entry.Reader processReadEntry(LedgerEntry entry) throws IOException { return Entry.newBuilder() .setLogSegmentInfo(lssn, startSequenceId) .setEntryId(entry.getEntryId()) .setEnvelopeEntry(envelopeEntries) .deserializeRecordSet(deserializeRecordSet) .setEntry(entry.getEntryBuffer()) .buildReader(); }
nextReadAheadPosition.advance(); LedgerEntry e = seq.nextElement(); LedgerReadPosition readPosition = new LedgerReadPosition(e.getLedgerId(), currentMetadata.getLogSegmentSequenceNumber(), e.getEntryId()); readAheadCache.set(readPosition, e, null != ctx ? ctx.toString() : "", currentMetadata.getEnvelopeEntries(), currentMetadata.getStartSequenceId());
void processReadEntries(int rc, LedgerHandle lh, Enumeration<LedgerEntry> entries, Object ctx) { if (isDone()) { return; } if (!checkReturnCodeAndHandleFailure(rc, false)) { return; } LedgerEntry entry = null; while (entries.hasMoreElements()) { // more entries are returned if (null != entry) { completeExceptionally(BKException.Code.UnexpectedConditionException); return; } entry = entries.nextElement(); } if (null == entry || entry.getEntryId() != entryId) { completeExceptionally(BKException.Code.UnexpectedConditionException); return; } complete(entry); }
synchronized LedgerEntry getEntry() { // retain reference for the caller this.entry.getEntryBuffer().retain(); return this.entry; }
while (entries.hasNext()) { LedgerEntry ledgerEntry = entries.next(); lastEntry = ledgerEntry.getEntryId(); if (log.isDebugEnabled()) { log.debug(" Read entry {} from ledger {} for cursor {}", lastEntry, ledgerId, cursorName); MLDataFormats.PositionInfo positionInfo = MLDataFormats.PositionInfo.parseFrom(ledgerEntry.getEntry()); lastAckedMessagePosition = new PositionImpl(positionInfo); if (log.isDebugEnabled()) {