/** * <code>optional .alluxio.proto.journal.UpdateInodeEntry update_inode = 35;</code> */ public Builder setUpdateInode( alluxio.proto.journal.File.UpdateInodeEntry.Builder builderForValue) { if (updateInodeBuilder_ == null) { updateInode_ = builderForValue.build(); onChanged(); } else { updateInodeBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00400000; return this; } /**
.setId(ancestor.getId()) .setPersistenceState(PersistenceState.PERSISTED.name()) .build());
.setId(inode.getId()) .setPersistenceState(PersistenceState.PERSISTED.name()) .build()); propagatePersistedInternal(journalContext, inodePath); Metrics.FILES_PERSISTED.inc();
.setId(currentId) .setLastModificationTimeMs(context.getOperationTimeMs()) .build());
entry.setMode(ModeUtils.protoToShort(protoOptions.getMode())); mInodeTree.updateInode(rpcContext, entry.build());
.setTtl(Constants.NO_TTL) .setTtlAction(ProtobufUtils.toProtobuf(TtlAction.DELETE)) .build());
.setLastModificationTimeMs(opTimeMs) .setOverwriteModificationTime(true) .build()); mInodeTree.updateInodeFile(rpcContext, entry.build());
.setPinned(newMin > 0) .setLastModificationTimeMs(opTimeMs) .build()); } else { for (Inode child : mInodeStore.getChildren(inode.asDirectory())) {
.setId(inodeDirectory.getId()) .setUfsFingerprint(ufsFingerprint) .build());
.setId(inode.getId()) .setPersistenceState(PersistenceState.NOT_PERSISTED.name()) .build()); mInodeTree.updateInodeFile(journalContext, UpdateInodeFileEntry.newBuilder() .setId(inode.getId())
builder.setUfsFingerprint(entry.getUfsFingerprint()); apply(builder.build());
.setPinned(pinned) .setLastModificationTimeMs(opTimeMs) .build());
@Override public void heartbeat() { for (long fileId : mFileSystemMaster.getLostFiles()) { // update the state try (JournalContext journalContext = mFileSystemMaster.createJournalContext(); LockedInodePath inodePath = mInodeTree.lockFullInodePath(fileId, LockPattern.WRITE_INODE)) { Inode inode = inodePath.getInode(); if (inode.getPersistenceState() != PersistenceState.PERSISTED) { mInodeTree.updateInode(journalContext, UpdateInodeEntry.newBuilder() .setId(inode.getId()) .setPersistenceState(PersistenceState.LOST.name()) .build()); } } catch (FileDoesNotExistException e) { LOG.debug("Exception trying to get inode from inode tree", e); } catch (UnavailableException e) { LOG.warn("Failed to run lost file detector: {}", e.toString()); } } }
@Override public void scheduleAsyncPersistence(AlluxioURI path) throws AlluxioException, UnavailableException { // We retry an async persist request until ufs permits the operation try (RpcContext rpcContext = createRpcContext(); LockedInodePath inodePath = mInodeTree.lockFullInodePath(path, LockPattern.WRITE_INODE)) { mInodeTree.updateInode(rpcContext, UpdateInodeEntry.newBuilder() .setId(inodePath.getInode().getId()) .setPersistenceState(PersistenceState.TO_BE_PERSISTED.name()) .build()); mPersistRequests.put(inodePath.getInode().getId(), new alluxio.time.ExponentialTimer( ServerConfiguration.getMs(PropertyKey.MASTER_PERSISTENCE_INITIAL_INTERVAL_MS), ServerConfiguration.getMs(PropertyKey.MASTER_PERSISTENCE_MAX_INTERVAL_MS), ServerConfiguration.getMs(PropertyKey.MASTER_PERSISTENCE_INITIAL_WAIT_TIME_MS), ServerConfiguration.getMs(PropertyKey.MASTER_PERSISTENCE_MAX_TOTAL_WAIT_TIME_MS))); } }
private void apply(CompleteFileEntry entry) { apply(UpdateInodeEntry.newBuilder() .setId(entry.getId()) .setLastModificationTimeMs(entry.getOpTimeMs()) .setOverwriteModificationTime(true) .setUfsFingerprint(entry.getUfsFingerprint()) .build()); apply(UpdateInodeFileEntry.newBuilder() .setId(entry.getId()) .setLength(entry.getLength()) .addAllSetBlocks(entry.getBlockIdsList()) .build()); }
private void apply(InodeLastModificationTimeEntry entry) { // This entry is deprecated, use UpdateInode instead. apply(UpdateInodeEntry.newBuilder() .setId(entry.getId()) .setLastModificationTimeMs(entry.getLastModificationTimeMs()) .build()); }
private void apply(PersistDirectoryEntry entry) { // This entry is deprecated, use UpdateInode instead. apply(UpdateInodeEntry.newBuilder() .setId(entry.getId()) .setPersistenceState(PersistenceState.PERSISTED.name()) .build()); }
private void apply(AsyncPersistRequestEntry entry) { apply(UpdateInodeEntry.newBuilder() .setId(entry.getFileId()) .setPersistenceState(PersistenceState.TO_BE_PERSISTED.name()) .build()); }