| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| option java_package = "org.apache.hadoop.hdfs.protocol.proto"; |
| option java_outer_classname = "ClientNamenodeProtocolProtos"; |
| option java_generic_services = true; |
| option java_generate_equals_and_hash = true; |
| |
| import "hdfs.proto"; |
| |
| /** |
| * The ClientNamenodeProtocol Service defines the interface between a client |
| * (as runnign inside a MR Task) and the Namenode. |
| * See org.apache.hadoop.hdfs.protocol.ClientProtocol for the javadoc |
| * for each of the methods. |
| * The exceptions declared in the above class also apply to this protocol. |
| * Exceptions are unwrapped and thrown by the PB libraries. |
| */ |
| |
| message GetBlockLocationsRequestProto { |
| required string src = 1; // file name |
| required uint64 offset = 2; // range start offset |
| required uint64 length = 3; // range length |
| } |
| |
| message GetBlockLocationsResponseProto { |
| optional LocatedBlocksProto locations = 1; |
| } |
| |
| message GetServerDefaultsRequestProto { // No parameters |
| } |
| |
| message GetServerDefaultsResponseProto { |
| required FsServerDefaultsProto serverDefaults = 1; |
| } |
| |
| enum CreateFlagProto { |
| CREATE = 0x01; // Create a file |
| OVERWRITE = 0x02; // Truncate/overwrite a file. Same as POSIX O_TRUNC |
| APPEND = 0x04; // Append to a file |
| } |
| |
| message CreateRequestProto { |
| required string src = 1; |
| required FsPermissionProto masked = 2; |
| required string clientName = 3; |
| required uint32 createFlag = 4; // bits set using CreateFlag |
| required bool createParent = 5; |
| required uint32 replication = 6; // Short: Only 16 bits used |
| required uint64 blockSize = 7; |
| } |
| |
| message CreateResponseProto { // void response |
| } |
| |
| message AppendRequestProto { |
| required string src = 1; |
| required string clientName = 2; |
| } |
| |
| message AppendResponseProto { |
| optional LocatedBlockProto block = 1; |
| } |
| |
| message SetReplicationRequestProto { |
| required string src = 1; |
| required uint32 replication = 2; // Short: Only 16 bits used |
| } |
| |
| message SetReplicationResponseProto { |
| required bool result = 1; |
| } |
| |
| message SetPermissionRequestProto { |
| required string src = 1; |
| required FsPermissionProto permission = 2; |
| } |
| |
| message SetPermissionResponseProto { // void response |
| } |
| |
| message SetOwnerRequestProto { |
| required string src = 1; |
| optional string username = 2; |
| optional string groupname = 3; |
| } |
| |
| message SetOwnerResponseProto { // void response |
| } |
| |
| message AbandonBlockRequestProto { |
| required ExtendedBlockProto b = 1; |
| required string src = 2; |
| required string holder = 3; |
| } |
| |
| message AbandonBlockResponseProto { // void response |
| } |
| |
| message AddBlockRequestProto { |
| required string src = 1; |
| required string clientName = 2; |
| optional ExtendedBlockProto previous = 3; |
| repeated DatanodeInfoProto excludeNodes = 4; |
| } |
| |
| message AddBlockResponseProto { |
| required LocatedBlockProto block = 1; |
| } |
| |
| message GetAdditionalDatanodeRequestProto { |
| required string src = 1; |
| required ExtendedBlockProto blk = 2; |
| repeated DatanodeInfoProto existings = 3; |
| repeated DatanodeInfoProto excludes = 4; |
| required uint32 numAdditionalNodes = 5; |
| required string clientName = 6; |
| } |
| |
| message GetAdditionalDatanodeResponseProto { |
| required LocatedBlockProto block = 1; |
| } |
| |
| message CompleteRequestProto { |
| required string src = 1; |
| required string clientName = 2; |
| optional ExtendedBlockProto last = 3; |
| } |
| |
| message CompleteResponseProto { |
| required bool result = 1; |
| } |
| |
| message ReportBadBlocksRequestProto { |
| repeated LocatedBlockProto blocks = 1; |
| } |
| |
| message ReportBadBlocksResponseProto { // void response |
| } |
| |
| message ConcatRequestProto { |
| required string trg = 1; |
| repeated string srcs = 2; |
| } |
| |
| message ConcatResponseProto { // void response |
| } |
| |
| message RenameRequestProto { |
| required string src = 1; |
| required string dst = 2; |
| } |
| |
| message RenameResponseProto { // void response |
| required bool result = 1; |
| } |
| |
| |
| message Rename2RequestProto { |
| required string src = 1; |
| required string dst = 2; |
| required bool overwriteDest = 3; |
| } |
| |
| message Rename2ResponseProto { // void response |
| } |
| |
| message DeleteRequestProto { |
| required string src = 1; |
| required bool recursive = 2; |
| } |
| |
| message DeleteResponseProto { |
| required bool result = 1; |
| } |
| |
| message MkdirsRequestProto { |
| required string src = 1; |
| required FsPermissionProto masked = 2; |
| required bool createParent = 3; |
| } |
| message MkdirsResponseProto { |
| required bool result = 1; |
| } |
| |
| message GetListingRequestProto { |
| required string src = 1; |
| required bytes startAfter = 2; |
| required bool needLocation = 3; |
| } |
| message GetListingResponseProto { |
| optional DirectoryListingProto dirList = 1; |
| } |
| |
| message RenewLeaseRequestProto { |
| required string clientName = 1; |
| } |
| |
| message RenewLeaseResponseProto { //void response |
| } |
| |
| message RecoverLeaseRequestProto { |
| required string src = 1; |
| required string clientName = 2; |
| } |
| message RecoverLeaseResponseProto { |
| required bool result = 1; |
| } |
| |
| message GetFsStatusRequestProto { // no input paramters |
| } |
| |
| message GetFsStatsResponseProto { |
| required uint64 capacity = 1; |
| required uint64 used = 2; |
| required uint64 remaining = 3; |
| required uint64 under_replicated = 4; |
| required uint64 corrupt_blocks = 5; |
| required uint64 missing_blocks = 6; |
| } |
| |
| enum DatanodeReportTypeProto { // type of the datanode report |
| ALL = 1; |
| LIVE = 2; |
| DEAD = 3; |
| } |
| |
| message GetDatanodeReportRequestProto { |
| required DatanodeReportTypeProto type = 1; |
| } |
| |
| message GetDatanodeReportResponseProto { |
| repeated DatanodeInfoProto di = 1; |
| } |
| |
| message GetPreferredBlockSizeRequestProto { |
| required string filename = 1; |
| } |
| |
| message GetPreferredBlockSizeResponseProto { |
| required uint64 bsize = 1; |
| } |
| |
| enum SafeModeActionProto { |
| SAFEMODE_LEAVE = 1; |
| SAFEMODE_ENTER = 2; |
| SAFEMODE_GET = 3; |
| } |
| |
| message SetSafeModeRequestProto { |
| required SafeModeActionProto action = 1; |
| } |
| |
| message SetSafeModeResponseProto { |
| required bool result = 1; |
| } |
| |
| message SaveNamespaceRequestProto { // no parameters |
| } |
| |
| message SaveNamespaceResponseProto { // void response |
| } |
| |
| message RestoreFailedStorageRequestProto { |
| required string arg = 1; |
| } |
| |
| message RestoreFailedStorageResponseProto { |
| required bool result = 1; |
| } |
| |
| message RefreshNodesRequestProto { // no parameters |
| } |
| |
| message RefreshNodesResponseProto { // void response |
| } |
| |
| message FinalizeUpgradeRequestProto { // no parameters |
| } |
| |
| message FinalizeUpgradeResponseProto { // void response |
| } |
| |
| enum UpgradeActionProto { |
| GET_STATUS = 1; |
| DETAILED_STATUS = 2; |
| FORCE_PROCEED = 3; |
| } |
| |
| message DistributedUpgradeProgressRequestProto { |
| required UpgradeActionProto action = 1; |
| } |
| message DistributedUpgradeProgressResponseProto { |
| optional UpgradeStatusReportProto report = 1; |
| } |
| |
| message ListCorruptFileBlocksRequestProto { |
| required string path = 1; |
| optional string cookie = 2; |
| } |
| |
| message ListCorruptFileBlocksResponseProto { |
| required CorruptFileBlocksProto corrupt = 1; |
| } |
| |
| message MetaSaveRequestProto { |
| required string filename = 1; |
| } |
| |
| message MetaSaveResponseProto { // void response |
| } |
| |
| message GetFileInfoRequestProto { |
| required string src = 1; |
| } |
| |
| message GetFileInfoResponseProto { |
| optional HdfsFileStatusProto fs = 1; |
| } |
| |
| message GetFileLinkInfoRequestProto { |
| required string src = 1; |
| } |
| |
| message GetFileLinkInfoResponseProto { |
| optional HdfsFileStatusProto fs = 1; |
| } |
| |
| message GetContentSummaryRequestProto { |
| required string path = 1; |
| } |
| |
| message GetContentSummaryResponseProto { |
| required ContentSummaryProto summary = 1; |
| } |
| |
| message SetQuotaRequestProto { |
| required string path = 1; |
| required uint64 namespaceQuota = 2; |
| required uint64 diskspaceQuota = 3; |
| } |
| |
| message SetQuotaResponseProto { // void response |
| } |
| |
| message FsyncRequestProto { |
| required string src = 1; |
| required string client = 2; |
| } |
| |
| message FsyncResponseProto { // void response |
| } |
| |
| message SetTimesRequestProto { |
| required string src = 1; |
| required uint64 mtime = 2; |
| required uint64 atime = 3; |
| } |
| |
| message SetTimesResponseProto { // void response |
| } |
| |
| message CreateSymlinkRequestProto { |
| required string target = 1; |
| required string link = 2; |
| required FsPermissionProto dirPerm = 3; |
| required bool createParent = 4; |
| } |
| |
| message CreateSymlinkResponseProto { // void response |
| } |
| |
| message GetLinkTargetRequestProto { |
| required string path = 1; |
| } |
| message GetLinkTargetResponseProto { |
| required string targetPath = 1; |
| } |
| |
| message UpdateBlockForPipelineRequestProto { |
| required ExtendedBlockProto block = 1; |
| required string clientName = 2; |
| } |
| |
| message UpdateBlockForPipelineResponseProto { |
| required LocatedBlockProto block = 1; |
| } |
| |
| message UpdatePipelineRequestProto { |
| required string clientName = 1; |
| required ExtendedBlockProto oldBlock = 2; |
| required ExtendedBlockProto newBlock = 3; |
| repeated DatanodeIDProto newNodes = 4; |
| } |
| |
| message UpdatePipelineResponseProto { // void response |
| } |
| |
| message GetDelegationTokenRequestProto { |
| required string renewer = 1; |
| } |
| |
| message GetDelegationTokenResponseProto { |
| required BlockTokenIdentifierProto token = 1; |
| } |
| |
| message RenewDelegationTokenRequestProto { |
| required BlockTokenIdentifierProto token = 1; |
| } |
| |
| message RenewDelegationTokenResponseProto { |
| required uint64 newExireTime = 1; |
| } |
| |
| message CancelDelegationTokenRequestProto { |
| required BlockTokenIdentifierProto token = 1; |
| } |
| |
| message CancelDelegationTokenResponseProto { // void response |
| } |
| |
| message SetBalancerBandwidthRequestProto { |
| required int64 bandwidth = 1; |
| } |
| |
| message SetBalancerBandwidthResponseProto { // void response |
| } |
| |
| |
| service ClientNamenodeProtocol { |
| rpc getBlockLocations(GetBlockLocationsRequestProto) |
| returns(GetBlockLocationsResponseProto); |
| rpc getServerDefaults(GetServerDefaultsRequestProto) |
| returns(GetServerDefaultsResponseProto); |
| rpc create(CreateRequestProto)returns(CreateResponseProto); |
| rpc append(AppendRequestProto) returns(AppendResponseProto); |
| rpc setReplication(SetReplicationRequestProto) |
| returns(SetReplicationResponseProto); |
| rpc setPermission(SetPermissionRequestProto) |
| returns(SetPermissionResponseProto); |
| rpc setOwner(SetOwnerRequestProto) returns(SetOwnerResponseProto); |
| rpc abandonBlock(AbandonBlockRequestProto) returns(AbandonBlockResponseProto); |
| rpc addBlock(AddBlockRequestProto) returns(AddBlockResponseProto); |
| rpc getAdditionalDatanode(GetAdditionalDatanodeRequestProto) |
| returns(GetAdditionalDatanodeResponseProto); |
| rpc complete(CompleteRequestProto) returns(CompleteResponseProto); |
| rpc reportBadBlocks(ReportBadBlocksRequestProto) |
| returns(ReportBadBlocksResponseProto); |
| rpc concat(ConcatRequestProto) returns(ConcatResponseProto); |
| rpc rename(RenameRequestProto) returns(RenameResponseProto); |
| rpc rename2(Rename2RequestProto) returns(Rename2ResponseProto); |
| rpc delete(DeleteRequestProto) returns(DeleteResponseProto); |
| rpc mkdirs(MkdirsRequestProto) returns(MkdirsResponseProto); |
| rpc getListing(GetListingRequestProto) returns(GetListingResponseProto); |
| rpc renewLease(RenewLeaseRequestProto) returns(RenewLeaseResponseProto); |
| rpc recoverLease(RecoverLeaseRequestProto) |
| returns(RecoverLeaseResponseProto); |
| rpc getFsStats(GetFsStatusRequestProto) returns(GetFsStatsResponseProto); |
| rpc getDatanodeReport(GetDatanodeReportRequestProto) |
| returns(GetDatanodeReportResponseProto); |
| rpc getPreferredBlockSize(GetPreferredBlockSizeRequestProto) |
| returns(GetPreferredBlockSizeResponseProto); |
| rpc setSafeMode(SetSafeModeRequestProto) |
| returns(SetSafeModeResponseProto); |
| rpc saveNamespace(SaveNamespaceRequestProto) |
| returns(SaveNamespaceResponseProto); |
| rpc restoreFailedStorage(RestoreFailedStorageRequestProto) |
| returns(RestoreFailedStorageResponseProto); |
| rpc refreshNodes(RefreshNodesRequestProto) returns(RefreshNodesResponseProto); |
| rpc finalizeUpgrade(FinalizeUpgradeRequestProto) |
| returns(FinalizeUpgradeResponseProto); |
| rpc distributedUpgradeProgress(DistributedUpgradeProgressRequestProto) |
| returns(DistributedUpgradeProgressResponseProto); |
| rpc listCorruptFileBlocks(ListCorruptFileBlocksRequestProto) |
| returns(ListCorruptFileBlocksResponseProto); |
| rpc metaSave(MetaSaveRequestProto) returns(MetaSaveResponseProto); |
| rpc getFileInfo(GetFileInfoRequestProto) returns(GetFileInfoResponseProto); |
| rpc getFileLinkInfo(GetFileLinkInfoRequestProto) |
| returns(GetFileLinkInfoResponseProto); |
| rpc getContentSummary(GetContentSummaryRequestProto) |
| returns(GetContentSummaryResponseProto); |
| rpc setQuota(SetQuotaRequestProto) returns(SetQuotaResponseProto); |
| rpc fsync(FsyncRequestProto) returns(FsyncResponseProto); |
| rpc setTimes(SetTimesRequestProto) returns(SetTimesResponseProto); |
| rpc createSymlink(CreateSymlinkRequestProto) |
| returns(CreateSymlinkResponseProto); |
| rpc getLinkTarget(GetLinkTargetRequestProto) |
| returns(GetLinkTargetResponseProto); |
| rpc updateBlockForPipeline(UpdateBlockForPipelineRequestProto) |
| returns(UpdateBlockForPipelineResponseProto); |
| rpc updatePipeline(UpdatePipelineRequestProto) |
| returns(UpdatePipelineResponseProto); |
| rpc getDelegationToken(GetDelegationTokenRequestProto) |
| returns(GetDelegationTokenResponseProto); |
| rpc renewDelegationToken(RenewDelegationTokenRequestProto) |
| returns(RenewDelegationTokenResponseProto); |
| rpc cancelDelegationToken(CancelDelegationTokenRequestProto) |
| returns(CancelDelegationTokenResponseProto); |
| rpc setBalancerBandwidth(SetBalancerBandwidthRequestProto) |
| returns(SetBalancerBandwidthResponseProto); |
| } |