Commit Graph

215 Commits

Author SHA1 Message Date
James Clampffer 19ae588fde HDFS-11807. libhdfs++: Get minidfscluster tests running under valgrind. Contributed by Anatoli Shein. 2018-05-02 11:49:12 -04:00
James Clampffer eefe2a147c HDFS-13403: libhdfs++ Use hdfs::IoService object rather than asio::io_service. Contributed by James Clampffer. 2018-04-11 10:27:23 -04:00
James Clampffer 8620d2bdf9 HDFS-12110: libhdfs++: Rebase HDFS-8707 on trunk, minor conflict resolution in this patch. Contributed by Deepak Majeti and Anatoli Shein. 2018-03-22 17:19:47 -04:00
James fc5e44d9ed HDFS-12427: libhdfs++: Prevent requests from holding dangling pointer to RpcEngine. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James 48db24a430 HDFS-11294: libhdfs++: Segfault in HA failover if DNS lookup for both Namenodes fails. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James Clampffer 12942f679a HDFS-10787: libhdfs++: Public API should expose configuration parser. Original patch contributed by Mitchell Tracy, followup work and compile warning fixes contributed by Anatoli Shein. 2018-03-22 17:19:47 -04:00
James Clampffer eeb49d0ca7 HDFS-12237: libhdfs++: PROTOC_IS_COMPATIBLE check fails if protobuf library is built from source. Contributed by Anatoli Shein. 2018-03-22 17:19:47 -04:00
James Clampffer 22ea06a3dd HDFS-12134: libhdfs++: Add a synchronization interface for the GSSAPI. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James Clampffer 033433bce7 HDFS-12026: libhdfs++: Fix compilation errors and warnings when compiling with Clang. Contributed by Anatoli Shein. 2018-03-22 17:19:47 -04:00
James Clampffer 53e40bc718 HDFS-10874: libhdfs++: Public API headers should not depend on internal implementation. Contributed by James Clampffer 2018-03-22 17:19:47 -04:00
James Clampffer 3db261d45b HDFS-12103: libhdfs++: Provide workaround to support cancel on filesystem connect until HDFS-11437 is resolved. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James Clampffer 23afd50865 HDFS-11908: libhdfs++: Authentication failure when first NN of a kerberized HA cluster is standby. Contributed by James Clampffer 2018-03-22 17:19:47 -04:00
James Clampffer e64ba87486 HDFS-12104: libhdfs++: Make sure all steps in SaslProtocol end up calling AuthComplete. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James Clampffer 3c743b475e HDFS-12013: libhdfs++: read with offset at EOF should return 0 bytes instead of error. Contributed by Xiaowei Zhu 2018-03-22 17:19:47 -04:00
James Clampffer c5e7a69523 HDFS-11971: libhdfs++: [Fix] a few portability issues. Contributed by Anatoli Schein 2018-03-22 17:19:47 -04:00
James Clampffer 1c9b174663 HDFS-11518: libhdfs++: Add a build option to skip building examples, tests, and tools. Contributed by Anatoli Schein. 2018-03-22 17:19:47 -04:00
James Clampffer 869317be0a HDFS-10785: libhdfs++: Implement the rest of the tools. Contributed by Anatoli Schein 2018-03-22 17:19:47 -04:00
James Clampffer 52445fd4ee HDFS-11544: libhdfs++: Revert HDFS-11544.HDFS-8707.001.patch due to invalid memory access regression. Done by James Clampffer 2018-03-22 17:19:47 -04:00
James Clampffer c2386bc2f3 HDFS-11758: libhdfs++: Catch exceptions thrown by runtime hooks. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James 57cdad73de HDFS-11767: libhdfs++: SASL events should be scoped closer to usage. Contributed by James Clampffer 2018-03-22 17:19:47 -04:00
James b584e34f2f HDFS-11730: libhdfs++: RpcConnection should handle authorization error call id. Contributed by James Clampffer 2018-03-22 17:19:47 -04:00
James fdb88eb57e HDFS-11544: libhdfs++: Improve C API error reporting. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James 3e53da2d62 HDFS-11106: libhdfs++: Some refactoring to better organize files (part 2). Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James 0f3f8db113 HDFS-11449: libhdfs++: Log Datanode read size when reading from an HDFS block. Contributed by Xiaowei Zhu. 2018-03-22 17:19:47 -04:00
James 606d20c6c0 HDFS-11436: libhdfs++: Fix race condition in ScopedResolver. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James 8783461e2e HDFS-11028: libhdfs++: FileSystem needs to be able to cancel pending connections. Contributed by James Clampffer 2018-03-22 17:19:47 -04:00
James 58de2df860 HDFS-10685: libhdfs++: return explicit error when non-secured client connects to secured server. Contributed by Kai Jiang. 2018-03-22 17:19:47 -04:00
James 69d55340f8 HDFS-11305: libhdfs++: Log Datanode information when reading an HDFS block. Contributed by Xiaowei Zhu. 2018-03-22 17:19:47 -04:00
James a30cf6a369 HDFS-10796: libhdfs++: Previous commit was missing test/hdfs_ioservice_test.cc, adding it. 2018-03-22 17:19:47 -04:00
James fbff671e0f HDFS-10796: libhdfs++: rationalize ioservice interactions. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James dd7837c429 HDFS-11106: libhdfs++: Some refactoring to better organize files. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James 2524afbc20 HDFS-11099: libhdfs++: Expose rack id in hdfsDNInfo. Contributed by Xiaowei Zhu. 2018-03-22 17:19:47 -04:00
James b7d9a0f827 HDFS-11027: libbhdfs++: Don't retry if there is an authentication failure. Contributed by Xiaowei Zhu. 2018-03-22 17:19:47 -04:00
James 59a3926946 HDFS-11014: libhdfs++: Make connection to HA clusters faster. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James 6dd47cae86 libhdfs++: Get rid of lock in RpcConnectionImpl destructor. Contributed by James Clampffer 2018-03-22 17:19:47 -04:00
James 7ebecaeede HDFS-10898: libhdfs++: Make log levels consistent. Contributed by James Clampffer 2018-03-22 17:19:47 -04:00
James 2a42eeb66f HDFS-10931: libhdfs++: Fix object lifecycle issues in the BlockReader (see follow up work in jira). Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
Bob Hansen 69cb05d292 HDFS-10595: libhdfs++: deconflate client name and client id 2018-03-22 17:19:47 -04:00
Bob Hansen d22e4b2eb7 HDFS-10450b: libhdfs++: Add Cyrus SASL support (engines). Contributed by Don Davis. 2018-03-22 17:19:47 -04:00
Bob Hansen 549a5dbce9 HDFS-10450: libhdfs++: Add Cyrus SASL support. Contributed by Don Davis. 2018-03-22 17:19:47 -04:00
James 9d1c902159 HDFS-10705: libhdfs++: FileSystem should have a convenience no-args ctor. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James 4f6cb5d1a1 HDFS-10754: libhdfs++: Create tools directory and implement hdfs_cat, hdfs_chgrp, hdfs_chown, hdfs_chmod and hdfs_find. Contributed by Anatoli Shein. 2018-03-22 17:19:47 -04:00
James 05ddb31081 HDFS-10761: libhdfs++: Fix broken logic in HA retry policy. Contributed by James Clampffer 2018-03-22 17:19:47 -04:00
James b9cf0e932d HDFS-10746: libhdfs++: synchronize access to working_directory and bytes_read_. Contributed by Anatoli Shein. 2018-03-22 17:19:47 -04:00
James cbb3e9fe58 HDFS-10740: libhdfs++: Implement recursive directory generator. Contributed by Anatoli Shein. 2018-03-22 17:19:47 -04:00
James 2a8edd4e52 HDFS-9271: libhdfs++: Implement basic NN operations. Contributed by Anatoli Shein. 2018-03-22 17:19:47 -04:00
James b1ed72e098 HDFS-10739: libhdfs++: In RpcEngine replace vector with deque for pending requests. Contributed by Anatoli Shein. 2018-03-22 17:19:47 -04:00
James 649aff11fe HDFS-10672: libhdfs++: reorder directories in src/main/libhdfspp/examples, and add C++ version of cat tool. Contributed by Anatoli Shein. 2018-03-22 17:19:47 -04:00
James 4cb0dad5e5 HDFS-10441: libhdfs++: HA namenode support. Contributed by James Clampffer. 2018-03-22 17:19:47 -04:00
James d75c835696 Revert HDFS-10543 patch due to correctness issues it caused. Done by James Clampffer 2018-03-22 17:19:47 -04:00
James a586ccbcfa HDFS-9890: libhdfs++: Add test suite to simulate network issues. Contributed by Xiaowei Zhu. 2018-03-22 17:19:47 -04:00
James a23e6b422b HDFS-10578. libhdfs++: Silence compile warnings from URI parser. Contributed by James Clampffer 2018-03-22 17:19:46 -04:00
James a0c7aee3b6 HDFS-10543: libhdfs++: hdfsRead stops at block boundary. Contributed by Xiaowei Zhu. 2018-03-22 17:19:46 -04:00
Bob Hansen d4c3cfbf47 HDFS-10524: libhdfs++: Implement chmod and chown. Contributed by Anatoli Shein. 2018-03-22 17:19:46 -04:00
Bob Hansen 88c5768f99 HDFS-10515: libhdfs++: Implement mkdirs, rmdir, rename, and remove 2018-03-22 17:19:46 -04:00
Bob Hansen 193314dc34 HDFS-10511: libhdfs++: make error returning mechanism consistent across all hdfs operations. Contributed by Anatoli Shein. 2018-03-22 17:19:46 -04:00
Bob Hansen 2616fe2025 HDFS-10526: libhdfs++: Add connect timeouts to async_connect calls. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James de6fce7817 HDFS-10527: libhdfs++: hdfsGetBlockLocations doesn't null terminate ip address strings. Contributed by James Clampffer. 2018-03-22 17:19:46 -04:00
Bob Hansen 9ac66ccaa3 HDFS-10494: libhdfs++: Implement snapshot operations and GetFsStats. Contributed by Anatoli Shein. 2018-03-22 17:19:46 -04:00
James d64bbf983e Revert HDFS-9890. Needs some more work to reflect the current status of HDFS-8707. Done by James Clampffer 2018-03-22 17:19:46 -04:00
James 11b68ecebe HDFS-9890. libhdfs++: Add test suite to simulate network issues. Contributed by Xiaowei Zhu. 2018-03-22 17:19:46 -04:00
Bob Hansen 50aa4ea776 HDFS-10454: libhdfspp: Move NameNodeOp to a separate file. Contributed by Anatoli Shein. 2018-03-22 17:19:46 -04:00
Bob Hansen 0496bc5464 HDFS-10464: libhdfs++: Implement GetPathInfo and ListDirectory. Contributed by Anatoli Shein. 2018-03-22 17:19:46 -04:00
Bob Hansen 18f4d2f42e HDFS-10465: libhdfs++: Implement GetBlockLocations. Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
Bob Hansen f1f0b8f0f8 HDFS-10366: libhdfs++: Add SASL authentication. Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
James 93382381f6 HDFS-10188. libhdfs++: Implement debug allocators. Contributed by Xiaowei Zhu 2018-03-22 17:19:46 -04:00
James b9eeecc477 HDFS-10332. hdfs-native-client fails to build with CMake 2.8.11 or earlier. Contributed by Tibor Kiss 2018-03-22 17:19:46 -04:00
James cc51f2ce58 HDFS-10310. hdfsConnect hangs when given bad host or port. Contributed by James Clampffer. 2018-03-22 17:19:46 -04:00
James e542db66ee HDFS-10311: DatanodeConnection::Cancel should not delete the underlying socket. Contributed by James Clampffer 2018-03-22 17:19:46 -04:00
James 1cbfd6f962 libhdfs++: File length doesn't always count the last block if it's being written to. Contributed by Xiaowei Zhu. 2018-03-22 17:19:46 -04:00
James 60c3437267 HDFS-10247: libhdfs++: Datanode protocol version mismatch fix. Contributed by James Clampffer 2018-03-22 17:19:46 -04:00
Bob Hansen ed77d8d5df HDFS-10231: libhdfs++: Fix race conditions in RPC layer. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James 015d93a715 HDFS-10222. libhdfs++: Shutdown sockets to avoid 'Connection reset by peer'. Contributed by James Clampffer 2018-03-22 17:19:46 -04:00
James 427edae365 HDFS-9616. libhdfs++: Add runtime hooks to allow a client application to add low level monitoring and tests. Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
James 0f1a278dd5 HDFS-9118: libhdfs++ Add logging system. Contributed by James Clampffer 2018-03-22 17:19:46 -04:00
Bob Hansen 8f4a66ab8f HDFS-9556: libhdfs++: pull Options from default configs by default. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
Bob Hansen f25bff50bf HDFS-9932: added uriparser2 library to HDFS-8707. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
Bob Hansen 69ee2e6a7e HDFS-9792: libhdfs++: EACCES not setting errno correctly. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James 6a96f978eb HDFS-9699: libhdfs++: Add appropriate catch blocks for asio operations that throw. Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
Bob Hansen 1600e6bba8 HDFS-9791: libhdfs+_+: ConfigurationLoader throws parse_exception on invalid input. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James 2cd7ab5e94 HDFS-9753. libhdfs++: Client fails to pass TokenProto from LocatedBlockProto to server when reading a block. Contributed by James Clampffer. 2018-03-22 17:19:46 -04:00
Bob Hansen 22ae319360 HDFS-9737: libhdfs++: Create examples of consuming libhdfs++ (pt 2). Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
Bob Hansen f591b95e08 HDFS-9749: libhdfs++: RPC engine will attempt to close an asio socket before it's been opened. Contributed by James Clampffer 2018-03-22 17:19:46 -04:00
Bob Hansen 288a9a9ee7 HDFS-9741: libhdfs++: GetLastError not returning meaningful messages after some failures. Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
Bob Hansen d807773752 HDFS-9738: libhdfs++: Implement simple authentication. Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
Bob Hansen 71b4f2ea25 HDFS-9737: libhdfs++: Create examples of consuming libhdfs++. Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
Bob Hansen 7e946c7e30 HDFS-9712. libhdfs++: Reimplement Status object as a normal struct 2018-03-22 17:19:46 -04:00
Bob Hansen ad23cf1490 HDFS-9679: Fix inconsistencies with libhdfs C API. Contributed by James Clampffer 2018-03-22 17:19:46 -04:00
James 166b3d49df HDFS-9643. libhdfs++: Support async cancellation of read operations. Contributed by James Clampffer. 2018-03-22 17:19:46 -04:00
James 5cd2a1766c HDFS-9687. libhdfs++: potential segfault after teardown. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James 1017ccabeb HDFS-9628. libhdfs++: implement builder apis from C bindings. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James dc335474a6 HDFS-9636. libhdfs++: for consistency, include files should be in hdfspp. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James 11671c2bf6 HDFS-9627. libhdfs++: Add mechanism to retrieve human readable error messages through the C API. Contributed by James Clampffer. 2018-03-22 17:19:46 -04:00
James e376c022f4 HDFS-9609. libhdfs++: Allow seek to EOF. Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
James 7d8452040d HDFS-9325. libhdfs++ Allow the location of hadoop source tree resources to be passed to CMake during a build. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James 5dc2da1e6f HDFS-9487. libhdfs++ Enable builds with no compiler optimizations. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James e18db92398 HDFS-9523. libhdfs++: failure to connect to ipv6 host causes CI unit tests to fail. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James 31d28e3105 HDFS-9524. libhdfs++ deadlocks in Filesystem::New if NN connection fails. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James dba377bfcc HDFS-9448. Enable valgrind for libhdfspp unit tests. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James 6c80d02a03 HDFS-9538. libhdfs: load configuration from files. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00