Skip to content

Conversation

@phrocker
Copy link
Contributor

and wangle and use std c++17

Copy link
Contributor

@bharathv bharathv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me know when this is ready for review, I'll take a look, thanks.

@phrocker
Copy link
Contributor Author

@bharathv Thanks. making some changes now to download double conversion and gsasl2. will mark as ready for review after. thanks!

@phrocker phrocker marked this pull request as ready for review June 23, 2020 18:29
@phrocker phrocker force-pushed the HBASE-23105 branch 2 times, most recently from 62da5ee to acf5029 Compare June 23, 2020 18:38
Copy link
Contributor

@bharathv bharathv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice.. I skimmed through the PR, cmake side changes seem fine, I'll take a look at the code changes later this week.

Copy link
Contributor

@bharathv bharathv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initial round of comments, yet to try out the patch, might have a few more, thanks for your patience.

CMakeLists.txt Outdated
include_directories("${JAVA_HBASE_DIR}/hbase-common/target/generated-sources/native/")
############
## Validate that we have C++ 14 support
## Validate that we have C++ 17 support
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this for std::optional?

Copy link
Contributor Author

@phrocker phrocker Jul 9, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes my hope was to move forward as it would support optional. In retrospect after a nice break from computers during a week off I don't want to push for this change without a lot more testing. I will revert this part of the change. I've grown fond of c++17, but I think you'd agree it's an unnecessary change at this time. Thanks for your patience and help!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ya, preferred to keep at 14 unless there is a lot of upside IMO. Like I mentioned in my other patch, we are going to have a precommit soon, so we will have good test coverage in a clean environment once we get #10 in.

CMakeLists.txt Outdated

if (DOWNLOAD_DEPENDENCIES)
download_doubleconversion(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
download_fizz(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs corresponding changes in Dockerfile?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh sorry I have these changes staged. Will roll them in and sanity check them. Thanks!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed a commit but will ping you after I've made some additional changes regarding this. I'm going to re-run through some tests. thanks!

BINARY_DIR ${BUILD_DIR}/dependencies/cyrussasl-src/
CONFIGURE_COMMAND ./configure --enable-static --with-pic --prefix=${BUILD_DIR}/dependencies/cyrussasl-install
"CFLAGS=-fPIC"
"CXXFLAGS=${CMAKE_CXX_FLAGS} -fPIC"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: unnecessary line break

"CFLAGS=-fPIC"
"CXXFLAGS=${CMAKE_CXX_FLAGS} -fPIC"
)
add_library(sasl2 STATIC IMPORTED)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move this to CMakeLists like other dependencies?

# specific language governing permissions and limitations
# under the License.

## Download facebook's folly library.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Download "double conv"... ? Looks like a copy-paste mistake.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes I didn't go through this PR to look for things like this. sorry for the careless mistakes.

@@ -0,0 +1,4 @@
3480c3480
< static char buf[128];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I had updated zk but decided not to. You are correct thanks!

@@ -0,0 +1,4 @@
559c559
< strncpy(cmd, argv[2]+4, sizeof(cmd));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused?


namespace hbase {

template <class T>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice..

GroupAndSend(actions_, 1);
return collectAll(action2futures_);
// use the executor to convert he SemiFuture to a Future.
return std::move(collectAll(action2futures_)).via(cpu_pool_.get());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whats the need for move() everywhere? Isn't a copy elided with RVO?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah I'm surprised to see that there too. This is something I'm usually good at picking up in reviews of others' code, so it's kind of embarrassing that I didn't notice this myself, but I got pretty careless when I pulled this commit out from the original PR. Removed!

HBaseConfigurationLoader loader;
hbase::optional<Configuration> conf = loader.LoadDefaultResources();
ASSERT_TRUE(conf != none) << "No configuration object present.";
ASSERT_TRUE(conf ) << "No configuration object present.";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trailing space every where, missed it in a sed command? :-D

Copy link
Contributor

@bharathv bharathv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had a chance to apply your patch locally and try it out, running into this weird linker issue.

dependencies/facebook-folly-proj-install/lib/libfolly.a(AtFork.cpp.o): In function folly::detail::(anonymous namespace)::AtForkList::AtForkList()': /hbase-native-client2/build/dependencies/facebook-folly-proj-src/folly/detail/AtFork.cpp:95: undefined reference to pthread_atfork'
collect2: error: ld returned 1 exit status
CMakeFiles/simple-client.dir/build.make:139: recipe for target 'bin/examples/simple-client' failed
make[2]: *** [bin/examples/simple-client] Error 1
CMakeFiles/Makefile2:554: recipe for target 'CMakeFiles/simple-client.dir/all' failed
make[1]: *** [CMakeFiles/simple-client.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 96%] Building CXX object CMakeFiles/delete-test.dir/src/test/d

You don't run into this? I don't see anything the patch touches related to this.. I thought find_package(Threads) should transparently handle this and set CMAKE_THREAD_LIBS_INIT and I see it is being added to simple-client.. or may be I messed something up locally.

@phrocker
Copy link
Contributor Author

phrocker commented Jul 7, 2020

Had a chance to apply your patch locally and try it out, running into this weird linker issue.

dependencies/facebook-folly-proj-install/lib/libfolly.a(AtFork.cpp.o): In function folly::detail::(anonymous namespace)::AtForkList::AtForkList()': /hbase-native-client2/build/dependencies/facebook-folly-proj-src/folly/detail/AtFork.cpp:95: undefined reference to pthread_atfork'
collect2: error: ld returned 1 exit status
CMakeFiles/simple-client.dir/build.make:139: recipe for target 'bin/examples/simple-client' failed
make[2]: *** [bin/examples/simple-client] Error 1
CMakeFiles/Makefile2:554: recipe for target 'CMakeFiles/simple-client.dir/all' failed
make[1]: *** [CMakeFiles/simple-client.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 96%] Building CXX object CMakeFiles/delete-test.dir/src/test/d

You don't run into this? I don't see anything the patch touches related to this.. I thought find_package(Threads) should transparently handle this and set CMAKE_THREAD_LIBS_INIT and I see it is being added to simple-client.. or may be I messed something up locally.

I'm back from vacation so I'll take a look with a fresh build environment. Thanks!

@phrocker
Copy link
Contributor Author

phrocker commented Jul 9, 2020

Had a chance to apply your patch locally and try it out, running into this weird linker issue.

dependencies/facebook-folly-proj-install/lib/libfolly.a(AtFork.cpp.o): In function folly::detail::(anonymous namespace)::AtForkList::AtForkList()': /hbase-native-client2/build/dependencies/facebook-folly-proj-src/folly/detail/AtFork.cpp:95: undefined reference to pthread_atfork'
collect2: error: ld returned 1 exit status
CMakeFiles/simple-client.dir/build.make:139: recipe for target 'bin/examples/simple-client' failed
make[2]: *** [bin/examples/simple-client] Error 1
CMakeFiles/Makefile2:554: recipe for target 'CMakeFiles/simple-client.dir/all' failed
make[1]: *** [CMakeFiles/simple-client.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 96%] Building CXX object CMakeFiles/delete-test.dir/src/test/d

You don't run into this? I don't see anything the patch touches related to this.. I thought find_package(Threads) should transparently handle this and set CMAKE_THREAD_LIBS_INIT and I see it is being added to simple-client.. or may be I messed something up locally.

I'm back from vacation so I'll take a look with a fresh build environment. Thanks!

I did not notice any linker issues. I noticed a few things that were poorly extracted from my rebase ( and pulling commits from the original PR ), so it could be related to that. I have only tried on U20, so I will try across distros and docker now.

@phrocker
Copy link
Contributor Author

phrocker commented Jul 9, 2020

Had a chance to apply your patch locally and try it out, running into this weird linker issue.

dependencies/facebook-folly-proj-install/lib/libfolly.a(AtFork.cpp.o): In function folly::detail::(anonymous namespace)::AtForkList::AtForkList()': /hbase-native-client2/build/dependencies/facebook-folly-proj-src/folly/detail/AtFork.cpp:95: undefined reference to pthread_atfork'
collect2: error: ld returned 1 exit status
CMakeFiles/simple-client.dir/build.make:139: recipe for target 'bin/examples/simple-client' failed
make[2]: *** [bin/examples/simple-client] Error 1
CMakeFiles/Makefile2:554: recipe for target 'CMakeFiles/simple-client.dir/all' failed
make[1]: *** [CMakeFiles/simple-client.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 96%] Building CXX object CMakeFiles/delete-test.dir/src/test/d

You don't run into this? I don't see anything the patch touches related to this.. I thought find_package(Threads) should transparently handle this and set CMAKE_THREAD_LIBS_INIT and I see it is being added to simple-client.. or may be I messed something up locally.

I'm back from vacation so I'll take a look with a fresh build environment. Thanks!

I did not notice any linker issues. I noticed a few things that were poorly extracted from my rebase ( and pulling commits from the original PR ), so it could be related to that. I have only tried on U20, so I will try across distros and docker now.

@bharathv I just checked my docker builds and they failed due to c++17. I anticipated this so I'll verify that and fix accordingly.

Copy link
Contributor

@bharathv bharathv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@phrocker I integrated the precommit now and you should see an update from the bot here shortly for this PR. I'd expect it to fail though (seems like something I broke in the master). So, just a heads up. I'll fix it soon.

Also, let me know once this ready for review, can take another pass.

@Apache-HBase
Copy link

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/1/console in case of problems.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 331 Docker mode activated.
_ Prechecks _
_ master Compile Tests _
-1 CMakeLists.txt 1059 root in master failed.
-1 compile 6 root in master failed.
_ Patch Compile Tests _
-1 CMakeLists.txt 296 root in the patch failed.
-1 compile 48 root in the patch failed.
_ Other Tests _
-1 unit 7 root in the patch failed.
1767
Reason Tests
Failed CTEST tests server-name-test
concurrent-map-test
zk-util-test
get-test
rpc-test
zk-deserializer-test
append-test
put-test
region-info-deserializer-test
scan-result-cache-test
hbase-configuration-test
cell-test
increment-test
user-util-test
scan-test
filter-test
client-deserializer-test
async-batch-rpc-retrying-test
connection-pool-test
table-name-test
location-cache-test
async-rpc-retrying-test
bytes-util-test
client-test
result-test
delete-test
exception-test
time-range-test
scanner-test
configuration-test
request-converter-test
client-serializer-test
location-cache-retry-test
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/Dockerfile
GITHUB PR #6
JIRA Issue HBASE-23105
Optional Tests compile unit
uname Linux securecluster 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool cmake
Personality bin/hbase-native-client-personality.sh
git revision master / 931ecad
CMakeLists.txt https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/branch-CMakeLists.txt-root.txt
compile https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/branch-compile-root.txt
CMakeLists.txt https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/patch-CMakeLists.txt-root.txt
compile https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/patch-compile-root.txt
CTEST https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/patch-root-ctest.txt
unit https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/patch-unit-root.txt
Test Results https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/1/testReport/
Max. process+thread count 75 (vs. ulimit of 1000)
modules C: . U: .
Console output https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/1/console
versions git=2.7.4 cmake=cmake version 3.5.1 make=GNU Make 4.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@phrocker phrocker force-pushed the HBASE-23105 branch 2 times, most recently from 6c7c22e to 62dc042 Compare July 14, 2020 10:21
@Apache-HBase
Copy link

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/3/console in case of problems.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 813 Docker mode activated.
_ Prechecks _
_ master Compile Tests _
-1 CMakeLists.txt 1243 root in master failed.
-1 compile 4 root in master failed.
_ Patch Compile Tests _
+1 CMakeLists.txt 351 the patch passed
-1 compile 53 root in the patch failed.
_ Other Tests _
-1 unit 6 root in the patch failed.
2486
Reason Tests
Failed CTEST tests zk-deserializer-test
filter-test
scanner-test
scan-result-cache-test
get-test
hbase-configuration-test
client-test
location-cache-retry-test
table-name-test
async-batch-rpc-retrying-test
cell-test
increment-test
connection-pool-test
put-test
user-util-test
server-name-test
bytes-util-test
delete-test
rpc-test
client-deserializer-test
region-info-deserializer-test
configuration-test
location-cache-test
concurrent-map-test
async-rpc-retrying-test
append-test
time-range-test
result-test
zk-util-test
request-converter-test
client-serializer-test
exception-test
scan-test
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/3/artifact/hbase-native-client-precommit/output/Dockerfile
GITHUB PR #6
JIRA Issue HBASE-23105
Optional Tests compile unit
uname Linux securecluster 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool cmake
Personality bin/hbase-native-client-personality.sh
git revision master / 931ecad
CMakeLists.txt https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/3/artifact/hbase-native-client-precommit/output/branch-CMakeLists.txt-root.txt
compile https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/3/artifact/hbase-native-client-precommit/output/branch-compile-root.txt
compile https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/3/artifact/hbase-native-client-precommit/output/patch-compile-root.txt
CTEST https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/3/artifact/hbase-native-client-precommit/output/patch-root-ctest.txt
unit https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/3/artifact/hbase-native-client-precommit/output/patch-unit-root.txt
Test Results https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/3/testReport/
Max. process+thread count 63 (vs. ulimit of 1000)
modules C: . U: .
Console output https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/3/console
versions git=2.7.4 cmake=cmake version 3.5.1 make=GNU Make 4.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/4/console in case of problems.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 326 Docker mode activated.
_ Prechecks _
_ master Compile Tests _
-1 CMakeLists.txt 1063 root in master failed.
-1 compile 6 root in master failed.
_ Patch Compile Tests _
+1 CMakeLists.txt 279 the patch passed
-1 compile 20 root in the patch failed.
_ Other Tests _
-1 unit 7 root in the patch failed.
1725
Reason Tests
Failed CTEST tests hbase-configuration-test
server-name-test
client-deserializer-test
location-cache-test
concurrent-map-test
rpc-test
scanner-test
cell-test
result-test
connection-pool-test
scan-result-cache-test
location-cache-retry-test
append-test
zk-util-test
get-test
user-util-test
region-info-deserializer-test
time-range-test
bytes-util-test
client-serializer-test
async-rpc-retrying-test
scan-test
put-test
configuration-test
request-converter-test
client-test
table-name-test
filter-test
increment-test
delete-test
async-batch-rpc-retrying-test
zk-deserializer-test
exception-test
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/4/artifact/hbase-native-client-precommit/output/Dockerfile
GITHUB PR #6
JIRA Issue HBASE-23105
Optional Tests compile unit
uname Linux securecluster 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool cmake
Personality bin/hbase-native-client-personality.sh
git revision master / 931ecad
CMakeLists.txt https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/4/artifact/hbase-native-client-precommit/output/branch-CMakeLists.txt-root.txt
compile https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/4/artifact/hbase-native-client-precommit/output/branch-compile-root.txt
compile https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/4/artifact/hbase-native-client-precommit/output/patch-compile-root.txt
CTEST https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/4/artifact/hbase-native-client-precommit/output/patch-root-ctest.txt
unit https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/4/artifact/hbase-native-client-precommit/output/patch-unit-root.txt
Test Results https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/4/testReport/
Max. process+thread count 76 (vs. ulimit of 1000)
modules C: . U: .
Console output https://builds.apache.org/job/hbase-native-client-github-precommit/job/PR-6/4/console
versions git=2.7.4 cmake=cmake version 3.5.1 make=GNU Make 4.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/console in case of problems.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 961 Docker mode activated.
_ Prechecks _
_ master Compile Tests _
-1 CMakeLists.txt 1055 root in master failed.
-1 compile 4 root in master failed.
_ Patch Compile Tests _
+1 CMakeLists.txt 291 the patch passed
-1 compile 36 root in the patch failed.
_ Other Tests _
-1 unit 5 root in the patch failed.
2371
Reason Tests
Failed CTEST tests location-cache-test
filter-test
async-rpc-retrying-test
location-cache-retry-test
hbase-configuration-test
table-name-test
delete-test
client-test
client-serializer-test
scan-test
request-converter-test
concurrent-map-test
zk-util-test
result-test
exception-test
user-util-test
server-name-test
zk-deserializer-test
get-test
put-test
configuration-test
increment-test
cell-test
connection-pool-test
append-test
bytes-util-test
scanner-test
time-range-test
scan-result-cache-test
client-deserializer-test
rpc-test
region-info-deserializer-test
async-batch-rpc-retrying-test
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/Dockerfile
GITHUB PR #6
JIRA Issue HBASE-23105
Optional Tests compile unit
uname Linux securecluster 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool cmake
Personality bin/hbase-native-client-personality.sh
git revision master / 7281fc6
CMakeLists.txt https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/branch-CMakeLists.txt-root.txt
compile https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/branch-compile-root.txt
compile https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/patch-compile-root.txt
CTEST https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/patch-root-ctest.txt
unit https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/artifact/hbase-native-client-precommit/output/patch-unit-root.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/testReport/
Max. process+thread count 76 (vs. ulimit of 1000)
modules C: . U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/console
versions git=2.7.4 cmake=cmake version 3.5.1 make=GNU Make 4.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/2/console in case of problems.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 316 Docker mode activated.
_ Prechecks _
_ master Compile Tests _
-1 CMakeLists.txt 1098 root in master failed.
-1 compile 5 root in master failed.
_ Patch Compile Tests _
+1 CMakeLists.txt 291 the patch passed
-1 compile 26 root in the patch failed.
_ Other Tests _
-1 unit 6 root in the patch failed.
1762
Reason Tests
Failed CTEST tests put-test
cell-test
client-serializer-test
location-cache-test
get-test
scan-test
table-name-test
client-test
append-test
scan-result-cache-test
filter-test
zk-util-test
async-rpc-retrying-test
connection-pool-test
bytes-util-test
result-test
time-range-test
exception-test
zk-deserializer-test
user-util-test
configuration-test
rpc-test
async-batch-rpc-retrying-test
hbase-configuration-test
location-cache-retry-test
server-name-test
region-info-deserializer-test
increment-test
concurrent-map-test
scanner-test
request-converter-test
delete-test
client-deserializer-test
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/2/artifact/hbase-native-client-precommit/output/Dockerfile
GITHUB PR #6
JIRA Issue HBASE-23105
Optional Tests compile unit
uname Linux securecluster 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool cmake
Personality bin/hbase-native-client-personality.sh
git revision master / 3b86174
CMakeLists.txt https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/2/artifact/hbase-native-client-precommit/output/branch-CMakeLists.txt-root.txt
compile https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/2/artifact/hbase-native-client-precommit/output/branch-compile-root.txt
compile https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/2/artifact/hbase-native-client-precommit/output/patch-compile-root.txt
CTEST https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/2/artifact/hbase-native-client-precommit/output/patch-root-ctest.txt
unit https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/2/artifact/hbase-native-client-precommit/output/patch-unit-root.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/2/testReport/
Max. process+thread count 76 (vs. ulimit of 1000)
modules C: . U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/2/console
versions git=2.7.4 cmake=cmake version 3.5.1 make=GNU Make 4.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@phrocker
Copy link
Contributor Author

@bharathv Sorry for the delay. I'm rebasing and rebuilding. ran into some issues with boost so I'll correct those then push them up . Thanks!

@Apache-HBase
Copy link

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/6/console in case of problems.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 0 Docker mode activated.
-1 docker 12 Docker failed to build yetus/hbase-native-client:3b81c3d.
Subsystem Report/Notes
GITHUB PR #6
JIRA Issue HBASE-23105
Console output https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/6/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@phrocker
Copy link
Contributor Author

@bharathv I relied on CI to run docker for me. that appears to be the issue. xenial doesn't have libfmt-dev -- so I'll have to download that manually or add it to the build to get it to work, which should be pretty easy. hopefully will check the pre-commit after or run yetus manually. thanks for the info on how to run it!

Copy link
Contributor

@bharathv bharathv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm running into this when compiling with the patch locally.

In file included from hbase-native-client/build/dependencies/facebook-folly-proj-install/include/folly/functional/ApplyTuple.h:25:0,
from hbase-native-client/build/dependencies/facebook-folly-proj-install/include/folly/hash/Hash.h:31,
from hbase-native-client/build/dependencies/facebook-folly-proj-install/include/folly/FBString.h:45,
from hbase-native-client/build/dependencies/facebook-folly-proj-install/include/folly/io/IOBuf.h:30,
from hbase-native-client/build/dependencies/facebook-fizz-proj-src/fizz/crypto/exchange/KeyExchange.h:12,
from hbase-native-client/build/dependencies/facebook-fizz-proj-src/fizz/crypto/exchange/X25519.h:11,
from hbase-native-client/build/dependencies/facebook-fizz-proj-src/fizz/crypto/exchange/X25519.cpp:9:
hbase-native-client/build/dependencies/facebook-folly-proj-install/include/folly/functional/Invoke.h:22:10: fatal error: boost/preprocessor/control/expr_iif.hpp: No such file or directory
#include <boost/preprocessor/control/expr_iif.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Looks like fizz compilation is not able to locate boost includes in a non-standard location needed by folly. Are you not running into this? Perhaps you have a boost OS package ?

46a47,54
>
> if(NOT APPLE)
> if(NOT WIN32)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No worries, was just curious. ya, if (LINUX) would be simpler.

target_link_libraries(simple-client ${KRB5_LIBRARIES})
target_link_libraries(simple-client ${ZOOKEEPER_LIBRARIES})
target_link_libraries(simple-client hbaseclient-static ${CMAKE_THREAD_LIBS_INIT})
target_link_libraries(simple-client ${WHOLE_ARCHIVE} ${Boost_context} ${NO_WHOLE_ARCHIVE})
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, fine to do a follow on patch.

SOURCE_DIR "${BUILD_DIR}/dependencies/facebook-fizz-proj-src"
PATCH_COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/cmake/folly/local/FindFolly.cmake" ${BUILD_DIR}/dependencies/facebook-fizz-proj-src/fizz/cmake/
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/cmake/doubleconversion/local/FindDoubleConversion.cmake" ${BUILD_DIR}/dependencies/facebook-fizz-proj-src/fizz/cmake
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/cmake/boost/local/FindBoost.cmake" ${BUILD_DIR}/dependencies/facebook-fizz-proj-src/fizz/cmake
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't look like FindBoost is being used anywhere AFAICT.

Copy link
Contributor

@bharathv bharathv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I relied on CI to run docker for me. that appears to be the issue. xenial doesn't have libfmt-dev -- so I'll have to download that manually or add it to the build to get it to work, which should be pretty easy. hopefully will check the pre-commit after or run yetus manually. thanks for the info on how to run it!?.

Cool. Let me know know if you run into any issues with local docker run, happy to help.

Copy link
Contributor

@bharathv bharathv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@phrocker I finally had a chance to apply this patch locally. I fixed some issues with folly/fizz etc compiling with the downloaded version of boost and then there was an issue with cyrussasl.

One last issue I'm running into is with boost linking of simple-client/load-client. Seems like a real head scratcher. Linker is not able to resolve boost symbols while 'nm' of the hbase client shows they are in the archive .. just wanted to share the update while I try out a few more things.

@bharathv
Copy link
Contributor

I think your following change also is related to the issue I'm running into, so perhaps you already know what the problem is

target_link_libraries(simple-client ${WHOLE_ARCHIVE} ${Boost_context} ${NO_WHOLE_ARCHIVE})

@bharathv
Copy link
Contributor

I figured out the issue, submitted a new PR with my patch on top #14.

A quick summary of my patch addition

  • Patched fizz/wangle to find boost libs and pass boost root during compilation
  • Fixed the linking issue (removed your WHOLE_ARCHIVE workaround), our linking is still a bit messed up but I think the patch should be ok for now
  • Added cyrussasl dependency so that its compiled correctly.

Lets see how the precommit goes. There was an issue with libfmt-dev not available for ubuntu 16.04 but that looks optional, so removed it (not sure though).

@phrocker Feel free to apply my patch on top of your PR, I don't wan't to take credit for your work with one small final patch :-).

@Apache-HBase
Copy link

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/console in case of problems.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 0 Docker mode activated.
-1 docker 20 Docker failed to build yetus/hbase-native-client:3b81c3d.
Subsystem Report/Notes
GITHUB PR #6
JIRA Issue HBASE-23105
Console output https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/console in case of problems.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 0 Docker mode activated.
-1 docker 12 Docker failed to build yetus/hbase-native-client:3b81c3d.
Subsystem Report/Notes
GITHUB PR #6
JIRA Issue HBASE-23105
Console output https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/1/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 0 Docker mode activated.
-1 patch 3 #6 does not apply to master. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #6
JIRA Issue HBASE-23105
Console output https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/2/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/3/console in case of problems.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 0 Docker mode activated.
-1 docker 20 Docker failed to build yetus/hbase-native-client:3b81c3d.
Subsystem Report/Notes
GITHUB PR #6
JIRA Issue HBASE-23105
Console output https://ci-hadoop.apache.org/job/HBase/job/hbase-native-client-github-precommit/job/PR-6/3/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@busbey
Copy link
Contributor

busbey commented Feb 7, 2022

This PR had to be rebased as a part of HBASE-26737. Please shout if you need help getting your local checkout updated.

@Apache-HBase
Copy link

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hbase.apache.org/job/HBase%20native%20client%20Github%20precommit/job/PR-6/5/console in case of problems.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 0 Docker mode activated.
-1 docker 28 Docker failed to build yetus/hbase-native-client:3b81c3d.
Subsystem Report/Notes
GITHUB PR #6
JIRA Issue HBASE-23105
Console output https://ci-hbase.apache.org/job/HBase%20native%20client%20Github%20precommit/job/PR-6/5/console
versions git=2.25.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants