Commit Graph

202 Commits

Author SHA1 Message Date
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
James 567c3ed44f HDFS-9537. libhdfs++ implement HDFSConfiguration class. Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
James 6c33f89aea HDFS-9417. Clean up the RAT warnings in the HDFS-8707 branch. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James 7cd98323ec HDFS-9489. Enable CI infrastructure to use libhdfs++ hdfsRead. Contributed by Stephen Walkauskas. 2018-03-22 17:19:46 -04:00
James d6a04cdbdd HDFS-9460. Suppress warnings from third-party libraries. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James c59bd00a56 HDFS-9486. Fix valgrind failures when using more than 1 io_service worker thread. Contributed by James Clampffer. 2018-03-22 17:19:46 -04:00
James 58f2c7183e HDFS-9228. libhdfs++ should respect NN retry configuration settings. Contributed by Bob Hansen 2018-03-22 17:19:46 -04:00
James eb70a64362 HDFS-9504. Initialize BadNodeTracker in FileSystemImpl constructor. Contributed by James Clampffer. 2018-03-22 17:19:46 -04:00
James 8dac1094d8 HDFS-9497. move lib/proto/cpp_helpers to third-party since it won't have an ASF license. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James d7ecf396c9 HDFS-9144. Refactoring libhdfs++ into stateful/ephemeral objects. Contributed by Bob Hansen. 2018-03-22 17:19:46 -04:00
James 5ba8e8ab7b Revert HDFS-9448. 2018-03-22 17:19:46 -04:00
James 9a0a34bbfa HDFS-9448. Enable valgrind for libhdfspp unit tests. Contributed by Bob Hansen. 2018-03-22 17:19:45 -04:00
James 584c2a204d HDFS-9452. libhdfs++ Fix memory stomp in OpenFileForRead. Contributed by James Clampffer 2018-03-22 17:19:45 -04:00
James 87362b1c17 HDFS-9117. Config file reader / options classes for libhdfs++. Contributed by Bob Hansen. 2018-03-22 17:19:45 -04:00