[ 
https://issues.apache.org/jira/browse/HDFS-7014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14163227#comment-14163227
 ] 

Zhanwei Wang commented on HDFS-7014:
------------------------------------

1. missing encryption.proto and inotify.proto

{code}
[  6%] Running C++ protocol buffer compiler on 
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/build/hdfs_pb/ClientNamenodeProtocol.proto
cd 
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/build/src
 && /Users/wangzw/workspace/libhdfs3-V2/ext/osx106_x86_64/bin/protoc --cpp_out 
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/build/src
 -I 
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/build/common_pb
 -I 
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/build/hdfs_pb
 
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/build/hdfs_pb/ClientNamenodeProtocol.proto
encryption.proto: File not found.
inotify.proto: File not found.
ClientNamenodeProtocol.proto: Import "encryption.proto" was not found or had 
errors.
ClientNamenodeProtocol.proto: Import "inotify.proto" was not found or had 
errors.
ClientNamenodeProtocol.proto:696:12: "EventsListProto" is not defined.
ClientNamenodeProtocol.proto:834:28: "CreateEncryptionZoneRequestProto" is not 
defined.
ClientNamenodeProtocol.proto:835:15: "CreateEncryptionZoneResponseProto" is not 
defined.
ClientNamenodeProtocol.proto:836:27: "ListEncryptionZonesRequestProto" is not 
defined.
ClientNamenodeProtocol.proto:837:15: "ListEncryptionZonesResponseProto" is not 
defined.
ClientNamenodeProtocol.proto:838:20: "GetEZForPathRequestProto" is not defined.
ClientNamenodeProtocol.proto:839:15: "GetEZForPathResponseProto" is not defined.

{code}

2. FileSystemImpl should be used internally and not expose in interface, user 
cannot get an instance of FileSystemImpl.

change the interface of InputStream::open to 

{code}
void open(FileSystem &fs,
              const char *path, bool verifyChecksum = true);
{code}

change the interface of OutputStream::open to

{code}

void open(FileSystem &fs,
              const char *path, int flag = Create,
              const Permission permission = Permission(0644),
              bool createParent = false, int replication = 0,
              int64_t blockSize = 0);

{code}

move {{DirectoryIterator(hdfs::internal::FileSystemImpl *const fs, std::string 
path, bool needLocations)}} to private section.

3. check if the filesystem is connected in InputStream::open and 
OutputStream::open

4. Install some header files when run {{make install}}

> Implement input and output streams to DataNode for native client
> ----------------------------------------------------------------
>
>                 Key: HDFS-7014
>                 URL: https://issues.apache.org/jira/browse/HDFS-7014
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client
>            Reporter: Zhanwei Wang
>            Assignee: Colin Patrick McCabe
>         Attachments: 0001-HDFS-7014-001.patch, HDFS-7014.patch
>
>
> Implement Client - Namenode RPC protocol and support Namenode HA.
> Implement Client - Datanode RPC protocol.
> Implement some basic server side class such as ExtendedBlock and LocatedBlock



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to