Commit Graph

180 Commits

Author SHA1 Message Date
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
James
a38703fdfc HDFS-9359. Test libhdfs++ with existing libhdfs tests. Contributed by Stephen Walkauskas. 2018-03-22 17:19:45 -04:00
James
64f0e78490 HDFS-9368. Implement reads with implicit offset state in libhdfs++. Contributed by James Clampffer. 2018-03-22 17:19:45 -04:00
Haohui Mai
6f44d92071 HDFS-9103. Retry reads on DN failure. Contributed by James Clampffer. 2018-03-22 17:19:45 -04:00
Haohui Mai
7dd29e548c HDFS-9408. Build both static and dynamic libraries for libhdfspp. Contributed by Stephen Walkauskas. 2018-03-22 17:19:45 -04:00