@Override public boolean isClosed() { return metadata.isClosed(); }
@Override public boolean isClosed() { return metadata.isClosed(); }
MockMetadata(LedgerMetadata toCopy) { ensembleSize = toCopy.getEnsembleSize(); writeQuorumSize = toCopy.getWriteQuorumSize(); ackQuorumSize = toCopy.getAckQuorumSize(); lastEntryId = toCopy.getLastEntryId(); length = toCopy.getLength(); digestType = toCopy.getDigestType(); ctime = toCopy.getCtime(); isClosed = toCopy.isClosed(); customMetadata = ImmutableMap.copyOf(toCopy.getCustomMetadata()); }
/** * {@inheritDoc} */ @Override public synchronized boolean isClosed() { return getLedgerMetadata().isClosed(); }
boolean isHandleWritable() { return !getLedgerMetadata().isClosed() && handleState == HandleState.OPEN; }
boolean setLedgerMetadata(Versioned<LedgerMetadata> expected, Versioned<LedgerMetadata> newMetadata) { synchronized (this) { // ensure that we only update the metadata if it is the object we expect it to be if (versionedMetadata == expected) { versionedMetadata = newMetadata; LedgerMetadata metadata = versionedMetadata.getValue(); if (metadata.isClosed()) { lastAddConfirmed = lastAddPushed = metadata.getLastEntryId(); length = metadata.getLength(); } return true; } else { return false; } } }
if (!metadata.getValue().isClosed()) { return;
/** * Check asynchronously whether the ledger with identifier <i>lId</i> * has been closed. * * @param lId ledger identifier * @param cb callback method */ public void asyncIsClosed(long lId, final IsClosedCallback cb, final Object ctx){ ledgerManager.readLedgerMetadata(lId).whenComplete((metadata, exception) -> { if (exception == null) { cb.isClosedComplete(BKException.Code.OK, metadata.getValue().isClosed(), ctx); } else { cb.isClosedComplete(BKException.getExceptionCode(exception), false, ctx); } }); }
LedgerFragment(LedgerHandle lh, long firstEntryId, long lastKnownEntryId, Set<Integer> bookieIndexes) { this.ledgerId = lh.getId(); this.firstEntryId = firstEntryId; this.lastKnownEntryId = lastKnownEntryId; this.bookieIndexes = bookieIndexes; this.ensemble = lh.getLedgerMetadata().getEnsembleAt(firstEntryId); this.schedule = lh.getDistributionSchedule(); SortedMap<Long, ? extends List<BookieSocketAddress>> ensembles = lh .getLedgerMetadata().getAllEnsembles(); this.isLedgerClosed = lh.getLedgerMetadata().isClosed() || !ensemble.equals(ensembles.get(ensembles.lastKey())); }
if (md.isClosed()) { return false;
private static boolean areEntriesOfSegmentStoredInTheBookie(LedgerMetadata ledgerMetadata, BookieSocketAddress bookieAddress, int segmentNo) { boolean isLedgerClosed = ledgerMetadata.isClosed(); int ensembleSize = ledgerMetadata.getEnsembleSize(); int writeQuorumSize = ledgerMetadata.getWriteQuorumSize();
LOG.warn("{}[attempt:{}] Exception changing ensemble", logContext, attempts.get(), ex); handleUnrecoverableErrorDuringAdd(BKException.getExceptionCode(ex, WriteException)); } else if (metadata.getValue().isClosed()) { if (LOG.isDebugEnabled()) { LOG.debug("{}[attempt:{}] Metadata closed during attempt to replace bookie."
synchronized (this) { LedgerMetadata metadata = getLedgerMetadata(); isClosed = metadata.isClosed(); lastEntryId = metadata.getLastEntryId();
.run() .thenCompose((metadata) -> { if (metadata.getValue().isClosed()) { return CompletableFuture.completedFuture(ReadOnlyLedgerHandle.this); } else {
synchronized (this) { LedgerMetadata metadata = getLedgerMetadata(); isClosed = metadata.isClosed(); lastEntryId = metadata.getLastEntryId();
synchronized (this) { LedgerMetadata metadata = getLedgerMetadata(); isClosed = metadata.isClosed(); lac = metadata.getLastEntryId();
LedgerHandle.this::getVersionedLedgerMetadata, (metadata) -> { if (metadata.isClosed()) {
synchronized (this) { LedgerMetadata metadata = getLedgerMetadata(); isClosed = metadata.isClosed(); if (isClosed) { lastAddConfirmed = metadata.getLastEntryId();
if (metadata.isClosed()) {
if (metadata.isClosed()) { lastAddConfirmed = lastAddPushed = metadata.getLastEntryId(); length = metadata.getLength();