Commit Graph

2479 Commits

Author SHA1 Message Date
17af23edae 【Improvement】Avoid null host when forward to master (#4844)
Co-authored-by: wangxixu <wangxixu@xiaomi.com>
2020-11-10 10:54:29 +08:00
4204a878c8 [Bug] Fix some bugs of load job scheduler (#4869)
* [Bug] Fix some bugs of load job scheduler

1. The fix load meta bug logic should be removed since 0.12.
2. The load task thread pool's waiting queue should be as long as desired pending jobs num.
3. Submit the load task outside database lock to prevent holding lock for long time.
2020-11-10 10:50:31 +08:00
9aa3d61dc0 [refactor] change http server log level (#4853)
* change some log level

* change some log level
2020-11-08 20:53:36 +08:00
04cfcf6c36 Update fe-idea-dev.md (#4852)
* Update fe-idea-dev.md

use `brew install thrift@0.9` to install thrift 0.9.3.1
`brew edit thrift090 | head` shows thrift@0.9 uses thrift 0.9.3.1

* [Refactor] Remove the unnecessary if statement

Future<?> submit(Runnable task)
Submits a Runnable task for execution and returns a Future representing that task. The Future's get method will return null upon successful completion.
2020-11-08 20:52:15 +08:00
59c7d5021d [Bug][Load] Catch retry submit exception (#4796)
When `Load Job Task Queue` is filled, continue to submit more jobs to the queue will cause 
`RejectedExecutionException`.
But `callback.onTaskFailed` function does not catch the exception, that will cause
re-submitting job failed, and status is not updated to failed.
issue: #4795
2020-11-08 20:50:50 +08:00
f40868a480 [Optimize] Improve LRU cache's performance (#4781)
When LRUCache insert and evict a large number of entries, there are
frequently calls of HandleTable::remove(e->key, e->hash), it will
lookup the entry in the hash table. Now that we know the entry to
remove 'e', we can remove it directly from hash table's collision list
if it's a double linked list.
This patch refactor the collision list to double linked list, the simple
benchmark CacheTest.SimpleBenchmark shows that time cost reduced about
18% in my test environment.
2020-11-06 10:56:27 +08:00
bde84e4ae5 [Bug][SQL] Fix bug that query failed when SQL contains Union and Colocate join (#4842)
SQL like:
`select a join b union select c join d`;

if a b is colocate join, and c d is also colocate join, the query may failed
with error like:

`failed to get tablet. tablet_id=26846, with schema_hash=398972982, reason=tablet does not exist`
2020-11-05 20:57:11 +08:00
1d89e0670a [License] Add other license declare in NOTICE (#4831) 2020-11-05 20:30:49 +08:00
c5b034acc4 [FE UI] Fix some bugs about new FE UI (#4830)
1. Add a search boxer in the left tree view of Playground.
2. Fix some visual bugs of UI.
3. Fix bugs that link failed in QueryProfile view.
4. Fix bugs that cookie is always invalid.
5. Set cookie to HTTP_ONLY to make it more safe.
2020-11-05 20:30:09 +08:00
f239f44b37 [Compaction][Bug-Fix] Fix bug that meta lock need to be held when calculating compaction score (#4829)
* [Compaction][Buf] Fix bug that meta lock need to be held when calucating compaction score

* fix

Co-authored-by: morningman <chenmingyu@baidu.com>
2020-11-05 20:29:01 +08:00
c8df76a807 [FEATURE]Check date type to avoid scan all partitions (#4756)
`select day from test where day='2020-10-32'`
table 'test' is parititioned by day. In this case, '2020-10-32' will be taken as CastExpr not LiteralExpr,
and condition "day='2020-10-32'" will not be recognized as partitionfilter.
This case will scan all partitions. To avoid scall all partitions, it is better to filter invalid date value.

issue: #4755
2020-11-05 20:25:53 +08:00
c53dd949c9 [Feature] Add CPU and Heap profile in BE webserver (#4632)
Add CPU Profile and Heap Profile in BE webserver.
This way we can more easily diagnose system performance bottlenecks through perf tools.
2020-11-05 20:25:07 +08:00
80d5f6e3d8 [LoadBalance] make BeLoadRebalancer extends from base class Rebalancer (#4771) 2020-11-03 20:23:48 +08:00
d1c2b3ed0d [Optimize] Add an unordered_map for TabletSchema to speed up column name lookup (#4779)
Reduce column name lookup for TabletSchema and Tablet from O(N) to O(1).
2020-11-03 19:53:44 +08:00
b1c1ffda4a [Refactor] Refactor olap scan node code (#4823)
1. Remove meaningless code in Doris
2. Replace string copy by string reference
3. Simplified the implementation of some functions
2020-11-01 09:12:23 +08:00
d0b7286099 [optimize] optimize default value for thriftserver's config key "thrift_client_timeout_ms" (#4808)
* optimize  default value for thrift server's config key "thrift_client_timeout_ms"

Co-authored-by: liwei5 <liwei5@vipkid.com.cn>
2020-10-30 17:10:03 +08:00
c03808a4e4 [TabletScheduler] Fix some bug where decommission operations cannot be completed (#4804)
1.
When we decommission some BEs with SSD disks,
if there are no SSD disks on the remaining BEs, it will be impossible to select a suitable destination path.
In this case, we need to ignore the storage medium property and try to select the destination path again.
Set `isSupplement` to true will ignore the storage medium property.

2.
When the BE nodes where all replicas of a tablet are located are decommission,
and this task is a VERSION_INCOMPLETE task.
This will lead to failure to select a suitable dest replica.
At this time, we should try to convert this task to a REPLICA_MISSING task, and schedule it again.
2020-10-30 11:50:47 +08:00
a291f4d285 [SQL][Bug] Fix union bug (#4772) (#4807) 2020-10-30 11:49:43 +08:00
44498a1ae2 [Compatibility] Add table "views" in information_schema database (#4778)
To support some tools like DBeaver
2020-10-30 11:44:44 +08:00
5933326503 Fix Clerical error (#4820) 2020-10-30 10:06:35 +08:00
9099191038 remove (#4818)
Co-authored-by: yangwenbo6 <yangwenbo3@jd.com>
2020-10-30 10:05:47 +08:00
32afb11458 [Doc] Add doc for sequence column (#4814) 2020-10-30 10:05:15 +08:00
427d7ec08a [Docs] Fix REPLACE TABLE syntax (#4819) 2020-10-30 10:04:53 +08:00
6b234fb2ce Fix create rollup may duplicate hidden column (#4816) 2020-10-30 10:04:21 +08:00
fe6ac26b74 [BUG] Cast int type to date type (#4806) 2020-10-29 20:36:45 +08:00
54fa76359b [ODBC] Support ODBC external table of PostgreSQL and revise the doc. (#4798) 2020-10-29 14:31:23 +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
6790254b97 [Bug] Fix bug and optimize implementation logic of tablets web page (#4775)
(1) The implementation logic of `tablets web page` is that:
Firstly, get all the tablets of the BE;
Secondly, return specific number tablets in front to web page according to the value of request parameter `limit`. 
This patch optimize the implementation logic of `tablets web page` that getting specific number tablets in BE 
according to the value of request parameter `limit` and then return them to web page.

(2) It will return default `1000` tablets through http interface `http://be_host:webserver_port/tablets_page`.
If the number of tablet in the BE is less than 1000, there will be `coredump` in the following code:

be/src/http/action/tablets_info_action.cpp
2020-10-28 23:25:43 +08:00
d0e8420d39 [Doc] Modify release manual (#4741)
Add more details
2020-10-28 23:22:58 +08:00
44a877932d fix docs (#4801) 2020-10-28 10:40:53 +08:00
bfdb15c730 [Bug] Fix some date functions to make their result same as MySQL (#4786)
dayofweek, dayofmonth, dayofyear, weekofyear, timediff

Also fix ut compilation problem
2020-10-27 12:52:44 +08:00
ce587e5a83 [Doc] Fix a command word spelling error in variables.md (#4800) 2020-10-27 11:24:36 +08:00
0f13eddd97 fix typo in log (#4790) 2020-10-27 10:03:56 +08:00
c8d496830b [Compile] Remove unused import (#4794) 2020-10-26 22:54:27 +08:00
a61eea3b2e Make some debug log settings configurable and change some log level from info to debug to avoid performance bottlenecks (#4766) 2020-10-26 16:10:19 +08:00
f89b660c94 [Feature] Support Alter Table Clause For External Table (#4699)
* Support Alter Table Clause For External Table
5 alter operation be supported:

* RENAME
* ADD COLUMN
* DROP COLUMN
* MODIFY COLUMN
* REORDER COLUMN
2020-10-25 17:17:56 +08:00
2fa3ffda7b change code style (#4776) 2020-10-24 17:36:06 +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
16f5d223e8 [Compile] Update Repository for java-cup and cup-maven-plugin (#4769) 2020-10-22 21:38:19 +08:00
6cbefd5621 [LRUCache] Expose LRU Cache status to metrics (#4688)
Expose LRU Cache status to metrics would be helpful to diagnose
problems like high usage, low hit rate.
2020-10-22 21:37:02 +08:00
fae5c624ea Fix delete_sign predicate assigned to join node (#4770) 2020-10-22 14:29:16 +08:00
0c37b42bc7 [Bug] Because of thread-safety problem , replace connectionMap with concurrentMap from hashMap. (#4774)
Thread [Connect-Scheduler-Check-Timer] fail to iterate the connectionMap , because other threads will modify the connectionMap at the same time.
Fe's connection which is timed out can't be released because of thread [Connect-Scheduler-Check-Timer] not working.
2020-10-22 11:15:21 +08:00
7b2762b1b1 [Doris On ES][Bug-Fix] Can not pushdown limit when some predicate can not processed by ES (#4768)
Can not pushdown limit when some predicate not processed by ES, fixed: #4761
2020-10-21 12:10:55 +08:00
77835dd9c4 [Bug][Compaction] Fix bug that compaction may be blocked (#4750)
the logic of compaction producer thread may failed to produce compaction task due to
invalid order of modifying task map.
2020-10-21 10:12:37 +08:00
349cc9ef17 [Bug] Do not push down limit operation when ODBC table do not push all conjunct as filter. (#4764) 2020-10-21 10:12:12 +08:00
588e5bee47 [Bug] Fix bug of cumulative compaction and deletion of stale version (#4593)
When selecting candidate rowsets to do the cumulative compaction,
some rowsets may not be selected because the protection time has not expired.
Therefore, we need to find the current longest continuous version path in the candidate rowsets.
2020-10-21 10:03:55 +08:00
a95ce69c0d [Doc] Bug fix that help commend not work (#4760)
There are 2 docs with same name "bitmap", which cause error
when building help system.
2020-10-20 09:47:51 +08:00
09f97f8a05 [Refactor] Fixes some be typo part 2 (#4747) 2020-10-20 09:28:57 +08:00
34d5ab8e07 [BUG] Ensure that the correct lead/lag function is selected (#4732)
* fix

* fix
2020-10-18 21:38:10 +08:00
45fa67aa71 [Refactor] Remove objects which are only used for unit test (#4751)
We create some objects which are only used for unit tests, it's not necessary,
and it may cause create duplicate instances for some classes.
This patch remove unnecessary instance of class BlockManager and StoragePageCache.
2020-10-18 21:37:12 +08:00