if (requestOffloadTo.getLedgerId() > ls.getLedgerId()) { if (!ls.getOffloadContext().getComplete() && ls.getSize() > 0) { ledgersToOffload.add(ls);
UUID expectedFailedUUID = new UUID(ledger.getLedgersInfoAsList().get(0).getOffloadContext().getUidMsb(), ledger.getLedgersInfoAsList().get(0).getOffloadContext().getUidLsb()); Assert.assertEquals(failedOffloads.stream().findFirst().get(), Pair.of(expectedFailedLedger, expectedFailedUUID)); Assert.assertFalse(ledger.getLedgersInfoAsList().get(0).getOffloadContext().getComplete()); Assert.assertEquals(deleted.stream().findFirst().get(), Pair.of(expectedFailedLedger, expectedFailedUUID)); UUID successUUID = new UUID(ledger.getLedgersInfoAsList().get(0).getOffloadContext().getUidMsb(), ledger.getLedgersInfoAsList().get(0).getOffloadContext().getUidLsb()); Assert.assertFalse(successUUID.equals(expectedFailedUUID)); Assert.assertTrue(ledger.getLedgersInfoAsList().get(0).getOffloadContext().getComplete());
.filter(e -> e.getOffloadContext().getComplete()).count(), 0); Assert.assertEquals(ledger.getLedgersInfoAsList().stream() .filter(e -> e.getOffloadContext().hasUidMsb()).count(), 1); Assert.assertTrue(ledger.getLedgersInfoAsList().get(0).getOffloadContext().hasUidMsb());
if (requestOffloadTo.getLedgerId() > ls.getLedgerId()) { if (!ls.getOffloadContext().getComplete() && ls.getSize() > 0) { ledgersToOffload.add(ls);
if (info != null && info.hasOffloadContext() && info.getOffloadContext().getComplete()) { UUID uid = new UUID(info.getOffloadContext().getUidMsb(), info.getOffloadContext().getUidLsb());
sizeSummed += size; boolean alreadyOffloaded = e.getValue().hasOffloadContext() && e.getValue().getOffloadContext().getComplete(); if (alreadyOffloaded) { alreadyOffloadedSize += size;
info.entries = li.getEntries(); info.size = li.getSize(); info.offloaded = li.hasOffloadContext() && li.getOffloadContext().getComplete(); stats.ledgers.add(info); });
return transformLedgerInfo(ledgerId, (oldInfo) -> { if (oldInfo.getOffloadContext().hasUidMsb()) { UUID oldUuid = new UUID(oldInfo.getOffloadContext().getUidMsb(), oldInfo.getOffloadContext().getUidLsb()); log.info("[{}] Found previous offload attempt for ledger {}, uuid {}" + ", cleaning up", name, ledgerId, uuid);
if (hasOffloadContext()) { result = result && getOffloadContext() .equals(other.getOffloadContext());
result = result && (hasUidMsb() == other.hasUidMsb()); if (hasUidMsb()) { result = result && (getUidMsb() == other.getUidMsb()); result = result && (hasUidLsb() == other.hasUidLsb()); if (hasUidLsb()) { result = result && (getUidLsb() == other.getUidLsb()); result = result && (hasComplete() == other.hasComplete()); if (hasComplete()) { result = result && (getComplete() == other.getComplete()); result = result && (hasBookkeeperDeleted() == other.hasBookkeeperDeleted()); if (hasBookkeeperDeleted()) { result = result && (getBookkeeperDeleted() == other.getBookkeeperDeleted()); result = result && (hasTimestamp() == other.hasTimestamp()); if (hasTimestamp()) { result = result && (getTimestamp() == other.getTimestamp()); result = result && (hasDriverMetadata() == other.hasDriverMetadata()); if (hasDriverMetadata()) { result = result && getDriverMetadata() .equals(other.getDriverMetadata());
public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext buildPartial() { org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext result = new org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0;
hash = (19 * hash) + getDescriptor().hashCode(); if (hasUidMsb()) { hash = (37 * hash) + UIDMSB_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getUidMsb()); if (hasUidLsb()) { hash = (37 * hash) + UIDLSB_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getUidLsb()); if (hasComplete()) { hash = (37 * hash) + COMPLETE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getComplete()); if (hasBookkeeperDeleted()) { hash = (37 * hash) + BOOKKEEPERDELETED_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getBookkeeperDeleted()); if (hasTimestamp()) { hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getTimestamp()); if (hasDriverMetadata()) { hash = (37 * hash) + DRIVERMETADATA_FIELD_NUMBER; hash = (53 * hash) + getDriverMetadata().hashCode();
/** * <code>optional .OffloadContext offloadContext = 5;</code> */ public Builder mergeOffloadContext(org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext value) { if (offloadContextBuilder_ == null) { if (((bitField0_ & 0x00000010) == 0x00000010) && offloadContext_ != null && offloadContext_ != org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance()) { offloadContext_ = org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.newBuilder(offloadContext_).mergeFrom(value).buildPartial(); } else { offloadContext_ = value; } onChanged(); } else { offloadContextBuilder_.mergeFrom(value); } bitField0_ |= 0x00000010; return this; } /**
public Builder mergeFrom(org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext other) { if (other == org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance()) return this; if (other.hasUidMsb()) { setUidMsb(other.getUidMsb()); } if (other.hasUidLsb()) { setUidLsb(other.getUidLsb()); } if (other.hasComplete()) { setComplete(other.getComplete()); } if (other.hasBookkeeperDeleted()) { setBookkeeperDeleted(other.getBookkeeperDeleted()); } if (other.hasTimestamp()) { setTimestamp(other.getTimestamp()); } if (other.hasDriverMetadata()) { mergeDriverMetadata(other.getDriverMetadata()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; }
public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext getDefaultInstanceForType() { return org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance(); }
private void asyncDeleteLedger(long ledgerId, LedgerInfo info) { if (!info.getOffloadContext().getBookkeeperDeleted()) { // only delete if it hasn't been previously deleted for offload asyncDeleteLedger(ledgerId, DEFAULT_LEDGER_DELETE_RETRIES); } if (info.getOffloadContext().hasUidMsb()) { UUID uuid = new UUID(info.getOffloadContext().getUidMsb(), info.getOffloadContext().getUidLsb()); cleanupOffloaded( ledgerId, uuid, OffloadUtils.getOffloadDriverName(info, config.getLedgerOffloader().getOffloadDriverName()), OffloadUtils.getOffloadDriverMetadata(info, config.getLedgerOffloader().getOffloadDriverMetadata()), "Trimming"); } }
/** * <code>optional .OffloadContext offloadContext = 5;</code> */ public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContextOrBuilder getOffloadContextOrBuilder() { if (offloadContextBuilder_ != null) { return offloadContextBuilder_.getMessageOrBuilder(); } else { return offloadContext_ == null ? org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance() : offloadContext_; } } /**
/** * <code>optional .OffloadContext offloadContext = 5;</code> */ public org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContextOrBuilder getOffloadContextOrBuilder() { return offloadContext_ == null ? org.apache.bookkeeper.mledger.proto.MLDataFormats.OffloadContext.getDefaultInstance() : offloadContext_; }
private boolean isOffloadedNeedsDelete(OffloadContext offload) { long elapsedMs = clock.millis() - offload.getTimestamp(); return offload.getComplete() && !offload.getBookkeeperDeleted() && elapsedMs > config.getOffloadLedgerDeletionLagMillis(); }