Commit Graph

67 Commits

Author SHA1 Message Date
789472a87d [build] change docker image add perf tools and simdjson (#8012) 2022-02-11 18:54:09 +08:00
cc9cfebbff (build) teach build.sh --clean work correctly (#7949)
CMAKE_BUILD_DIR is set while building be. "build.sh --clean" just
cleans and exits, however clean_be does not works without
CMAKE_BUILD_DIR set. This patch set CMAKE_BUILD_DIR in clean_be
to teach build.sh --clean work correctly.
2022-02-08 09:49:39 +08:00
e7103bfd08 [chore] Set the full path of make program to CMake (#7909) 2022-02-06 08:34:08 +08:00
68c4bb34e6 [chore] Build script add build broker option (#7885) 2022-01-31 22:13:25 +08:00
Pxl
3ee000c13c [chore] support build with libc++ && add some build config (#7903)
support LIBCPP/LDD/BUILD_META_TOOL for build.sh
2022-01-30 16:47:22 +08:00
f2cbf0a8d2 [chore] Improve the ldb toolchain compilation documentation (#7829)
Add document for compiling Doris with ldb toolchain
2022-01-21 21:36:43 +08:00
800a36343a [chore] Prolog of hermetic build with GCC 11 and Clang 13. (#7712)
Prepare to generate hermetic build using GCC 11 and Clang 13.
The ideal toolchain would be ldb toolchain generated by [ldb_toolchain_gen.sh](https://github.com/amosbird/ldb_toolchain_gen/releases/download/v0.3/ldb_toolchain_gen.sh)

To kick off a clang build, set `DORIS_TOOLCHAIN=clang` before running any build scripts.
2022-01-21 12:12:04 +08:00
2872dbfeb8 [refactor] Standardize the writing of pom files, prepare for deployment to maven (#7477) 2021-12-30 10:16:37 +08:00
760fc02bfe Added bprc stub cache check and reset api, used to test whether the bprc stub cache is available, and reset the bprc stub cache (#6916)
Added bprc stub cache check and reset api, used to test whether the bprc stub cache is available, and reset the bprc stub cache
add a config used for auto check and reset bprc stub
2021-11-05 09:45:37 +08:00
9148bcb673 [Build] Reduce the parallel of build (#6469) 2021-08-18 15:24:19 +08:00
9216735cfa [New Featrue] Support Vectorization Execution Engine Interface For Doris (#6329)
1. FE vectorized plan code
2. Function register vec function
3. Diff function nullable type
4. New thirdparty code and new thrift struct
2021-08-11 14:54:06 +08:00
095182da62 [Script] Compile and automatically create fe doris-meta and be storage directories (#6297)
Compile and automatically create fe doris-meta and be storage directories
2021-07-27 13:39:50 +08:00
c6e442e926 [MINOR] Fix the comment about usage of build.sh (#6254)
* [BUILD] Fix comment about usage of build.sh

Co-authored-by: yuzhou.zk <yuzhou.zk@alibaba-inc.com>
2021-07-18 20:53:42 +08:00
290a844e04 [optimize] Optimize bloomfilter performance (#6180)
refactor runtime filter bloomfilter and eliminate some virtual function calls which obtained a performance improvement of about 5%
import block bloom filter, for avx version obtained 40% performance improvement
before: bloomfilter size:default, about 2000W item cost about 1s400ms
after: bloomfilter size:524288, about 2000W item cost about 400ms
2021-07-10 10:12:12 +08:00
109b55ee5f [Shell] Add build parallel option (#5819)
Add build parallel option then we can build project with a user specified parallel not a fixed value.
2021-05-19 09:32:58 +08:00
2b1075adf9 [Build] Modify the build script to automatically create a log directory (#5826) 2021-05-19 09:29:37 +08:00
029a8a046b [Build] Turn on glibc compatibility by default for upgrading gcc10 (#5528) 2021-03-21 11:22:53 +08:00
c462231555 [build] support ccache while build BE (#5508) 2021-03-14 15:40:02 +08:00
db2120a7f2 [Build][BE] Fix GLIBC_COMPATIBILITY can not compile in centos6 (#5472)
Add option to disable glibc_compatibility
2021-03-07 20:47:13 +08:00
e536823f92 [Thirdparty] Fix build thirdparty may be failed (#5187)
1. fix build thirdparty may be failed  in some os, because of default lib path is `lib` or`lib64` or `arrow` bulld failed by `brotil` and `zstd`
2. fix canot extract `.tar.bz2` file
2021-01-04 15:21:18 +08:00
5f2868667a [Script] Check if ninja exist in build.sh (#5099)
Add a check of ninja exist to build.sh
2020-12-19 11:18:50 +08:00
2e5126cc09 support ninja build system (#5076)
Add ninja build system support, if you installed ninja you can building be by ninja using bash build.sh --be --ninja.
ninja build is more faster than make
2020-12-15 09:27:20 +08:00
c934cf93e1 [UI Part 5] Enable HTTP Server 2 by FE config (#4684)
This is the last PR of proposal #4308

1. Add a new FE config `enable_http_server_v2` to enable new HTTP Server implementation. The default value is false.
2. Add a new FE config `http_api_extra_base_path` so that we can set base path for Frontend UI.
3. Refactor the new HTTP API response body. The return http status code is always 200, and using internal code in response body to indicate the certain error.
2020-10-13 10:07:50 +08:00
67b842ce04 [License] Organize and modify the license of the code (#4371)
1. Disable the MySQL client and LZO library by default when building the Doris.

    MySQL client library is used for MySQL external table feature.
    This feature will be replaced by the new ODBC external table soon.

    LZO library is used to compress/decompress data of some old data format of Doris,
    which is no longer used anymore.

2. Add missing license to some files.

3. For all non-Apache-License code, all are explained in NOTICE file and the corresponding license is declared.

4. Remove the js source code from webroot, it will be downloaded as thirdparty
2020-08-24 21:51:55 +08:00
1b341601fe Generate jave files using maven (#4133)
generate generated-java files using maven instead of by build.sh
2020-08-05 15:20:39 +08:00
0e79f6908b [CodeRefactor] Modify FE modules (#4146)
This CL mainly changes:

1. Add 2 new FE modules

    1. fe-common

        save all common classes for other modules, currently only `jmockit`
        
    2. spark-dpp

        The Spark DPP application for Spark Load. And I removed all dpp related classes to this module, including unit tests.
        
2. Change the `build.sh`

    Add a new param `--spark-dpp` to compile the `spark-dpp` alone. And `--fe` will compile all FE modules.
    
    the output of `spark-dpp` module is `spark-dpp-1.0.0-jar-with-dependencies.jar`, and it will be installed to `output/fe/spark-dpp/`.

3. Modify some bugs of spark load
2020-07-29 16:18:05 +08:00
b32500bda0 [Script] Restore build parallel config (#4166) 2020-07-24 21:30:56 +08:00
ad17afef91 [CodeRefactor] #4098 Make FE multi module (#4099)
This PR change the FE code structure to maven multi module structure. 
See ISSUE: #4098 for more info, such as How to resolve conflicts.
2020-07-21 12:42:42 +08:00
42cb11901b [webserver] Make BE webserver more pretty (#4050)
Add some CSS and js files, and use boost-table framework to make BE's website more pretty
2020-07-09 21:50:52 +08:00
c3d9feed75 [Load][Json] Refactor json load logic to make it more reasonable (#4020)
This CL mainly changes:

1. Reorganized the code logic to limit the supported json format to two, and the import behavior is more consistent.
2. Modified the statistical behavior of the number of error rows when loading in json format, so that the error rows can be counted correctly.
3. See `load-json-format.md` to get details of loading json format.
2020-07-07 23:07:28 +08:00
792307ae54 [CMake] Different cmake build directories for different build types (#3623) (#3629)
add `CMAKE_BUILD_TYPE` as the suffix of build directory.
2020-05-20 21:41:44 +08:00
8015d8ca6b [Script] Make build script portable on Mac OS (#3493)
1. options of command `mkdir` and `cp` must be put before arguments on Mac OS.
2. directory name `build` is conflict with file `BUILD` on Mac OS.
2020-05-08 12:55:34 +08:00
73a3c59efb [Bug] Fix bug that help-resource.zip file is missing. (#3423) 2020-04-29 19:25:28 +08:00
511c5eed50 [Doc] Modify format of some docs (#3021)
Format of some docs are incorrect for building the doc website.
* fix a bug that `gensrc` dir can not be built with -j.
* fix ut bug of CreateFunctionTest
2020-03-02 19:07:52 +08:00
1fbd34cd32 [Compile] Fix some build errors (#3005)
`cmake` has been checked by `check_prerequest`, not needed to check it
twice, and now `CMAKE_CMD` is a command not a file, check it by '-f'
in shell will report an error.
2020-02-27 09:26:56 +08:00
25a6d6abbe Make cmake and maven configurable (#2837) 2020-02-05 23:04:29 +08:00
a46bf1ada3 [Authorization] Modify the authorization checking logic (#2372)
**Authorization checking logic**

There are some problems with the current password and permission checking logic. For example:
First, we create a user by:
`create user cmy@"%" identified by "12345";`

And then 'cmy' can login with password '12345' from any hosts.

Second, we create another user by:
`create user cmy@"192.168.%" identified by "abcde";`

Because "192.168.%" has a higher priority in the permission table than "%". So when "cmy" try
to login in by password "12345" from host "192.168.1.1", it should match the second permission
entry, and will be rejected because of invalid password.
But in current implementation, Doris will continue to check password on first entry, than let it pass. So we should change it.

**Permission checking logic**

After a user login, it should has a unique identity which is got from permission table. For example,
when "cmy" from host "192.168.1.1" login, it's identity should be `cmy@"192.168.%"`. And Doris
should use this identity to check other permission, not by using the user's real identity, which is
`cmy@"192.168.1.1"`.

**Black list**
Functionally speaking, Doris only support adding WHITE LIST, which is to allow user to login from
those hosts in the white list. But is some cases, we do need a BLACK LIST function.
Fortunately, by changing the logic described above, we can simulate the effect of the BLACK LIST.

For example, First we add a user by:
`create user cmy@'%' identified by '12345';`

And now user 'cmy' can login from any hosts. and if we don't want 'cmy' to login from host A, we
can add a new user by:
`create user cmy@'A' identified by 'other_passwd';`

Because "A" has a higher priority in the permission table than "%". If 'cmy' try to login from A using password '12345', it will be rejected.
2019-12-06 17:45:56 +08:00
6c21a5a484 Switch MAKE_TEST off in build.sh (#1579) 2019-08-03 22:49:35 +08:00
e4e04e8203 Make LZO support optional (#1263) 2019-06-07 22:26:54 +08:00
934ca2481a Make MySQL support optional (#1248) 2019-06-05 12:28:15 +08:00
741539de91 Release udf headers & lib (#1231)
remove internal headers from udf.h
release udf headers & lib
2019-05-31 17:47:41 +08:00
7cdaba66dc Add spatial func (#1213)
Support some spatial functions, such as ST_Contains.
2019-05-31 14:23:09 +08:00
1b5643c6fb Fix some bugs (#979)
1. Add Config.max_routine_load_concurrent_task_num instead of the old one
2. Fix a bug that SHOW ALTER TABLE COLUMN may throw Nullpointer exception
3. Fix some misspelling of docs
2019-04-28 10:33:50 +08:00
ff12281a72 Call curl_global_init at the begining (#602)
To avoid concurrent initilization of libcurl, we call curl_global_init
in our main function.
2019-01-30 10:27:19 +08:00
6bef41633c Add DORIS_THIRDPARTY env in docker image (#539)
* Add param of specified thirdparty path
1. The thirdparth path can be specify on build.sh: ./build.sh --thirdparty /specified/path/to/thirdparty
2. If there are only thirdparty param of build.sh, it will build both fe and be
3. Add unit test of routine load stmt
4. Remove source code in docker image

* Add DORIS_THIRDPARTY env in docker image
1. Set DORIS_THIRDPARTY env in docker image. The build.sh will use /var/local/thirdparty instead of /source/code/thirdparty
2. remove --thirdparty param of build.sh

* Change image workdir to /root
2019-01-17 14:19:13 +08:00
37636d38e4 Improve build scripts (#404) 2018-12-10 13:56:09 +08:00
5f9f01669b Fix building Docker image error (#390) 2018-12-05 18:27:50 +08:00
f2df5d523d Fix compile issue of thirdparty library (#338) 2018-11-22 11:15:42 +08:00
b57dfd4dd3 Fix a compile issue (#331)
* Fix a compile issue

* Fix a compile issue
2018-11-20 20:06:36 +08:00
b87de7e78e Update README.md and build.sh (#273)
change some 'palo' to 'doris'
2018-11-02 15:23:44 +08:00