[
https://issues.apache.org/jira/browse/HDFS-11106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410454#comment-16410454
]
Hudson commented on HDFS-11106:
-------------------------------
SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #13869 (See
[https://builds.apache.org/job/Hadoop-trunk-Commit/13869/])
HDFS-11106: libhdfs++: Some refactoring to better organize files.
(james.clampffer: rev dd7837c429f689e45f91248c1ee5b7d10e168fbf)
* (delete)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/hdfs_public_api.h
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/fs/filehandle.h
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/CMakeLists.txt
* (delete)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/base64.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/connection/datanodeconnection.h
* (add)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/fs/filesystem_sync.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/fs/filesystem.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/sasl_digest_md5_test.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/fs/CMakeLists.txt
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/util.cc
* (delete)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/hdfs_public_api.cc
* (add)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/hdfs_ioservice.cc
* (add)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/hdfs_ioservice.h
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/CMakeLists.txt
HDFS-11106: libhdfs++: Some refactoring to better organize files (part
(james.clampffer: rev 3e53da2d623cfecc9f6af0fcf39413edb46b4092)
* (add)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/namenode_tracker.h
* (add)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection_impl.h
* (add)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/request.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection.h
* (delete)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection.cc
* (add)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/request.h
* (add)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/namenode_tracker.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_engine.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/CMakeLists.txt
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_engine.h
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/rpc_engine_test.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.cc
* (add)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/rpc_connection_impl.cc
> libhdfs++: Some refactoring to better organize files
> ----------------------------------------------------
>
> Key: HDFS-11106
> URL: https://issues.apache.org/jira/browse/HDFS-11106
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: hdfs-client
> Reporter: James Clampffer
> Assignee: James Clampffer
> Priority: Major
> Attachments: HDFS-11106.HDFS-8707.000.patch,
> HDFS-11106.HDFS-8707.001.patch
>
>
> I propose splitting some of the files that have grown wild over time into
> files that align with more specific functionality. It's probably best to do
> this in a few pieces so it doesn't invalidate anyone's patches in progress.
> Here's what I have in mind, looking for feedback if 1) it's not worth doing
> for some reason 2) it will break your patch and you'd like this to wait. I'd
> also like to consolidate related functions, mostly protobuf helpers, that are
> spread around the library into dedicated files.
> Targets (can split each into a separate patch):
> * (done in patch 000, committed) separate the implementation of operations
> from async shim code in files like filesystem.cc (make a
> filesystem_shims.cc). The shims are just boilerplate code that only need to
> change if the signature of their async counterparts change.
> * (done in patch 000, committed) merge base64.cc into util.cc; base64.cc only
> contains a single utility function.
> * (done in patch 000, committed) rename hdfs_public_api.h/cc to
> hdfs_ioservice.h/cc. Originally all of the implementation declarations of
> the public API classes like FileSystemImpl were going to live in here.
> Currently only the hdfs::IoServiceImpl lives in there and the other Impl
> classes have their own dedicated files.
> * split hdfs.cc into hdfs.cc and hdfs_ext.cc. Already have a separate
> hdfs_ext.h for C bindings for libhdfs++ specific extensions so
> implementations of those that live in hdfs.cc would be moved out. Just makes
> things a little cleaner.
> * split apart various RPC code based on classes. Things like Request and
> RpcConnection get defined in rpc_engine.h and then implemented in a handful
> of files which get confusing to navigate e.g. why would one expect Request's
> implementation to be in rpc_connection.cc.
> * Move all of the protobuf<->C++ struct conversion helpers and protobuf wire
> serialization/deserialization functions into a single file. Gives us less
> protobuf header includes and less accidental duplication of these sorts of
> functions.
> Like any refactoring some of it comes down to personal preferences. My hope
> is that by breaking these into smaller patches/commits relatively fast
> forward progress can be made on stuff everyone agrees while things that
> people are concerned about can be worked out in a way that satisfies everyone.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]