Commit Graph

265 Commits

Author SHA1 Message Date
b0bbff0fd1 [performance](load) improve memtable sort performance (#20392) 2023-06-04 20:33:15 +08:00
fb730fb653 [chore](third-party) Bump the version of hadoop_libs (#20369)
Bump the version of hadoop_libs to build HDFS related libraries only.
2023-06-02 17:18:36 +08:00
d963bf8d79 [deps](aws) upgrade to 1.9.272 to fix non-compliant RFC3986 encoding (#20252) 2023-05-31 18:19:06 +08:00
f43282e612 [chore](third-party) Bump the version of hadoop_libs (#20250)
Fix the issues with the workflow Build Third Party Libraries. See https://github.com/apache/doris-thirdparty/actions/runs/5109407220/jobs/9184234534
2023-05-31 09:21:43 +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
b3ce4593b1 [deps](libhdfs) update hadoop libhdfs to 3.3.4.1 for doris (#19832) 2023-05-19 08:44:32 +08:00
f32deb18e9 [Update](build) change clucene from thirdparty to git module (#19352) 2023-05-19 08:25:51 +08:00
f68d3a660e [improvement](opentelemetry) upgrade opentelemetry jar to v1.26.0 and opentelemetry-cpp to v1.8.3 (#19733)
why upgrade? anything wrong?

Try to fix the problem about opentelemetry::v1::ext::http::client::curl::HttpOperation::Send(), I have updated the pr info.
2023-05-18 18:46:20 +08:00
Pxl
a2c9ed7be8 [Chore](build) fix some undefined behavior about incomplete type vector #19753 2023-05-18 15:13:45 +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
e98f4c4a5e [fix](be) BE UT built against Clang-16 failed (#19610)
If we use Clang-16 to build the third-party libraries and build doris_be_test against them, we can not run doris_be_test successfully. Some errors with BRPC occur.

I tested this on Linux (x86_64) and macOS (x86_64/arm64), these errors always raised.
2023-05-13 22:32:29 +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
5c8ecfbf9c [fix](thirdparty) fix opentelemetry error message compiling with ubsan (#18912) 2023-05-05 19:09:43 +08:00
2c1a5bb352 Revert "[chore](third-party) Fix the checksums of mysql (#19047)" (#19189)
This reverts commit c93d6ba3be2f2448b824d36da61835e2cd1235cd.
2023-05-04 10:09:37 +08:00
31c1ebc165 [Chore](thirdparty) update clucene from 2.4.11 to 2.4.12 (#19150)
fix memory leak in Standard Analyzer
2023-04-27 23:33:26 +08:00
0271886c36 [Chore](thirdparty) update clucene from 2.4.9 to 2.4.11 (#18876) 2023-04-26 20:11:35 +08:00
c93d6ba3be [chore](third-party) Fix the checksums of mysql (#19047)
The checksum of MySQL changed which makes the workflows fail.

See https://github.com/apache/doris-thirdparty/actions/runs/4794208534/jobs/8527425262.
2023-04-25 23:13:53 +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
4335c9998f [chore](ARM) Add some vectorization compatibility code on aarch64 (#18553)
update sse2noen to support more sse code on arm cpus
2023-04-13 10:15:33 +08:00
17e1b6d1b2 [chore](third-party) Porting to GCC-12 (#18560)
The definitions of _mm_cvtsi128_si16 conflicts. This PR resolves this issue.
2023-04-12 10:33:24 +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
2a301eb437 [deps](arrow) update arrow download link (#18360) 2023-04-04 10:39:04 +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
c2dd005efb [fix](chore) fix BE compile and FE protoc artifact issue (#18120)
add <optional> head to solve the compilation issue
use 3.12.9 as the protoc.artifact's version, because there is no 3.12.21
See: https://repo.maven.apache.org/maven2/com/google/protobuf/protoc/
Remove --show-progress arguments of wget because it is not supported in low version wget
2023-03-27 08:53:42 +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
29bf31c138 [chore](thirdparty) Show progress bar when downloading dependencies (#16736) 2023-02-27 15:21:22 +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
f02aa7e3e2 [thirdparty](libhdfs3) update libhdfs3 to 2.3.7 to fix kms seek bug (#16265) 2023-01-31 08:56:00 +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
b9872ceb98 [deps](libhdfs3) update to 2.3.6 to fix kms aes 256 bug (#16127)
update libhdfs3 to 2.3.6 to fix kms aes 256 bug.
And update the licences and changelog
2023-01-22 07:18:35 +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
9c723aec59 [fix](thirdparty) update bzip download info (#16012)
Check historical changes, no need for two sources for same bzip(as some others remove two source like boost etc.)
2023-01-17 21:08:05 +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
fd0c352144 [fix](thirdparty) patch sqltypes.h in odbc to avoid conflict with clucene macro TCHAR (#15926)
Fix conflit name TCHAR in odbc sqltypes.h and clucene clucene-config.h.
Change TCHAR to TWCHAR in odbc sqltypes.h, because TCHAR in odbc is not found used in doris,
but there are too many places to call clucene's TCHAR.

thirdparty/installed/include/sqltypes.h: 
`typedef char                            TCHAR;`

thirdparty/installed/include/CLucene/clucene-config.h: 
`typedef  wchar_t TCHAR;`
2023-01-15 10:10:00 +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
5c2a38d2a1 [chore](thirdparty) Fix the md5sum of the package brpc-1.2.0.tar.gz (#15789)
Apache brpc has graduated from incubator recently. The MD5 of the package we download from https://github.com/apache/incubator-brpc/archive/refs/tags/1.2.0.tar.gz changed and the mismatch MD5 makes the build scripts fail.
2023-01-11 11:05:21 +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
4be54cfcac [deps](hdfs) update libhdfs3 to v2.3.5 to support KMS (#15770)
Support KMS in libhdfs3: apache/doris-thirdparty#22
2023-01-10 23:21:53 +08:00