Hello Alexey Serbin, Ashwani Raina, Attila Bukor, Yifan Zhang, Kudu Jenkins, KeDeng,
I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/21287 to look at the new patch set (#7). Change subject: KUDU-3580 the crash bug when run binaries on older CPU machines ...................................................................... KUDU-3580 the crash bug when run binaries on older CPU machines After Kudu linking rocksdb, the Kudu binaries may crash with error "Illegal instruction" when running on machines which don't support newer CPU instruction (e.g. AVX512) but were built on a machine which supports. This patch enables the PORTABLE option when building librocksdb to fix the issue. It should be noted that portable libraries may cause a slight performance degradation, it's recommend to disable portable option (by setting PORTABLE environment variable to OFF when build Kudu thirdparties) if there is no port requirements. The PORTABLE option only takes effect on librocksdb currently, the following content shows the comparation of the 'db_bench' tool of RocksDB with the '-DPORTABLE' option enabled and disabled benchmark results: - The test is similar to Kudu use case, random write and sequential read, key and value size is about 40 bytes. - The tests ran 3 times. - The binaries are built and run on the same machine which supports newer CPU instruction (e.g. AVX512). PORTABLE: $ ./db_bench -benchmarks=fillrandom,readseq -num=10000000 -key_size=40 -value_size=40 1. fillrandom : 5.237 micros/op 190954 ops/sec 52.369 seconds 10000000 operations; 14.6 MB/s readseq : 0.448 micros/op 2231382 ops/sec 2.833 seconds 6322271 operations; 170.2 MB/s 2. fillrandom : 5.236 micros/op 190981 ops/sec 52.361 seconds 10000000 operations; 14.6 MB/s readseq : 0.444 micros/op 2252646 ops/sec 2.806 seconds 6321658 operations; 171.9 MB/s 3. fillrandom : 5.182 micros/op 192960 ops/sec 51.824 seconds 10000000 operations; 14.7 MB/s readseq : 0.444 micros/op 2252317 ops/sec 2.807 seconds 6323209 operations; 171.8 MB/s NON-PORTABLE: $ ./db_bench -benchmarks=fillrandom,readseq -num=10000000 -key_size=40 -value_size=40 1. fillrandom : 5.190 micros/op 192676 ops/sec 51.900 seconds 10000000 operations; 14.7 MB/s readseq : 0.391 micros/op 2560051 ops/sec 2.470 seconds 6322786 operations; 195.3 MB/s 2. fillrandom : 5.156 micros/op 193945 ops/sec 51.561 seconds 10000000 operations; 14.8 MB/s readseq : 0.404 micros/op 2477956 ops/sec 2.551 seconds 6320644 operations; 189.1 MB/s 3. fillrandom : 5.527 micros/op 180940 ops/sec 55.267 seconds 10000000 operations; 13.8 MB/s readseq : 0.407 micros/op 2458297 ops/sec 2.571 seconds 6320885 operations; 187.6 MB/s Change-Id: Id30ae995c41a592fccbdb822bc1f457c5e6878ac --- M thirdparty/build-definitions.sh M thirdparty/build-thirdparty.sh 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/87/21287/7 -- To view, visit http://gerrit.cloudera.org:8080/21287 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id30ae995c41a592fccbdb822bc1f457c5e6878ac Gerrit-Change-Number: 21287 Gerrit-PatchSet: 7 Gerrit-Owner: Yingchun Lai <laiyingc...@apache.org> Gerrit-Reviewer: Alexey Serbin <ale...@apache.org> Gerrit-Reviewer: Ashwani Raina <ara...@cloudera.com> Gerrit-Reviewer: Attila Bukor <abu...@apache.org> Gerrit-Reviewer: KeDeng <kdeng...@gmail.com> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Yifan Zhang <chinazhangyi...@163.com> Gerrit-Reviewer: Yingchun Lai <laiyingc...@apache.org>