Commit Graph

183 Commits

Author SHA1 Message Date
57ca7d66d3 [Fix](multi-catalog) Fix zlib init error by using doris's zlib shared library and jni.log does not output. (#23260) 2023-09-02 21:44:14 +08:00
ba351af452 [enhancement](thirdparty) upgrade thirdparty libs - again (#23414)
submit again #23290 (not upgrade brpc, because bthread local has error)

protobuf 3.15.0 -> 21.11
glog 0.4.0 -> 0.6.0
lz4 1.9.3 -> 1.9.4
curl 7.79.0 -> 8.2.1
zstd 1.5.2 -> 1.5.5
arrow 7.0.0 -> 13.0.0
abseil 20220623.1 -> 20230125.3
orc 1.7.2 -> 1.9.0
jemalloc for arrow 5.2.1 -> 5.3.0
xsimd 7.0.0 -> 13.0.0
opentelemetry-proto 0.19.0 -> 1.0.0
opentelemetry 1.8.3 -> 1.10.0

new:
c-ares -> 1.19.1
grpc -> 1.54.3
2023-08-26 22:59:10 +08:00
303d5ac3f7 Revert "[enhancement](thirdparty) upgrade thirdparty libs (#23290)" (#23420)
This reverts commit 2185268bab2f5890a2c3c9a3c315375a971c4416.

Co-authored-by: stephen <hello-stephen@qq.com>
2023-08-24 14:40:51 +08:00
2185268bab [enhancement](thirdparty) upgrade thirdparty libs (#23290)
protobuf 3.15.0 -> 21.11
glog 0.4.0 -> 0.6.0
lz4 1.9.3 -> 1.9.4
curl 7.79.0 -> 8.2.1
brpc 1.4.0 -> 1.6.0
zstd 1.5.2 -> 1.5.5
arrow 7.0.0 -> 13.0.0
abseil 20220623.1 -> 20230125.3
orc 1.7.2 -> 1.9.0
jemalloc for arrow 5.2.1 -> 5.3.0
xsimd 7.0.0 -> 13.0.0
opentelemetry-proto 0.19.0 -> 1.0.0
opentelemetry 1.8.3 -> 1.10.0

new:
c-ares -> 1.19.1
grpc -> 1.54.3
2023-08-23 20:25:49 +08:00
a5382043d7 [chore](third-party) Fix errors while building brpc (#23339)
close #23340
2023-08-23 09:13:06 +08:00
3b8981bee7 [chore](third-party) Speed the download up for aws-crt-cpp (#22997)
The package aws-sdk-cpp was upgraded in #20252. We can speed the download up for aws-crt-cpp.
2023-08-16 09:47:18 +08:00
c2c01825c1 [opt](stacktrace) Optimize stacktrace output #22467 2023-08-06 15:53:53 +08:00
9a95d664b9 [chore](third-party) Fix the build order for libunwind (#22244)
1. libunwind depends on lzma
2. Fix the missing headers issues reported by GCC-13
2023-07-27 14:07:08 +08:00
e0705f1149 [chore](third-party) Introduce libunwind (#21938) 2023-07-19 01:55:26 +08:00
fde73b6cc6 [Fix](multi-catalog) Fix hadoop short circuit reading can not enabled in some environments. (#21516)
Fix hadoop short circuit reading can not enabled in some environments.
- Revert #21430 because it will cause performance degradation issue.
- Add `$HADOOP_CONF_DIR` to `$CLASSPATH`.
- Remove empty `hdfs-site.xml`. Because in some environments it will cause hadoop short circuit reading can not enabled.
- Copy the hadoop common native libs(which is copied from https://github.com/apache/doris-thirdparty/pull/98
) and add it to `LD_LIBRARY_PATH`. Because in some environments `LD_LIBRARY_PATH` doesn't contain hadoop common native libs, which will cause hadoop short circuit reading can not enabled.
2023-07-06 15:00:26 +08:00
af51a31c21 [deps](benchmark) bump benchmakr from 1.5.6 -> 1.8.0 (#21121)
To support some new methods used in #21074
2023-06-25 23:42:54 +08:00
b0bbff0fd1 [performance](load) improve memtable sort performance (#20392) 2023-06-04 20:33:15 +08:00
047311171d [deps](libhdfs) change hadoop libhdfs to source compile (#20058)
compile it as other deps, instead of downloading prebuild binary.
Only for linux platform
2023-05-26 14:37:49 +08:00
f32deb18e9 [Update](build) change clucene from thirdparty to git module (#19352) 2023-05-19 08:25:51 +08:00
fe553f7dfc [chore](third-party) Support specifying packages to build (#19688)
Usage: ./build-thirdparty.sh [options...] [packages...]
  Optional options:
     -j <num>               build thirdparty parallel
     --clean                clean the extracted data
     --continue <package>   continue to build the remaining packages (starts from the specified package)

Examples:
1. Specify packages to build.
    Build gflags, gtest and glog by executing ./build-thirdparty.sh gflags gtest glog.
2. Continue to build the remaining packages.
    Build the remaining packages (starts from sse2neon) by executing ./build-thirdparty.sh --continue sse2neon.
2023-05-16 19:24:19 +08:00
ddcf7ec1b4 [chore](third-party) Don't link keyutils to krb5 explicitly (#19632)
We may link system-wide keyutils to krb5 when building krb5 which may introduce an extra dependency to the codebase.
2023-05-16 10:37:37 +08:00
2504b243f0 [Fix](build) fix clucene build type (#19376)
RelWithDebInfo default uses O2 as compile flags which hurt performance for clucene
2023-05-09 14:29:04 +08:00
673cbe3317 [chore](build) Porting to GCC-13 (#19293)
Support using GCC-13 to build the codebase.
2023-05-08 10:42:06 +08:00
d28030e1e5 [chore](third-party) Configure the search paths for pkg-config and cmake (#18624)
Currently, our third party libraries are built by autotools or cmake. Under some scenarios, we may use system-wide headers or libraries to build them which may make the build process fail.

We can configure the search paths explicitly to help autotools and cmake find the right dependencies.
2023-04-14 08:43:27 +08:00
99195f9de9 [chore](third-party) Porting to Clang-16 (#18515)
Fix the error implicit-function-declaration which raises when building libunixodbc and gsasl by Clang-16 on Linux.
2023-04-11 00:53:38 +08:00
04af1650e5 [Optimize](mutlti-catalog) Opt zlib performance by adding '-O3' cflags. (#18488)
Opt zlib performance by adding '-O3' cflags.
From orc' reader test, it has 2.5x performance boost.
2023-04-09 08:52:48 +08:00
f9c4542d04 [chore](build) Porting to Clang-16 (#18196)
This PR ports the codebase to Clang-16.

Upgrade some third-party libraries:
1. Apache BRPC: 1.2.0 -> 1.4.0 (Some bugs are fixed and all patches for 1.2.0 can be removed.)
2. Boost: 1.73.0 -> 1.81.0 (Porting to Clang-16)
3. libclucene: 2.4.6 -> 2.4.8 (Porting to Clang-16)
2023-03-30 10:36:29 +08:00
Pxl
1a549edac2 [Chore](third-party) upgrade thrift from 0.13 to 0.16 (#17202)
upgrade thrift from 0.13 to 0.16
There is thrift's release notes https://github.com/apache/thrift/blob/master/CHANGES.md
2023-03-10 11:33:16 +08:00
57233dc53a [deps](libhdfs) fix hadoop libs build error (#17470) 2023-03-07 08:52:40 +08:00
bc5f16dc80 [deps](libhdfs) add official hadoop libhdfs for x86 (#17435)
This is the first step to introduce official hadoop libhdfs to Doris.
Because the current hdfs client libhdfs3 lacks some important feature and is hard to maintain.

Download the hadoop 3.3.4 binary from hadoop website: https://hadoop.apache.org/releases.html
Extract libs and headers which are used for libhdfs, and pack them into hadoop_lib_3.3.4-x86.tar.gz
Upload it to https://github.com/apache/doris-thirdparty/releases/tag/hadoop-libs-3.3.4

TODO:
The hadoop libs for arm is missing, we need to find a way to build it
2023-03-06 12:47:53 +08:00
cf7e97dd27 [chore](thirdparty) Fix the linkage errors for librdkafka (#17181)
Fix the linkage errors for librdkafka
2023-02-28 21:37:27 +08:00
ad86b931d4 [Thirdparty](clucene) update clucene to v2.4.6 to fix bthread/pthread context bug (#16982)
1. change clucene version from 2.4.4->2.4.6
2. update build-thirdparty.sh clucene's build block, adding USE_BTHREAD CMAKE flag, this flag is inherited from doris's USE_BTHREAD_SCANNER.
2023-02-22 11:24:45 +08:00
cd3dbc33c9 [deps](be) update libhdfs3 and jemalloc (#16894)
- Modified: libhdfs3 2.3.7 -> 2.3.8
- Modified: jemalloc 5.2.1 -> 5.3.0  (#14871)
2023-02-19 19:49:27 +08:00
f0ab71aa84 [Thirdpart](lib) Add lib fast_float to replace std::from_chars() convert float/double (#16204) 2023-01-30 00:41:56 +08:00
b230b704d2 [Update](thirdparty) omit BUILD_TYPE for clucene, ignore other build type except RelWithDebInfo (#16076)
omit BUILD_TYPE for clucene, ignore other build type except RelWithDebInfo
2023-01-20 09:10:58 +08:00
3810727688 [chore](thirdparty) Update bitshuffle from 0.3.5 to 0.5.1 (#15993)
In order to use AVX512 instructions. See #15972
2023-01-17 23:46:11 +08:00
d75cf756c5 [fix](third-party) Pass search paths of dependencies to CLucene explicitly (#15959)
When building CLucene, CMake may find the wrong Boost and zlib. We should pass the search paths to the build command for CLucene explicitly to find the correct dependencies.
2023-01-16 17:12:40 +08:00
57098bf669 [fix](thirdparty) fix bug for build_thirdparty (#15910) 2023-01-14 21:02:59 +08:00
c88c6b3c41 [chore](build) Fix linkage errors on macOS (arm64) (#15922)
macOS with Apple Silicon chip doesn't support AVX2 instructions, we should build CLucene without AVX2 support.
2023-01-14 18:37:56 +08:00
be110ffaf6 [thirdparty](clucene) add clucene deps for doris inverted index (#15807)
As part of Inverted Index DSIP steps, we'd like to contribute our inverted index implementations step by step.
First of all we need to introduce clucene to doris thirdparty libs, because inverted index implementations are based on 
lucence API and index file format, also we add our features and performance improvements base on clucene, so we 
need to maintain the repo ourselves
2023-01-12 21:59:19 +08:00
870b5c44e6 [fix](compile) compile failed in Mac with clang14 (#15661)
HOW to reproduce?
Add export CMAKE_BUILD_TYPE=DEBUG in custom_env.sh. Then build thirdparty in MAC.

There are two problems:

build vectorscan with DEBUG type, will got unused-but-set-variable error:
doris/thirdparty/src/vectorscan-vectorscan-5.4.7/src/nfa/mcclellancompile.cpp:1485:13: error: variable 'total_daddy' set but not used [-Werror,-Wunused-but-set-variable]
u16 total_daddy = 0;
gflags will output libgflags_debug.a instead of libgflags.a while build with DEBUG type. Then we will got error can not find library gflags error.
To avoid these errors, we set CMAKE_BUILD_TYPE while build vectorscan and gflags.

Co-authored-by: cambyzju <zhuxiaoli01@baidu.com>
Co-authored-by: Adonis Ling <adonis0147@gmail.com>
2023-01-11 11:09:00 +08:00
5b10116eca [chore](thirdparty) fix bug that GSSAPI of libgsasl is disabled (#15753)
In #15037, I modified the build script of libgsasl to enable GSSAPI,
but it is still wrong, because the PATH does not include the `thirdparty/installed/bin`,
so when building libgsasl, it will report error:
`WARNING: MIT Kerberos krb5-config not found, disabling GSSAPI`

but `krb5-config` is in `thirdparty/installed/bin`.

Without GSSAPI, the libhdfs3 can not access hdfs with kerberos authentication.
2023-01-11 09:07:46 +08:00
f5b0f5e01a [chore](macOS) Don't build useless third-party stuff (#15763)
On macOS, we need some extra libraries to build the codebase,
therefore two packages were introduced to the project. They are `binutils` and `gettext`. 

It takes a lot of time to build these packages completely. This PR introduces a way to build the needed libraries
and other stuff are skipped to build. It can save the time to build the third-party libraries on macOS.
2023-01-11 00:20:37 +08:00
43c8e7b465 [chore](thirdparty) Support cleaning extracted data before building them (#15458)
Currently, we may fail to build the third-party libraries if we keep the outdated extracted data.

Considering the following scenario, Bob added patches to some libraries and Alice updates the codebase and builds 
the third-party libraries. If Alice kept the outdated extracted data, she should fail to build the third-party libraries 
because the patches are not applied due to the outdated `patched_marks`.

This PR introduces a way to clean the outdated data before building the third-party libraries.
2022-12-29 16:01:23 +08:00
Pxl
c816d9d6e5 [Chore](s2geo) disable ABSL_BTREE_ENABLE_GENERATIONS and use CMAKE_BUILD_TYPE to rep… (#15104)
disable ABSL_BTREE_ENABLE_GENERATIONS and use CMAKE_BUILD_TYPE to replace o3
2022-12-15 21:36:28 +08:00
Pxl
30406ef580 [Chore](s2geo) add with gflags on s2geo (#15059)
add with gflags on s2geo
2022-12-14 12:19:01 +08:00
7854e9ae5a [thirdparty](libgsasl) set include dir to enable to find gssapi.h (#15037)
If not set, it can't find gssapi.h, which is generated by krb5.
This will cause the libhdfs3 failed to visit hdfs with kerberos authentication
2022-12-14 12:07:13 +08:00
Pxl
decabbb933 [Chore](s2geo) upgrade s2geo to 0.10.0 (#15002)
upgrade s2geo to 0.10.0
2022-12-13 10:34:51 +08:00
e40da670b5 [chore](macOS) Fix the compilation errors when building third party libraries (#14813) 2022-12-07 08:48:06 +08:00
e78086a501 [chore](macOS) Fix the build for thirdparty (#14462) 2022-11-22 20:49:15 +08:00
7624c80d83 [Feature](Kafka) Add kerberos support for kafka (#14431)
Compile librdkafka with Kerberos SASL GSSAPI support.
2022-11-21 20:45:50 +08:00
eb76160b48 [chore](third-party) Use GNU official mirror to boost the download speed (#14358)
According to the description in https://www.gnu.org/server/mirror.html, using the address http://ftpmirror.gnu.org/ to download GNU packages is recommended. It can boost the download speed worldwide.
2022-11-19 00:04:52 +08:00
63ea233ae2 [thirdpart](lib) Add lock free queue of concurrentqueue (#14045) 2022-11-08 11:34:23 +08:00
a19e6881c7 [chore](be web ui)upgrade jquery version to 3.6.0 (#13942)
* upgrade jquery version to 3.6.0

* update license dist
2022-11-04 16:20:17 +08:00
bad950136d [chore](build) Pass the compile flag -Wno-unused-but-set-variable on demand (#13716)
There are some issues with the compile flag `-Wno-unused-but-set-variable` for clang.
1. `-Wno-unused-but-set-variable` should be set when building source by clang-15 on Linux. (#13000 #13016)
2. On macOS Monterey, Apple Clang 13 may treat it as a unknown warning option and the compilation process may interrupt.

This PR introduces a better way to make this compile flag more portable.
1. Test whether the compiler recognizes this flag.
2. Add this flag if the compiler recognizes it.
2022-10-27 15:18:28 +08:00