Commit Graph

121 Commits

Author SHA1 Message Date
fe1ca824cc [Config] change some static config to dynamic config and delete some unused config (#5158)
* change some BE static config to dynamic config

Co-authored-by: weizuo <weizuo@xiaomi.com>
2021-01-06 09:55:09 +08:00
6c098e45fc [Optimize][Cache]Implementation of Separated Page Cache (#5008)
#4995
**Implementation of Separated Page Cache**
- Add config "index_page_cache_ratio" to set the ratio of capacity of index page cache
- Change the member of StoragePageCache to maintain two type of cache
- Change the interface of StoragePageCache for selecting type of cache
- Change the usage of page cache in read_and_decompress_page in page_io.cpp
  - add page type as argument
  - check if current page type is available in StoragePageCache (cover the situation of ratio == 0 or 1)
- Add type as argument in superior call of read_and_decompress_page
- Change Unit Test
2021-01-04 12:19:24 +08:00
a8b8c4760c [Doc] Fix some spelling mistakes and default value mistakes in document (#5180) 2021-01-03 15:45:56 +08:00
d7a584ac59 [Rebalancer] support partition rebalancer (#5010)
RebalancerType could be configured via Config.rebalancer_type(BeLoad, Partition).
PartitionRebalancer is based on TwoDimensionalGreedyAlgo.
Two dims of Doris should be cluster & partition. And we only consider about the replica count, 
do not consider replica size.
#4845 for further details.
2020-12-31 09:41:38 +08:00
62604dfeac Improve the processing logic of Load statement derived columns (#5140)
* support transitive in load expr
2020-12-30 10:27:46 +08:00
16d52651f3 [Docs] some brpc configs can't be modified at runtime (#5137)
brpc_max_body_size & brpc_socket_max_unwritten_bytes can't be modified at runtime. Only flags which have (R)(has_validator_fn) can.
2020-12-25 15:31:14 +08:00
7199bcc88b Update outfile(en) to support cos.md (#5130)
Export query result to `COS`  (Tencent Cloud  Object Storage)
2020-12-23 15:39:45 +08:00
b640991e43 [Enhance] Add profile for load job (#5052)
Add viewable profile for broker load. Similar to the query profile,
the user can submit the import job by setting the session variable is_report_success to true,
and then view the running profile of the job on the FE web page for easy analysis and debugging.
2020-12-16 23:52:10 +08:00
74bfd69595 [Bug] Forbidden creating table with dynamic partition when FE.config dynamic_partition_enable=false (#5043)
- There is a fe configuration called dynamic_partition_enable
    which controls the opening and closing of the dynamic partition function.
  When this configuration is false, it means that all tables do not support dynamic partitioning.

- But when the user tried to create the dynamic partition table, Doris did not detect this parameter.
  This will cause the user can normally create a dynamic partition table,
    but in fact Doris cannot create a partition for this table.

- This pr detect this config when building the table.
  The dynamic partition table can be created only when the dynamic_partition_enable configuration is true.
  If the configuration is false, the command to create a dynamic partition table will directly report an error.
2020-12-16 23:44:20 +08:00
bc063ebce2 fix typo in docs (#5046) 2020-12-10 15:10:22 +08:00
f2d69a51d4 [Docs]Remove some unused variables and update BE config documents (#4987)
Remove some unused variables and update BE config documents about compaction.
2020-12-09 09:28:56 +08:00
3bd56bd441 fix Get FE log file doc typo (#4985) 2020-12-08 07:07:13 +08:00
b954dfd82d [Bug] Fix the bug of Largetint and Decimal json load failed. (#4983)
Use param of json load "num_as_string" to use flag kParseNumbersAsStringsFlag to parse json data.
2020-12-06 08:49:30 +08:00
c5f780305e [Repair] Add an option whether to allow the partition column to be NULL (#5013) 2020-12-05 14:58:32 +08:00
4fa47bc3f5 [Docs]adding instructions for converting dynamic and manual partition tables to each other (#4994)
There is no clear instruction to manually modify partitions, when dynamic partition feature is enabled.
The user will be informed only after trying to modify the partition in the command line.
This PR adds instructions for converting dynamic and manual partition tables to each other
2020-12-03 09:32:30 +08:00
4c63dc0027 [Metric] Add metrics for compaction permits and log for compaction merge (#4893)
1. Add metrics to `used permits` and `waitting permits` for compaction.
It would be useful to monitor `permits` hold by all executing compaction tasks and waitting compaction task.

2. Add log which can be chosen by config  for merge rowsets. 
It would be helpful to track the process of rowsets merging for compaction task which lasts for a long time.
2020-11-28 10:00:08 +08:00
fb7f4c8791 [Bug] fix bug that be thrift client cannot connect to fe thrift server when fe thrift server use TThreadedSelectorServer model (#4908)
Fix bug that be thrift client cannot connect to fe thrift server when fe thrift server use TThreadedSelectorServer model
2020-11-22 20:40:33 +08:00
64b219f04d Fix typo (#4923) 2020-11-20 09:48:27 +08:00
0eda5270c8 [Docs] Add doc of be_config.md and change some default value of BE config (#4906)
Add doc of be_config.md and change some default value of BE config
2020-11-18 21:56:58 +08:00
6247408689 [Compact]Take tablet scan frequency into consider when selecting tablet for compaction (#4837)
A large number of small segment files will lead to low efficiency for scan operations.
Multiple small files can be merged into a large file by compaction operation.
So we could take the tablet scan frequency into consideration when selecting an tablet for compaction
and preferentially do compaction for those tablets which are scanned frequently during a
latest period of time at the present.

Using the compaction strategy of Kudu for reference, scan frequency can be calculated
for tablet during a latest period of time and be taken into consideration when calculating compaction score.
2020-11-18 21:51:12 +08:00
e706a6bca4 [Doc] Running Profile document add HASH_JOIN_NODE, etc. (#4878)
- Running Profile document add `HASH_JOIN_NODE`, `CROSS_JOIN_NODE`, `UNION_NODE`, `ANALYTIC_EVAL_NODE`.
- `UNION_NODE` increase`MaterializeExprsEvaluateTime` profile.
2020-11-16 21:53:25 +08:00
dd70653c91 [DOCS] Fix some docs typo (#4873) 2020-11-11 21:24:19 +08:00
66132d2836 [Feature] Running Profile OLAP_SCAN_NODE layering and enhance readability (#4825)
mainly includes:
- `OLAP_SCAN_NODE` profile layering: `OLAP_SCAN_NODE`,`OlapScanner`, and `SegmentIterator`.
- Delete meaningless statistical values. mainly in scan_node.cpp.
- Increase `RowsConditionsFiltered` statistical, split from `RowsDelFiltered`, the meaning is the number of rows filtered by various column indexes, only in segment V2.
- Modify the document based on the above, and enhance readability.
2020-11-11 21:21:25 +08:00
32afb11458 [Doc] Add doc for sequence column (#4814) 2020-10-30 10:05:15 +08:00
d6497fedc4 [Config] Change config name 'streaming_load_max_batch_size_mb' to 'streaming_load_json_max_mb' (#4791)
The name and another config name are close to each other and are indistinguishable.
So this pr modify the name.
The document description has also been changed
2020-10-28 23:27:33 +08:00
44a877932d fix docs (#4801) 2020-10-28 10:40:53 +08:00
ce587e5a83 [Doc] Fix a command word spelling error in variables.md (#4800) 2020-10-27 11:24:36 +08:00
0213e93ea1 [Feature][Config] Support persistence of configuration items modified at runtime (#4704)
Support persistence of configuration items modified at runtime via HTTP API.

```
FE:
GET /api/_set_config?key=value&persist=true

BE
POST /api/update_config?key=value&persist=true
```

The modified config will be saved in `fe_custom.conf` or `be_custom.conf`.
And when process starts, it will load `fe.conf/be.conf` first, then `fe_custom.conf/be_custom.conf`.
2020-10-22 21:39:02 +08:00
0199055be7 [Document] Fix some errors in the insert document (#4749) 2020-10-17 13:40:40 +08:00
6b0d456b41 [Doc]Fixed a word error in outfile.md document syntax (#4743) 2020-10-15 22:29:43 +08:00
751aa05cc0 fix docs typo (#4725) 2020-10-14 09:27:50 +08:00
dec91a3d43 fix docs typo (#4723) 2020-10-14 09:27:31 +08:00
3f55c1425c fix docs typo (#4722) 2020-10-14 09:27:12 +08:00
83f6f46c34 [Config] Limit the version number of tablet (#4687)
Add a BE config `max_tablet_version_num` to limit the version number of a single tablet.
To avoid too many versions
2020-10-13 10:08:16 +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
3f0cb04376 [Feature] Support REPLACE TABLE operation. (#4669)
Implement REPLACE TABLE feature.
Details can be found in document `alter-table-replace-table.md`
2020-10-13 10:06:57 +08:00
fd5e3011da [Docs] Added some missing documents (#4710)
1. Add ODBC resource in resource manage doc and add english of resource manage doc
2. Add miss part in sidebar
2020-10-11 15:40:53 +08:00
725ee59824 Fix mysqlslap hang under high concurrent (#4680) 2020-10-07 12:30:18 +08:00
50b576a626 [Docs] Change incorrect bos endpoint in broker docs (#4642) 2020-09-28 13:37:05 +08:00
e611ab96e7 [Docs] Supply BE config docs of setting and examples (#4641) 2020-09-28 13:36:12 +08:00
d01ef41a0a [Doc] modify documents of dynamic partition (#4607)
If some partitions between `dynamic_partition.start` and `dynamic_partition.end` are lost
due to some unexpected circumstances when using dynamic partition.
the lost partitions between the current time and `dynamic_partition.end` will be recreated,
but the lost partitions between `dynamic_partition.start` and the current time will not be recreated.
2020-09-20 20:53:13 +08:00
1191048f5f [UI Part 2] Add HTTP API documents of Frontend (#4584)
Origin:

bootstrap-action
cancel-load-action
check-decommission-action
check-storage-type-action
config-action
connection-action
get-ddl-stmt-action
get-load-info-action
get-load-state
get-log-file-action
get-small-file
ha-action
hardware-info-action
health-action
log-action
meta-action
meta-info-action
meta-replay-state-action
profile-action
query-detail-action
query-profile-action
row-count-action
session-action
set-config-action
show-data-action
show-proc-action
show-runtime-info-action
system-action
table-query-plan-action
table-row-count-action
table-schema-action

New:

logout-action
show-meta-info-action
statement-execution-action
upload-action
2020-09-16 15:02:38 +08:00
2f0d725a25 [Batch Delete] Add a session variable to show or hide hidden columns (#4579)
Sometimes we need to show hidden columns for debug.
So we need to add a session variable to show or hide hidden columns
2020-09-13 19:14:31 +08:00
c38593702f [Config] Add default configuration of max_fiter_ratio #4541# (#4553)
Co-authored-by: shqmh <shqmh@126.com>
2020-09-13 19:12:45 +08:00
4571b09dd6 [storage][compatibility] Add meta format detection to prevent data loss. (#4539)
After 0.12 version, doris remove the format convert functiion which can convert from hdr_ format
to tabletmeta_ format when loading metas, the commit link: 3bca253

When we update doris version and there are old format meta in storage,
BE will not read the old format tablet. It can lead to data loss.

So we add meta format detection function to prevent data loss.
When there are old format meta in olap_meta, BE can find and print log or exit.
2020-09-13 11:58:22 +08:00
31e451b8c7 [Feature] Doris can set default configuration of database data quota and replica quota #4540# (#4550)
When Doris create a database, the database of data quota and replica quota is initialized by configuration(Config.default_db_data_quota_bytes and Config.default_db_replica_quota_bytes).
In other words, I convert FeConstants.default_db_data_quota_bytes to Config.default_db_data_quota_bytes
Config.default_db_data_quota_bytes can be change in configuration file.
2020-09-12 11:17:27 +08:00
81784d6471 Revert "Add a session variable to show or hide hidden columns (#4510)" (#4576)
This reverts commit fe0260e54f8dfa37260423cffcf42096de19ed1f.
2020-09-10 15:18:36 +08:00
fe0260e54f Add a session variable to show or hide hidden columns (#4510)
* add session variable to show hidden columns
2020-09-10 13:07:43 +08:00
8be04fac64 [Variable] Add a new global variable "performance_schema" to support Mysql JDBC 8.0.16 or later.#4537# (#4542) 2020-09-08 09:25:20 +08:00
bcb443fb63 [Feature]Support SELECT Optimizer Hints SET_VAR (#4504) 2020-09-06 20:27:53 +08:00