Commit Graph

72 Commits

Author SHA1 Message Date
Azat Khuzhin
4530adee76 Do not reload *all* dictionaries on CREATE DATABASE
This ignores any lifetime, while dictionaries can be quite big.

Fixes: c7cd911305 ("Merge pull request #7360")
Refs: https://github.com/ClickHouse/ClickHouse/pull/7360#discussion_r345207682
2019-11-26 10:33:25 +03:00
alesapin
c3519ff376 Better check of dictionary lifetime for updates 2019-10-23 16:02:40 +03:00
alesapin
6a0246f58e Fix if 2019-10-23 12:40:09 +03:00
alesapin
0abb2e538b Remove strange logic 2019-10-23 12:36:20 +03:00
alesapin
fb349757ba Fix ubsan error 2019-10-23 12:27:34 +03:00
alesapin
dc6090a2ac More readable code in external loader 2019-10-22 16:41:17 +03:00
alesapin
ae42dd1cea Better doLoading locking logic 2019-10-22 15:57:58 +03:00
alesapin
f7043c38bd Less diff 2019-10-21 17:20:42 +03:00
alesapin
fc05110d66 Better naming 2019-10-21 17:07:47 +03:00
alesapin
e4a936cf41 Fix add and reload 2019-10-21 16:54:23 +03:00
alesapin
cdc195727e Fix some races from lazy load and add ugly interface to loader (need to be refactored) 2019-10-18 19:04:09 +03:00
alesapin
c29b39002d Fix race condition, add test 2019-10-17 20:36:53 +03:00
alesapin
05392fd882 Fix deadlock, add test and refactoring 2019-10-17 20:18:54 +03:00
alesapin
6dfe5c7142 Better introspection 2019-10-17 16:05:12 +03:00
alesapin
3987a45ea2 Fix build and style 2019-10-17 12:05:48 +03:00
alesapin
a19a699bef Fix confused variables 2019-10-16 20:52:56 +03:00
alesapin
01e23f0a22 Better load of dictionaries 2019-10-16 20:06:52 +03:00
alesapin
b4e0ded048 Almost working 2019-10-16 17:59:52 +03:00
alesapin
e690a3ca32 Half working code 2019-10-15 21:04:17 +03:00
alesapin
8429f46f3c Return getUpdateTime method to interface 2019-10-01 11:58:47 +03:00
alesapin
08681ac210 Preparation for AST configurations for external dictionaries 2019-09-30 19:12:08 +03:00
alesapin
bc6caba4db Remove redundant argument 2019-09-30 14:18:01 +03:00
alesapin
9ee031413c Remove a lot of unused code 2019-09-27 15:36:54 +03:00
alesapin
bba3a96ff4 Remove redundant argument 2019-09-26 20:24:55 +03:00
alesapin
0e28dc4e51 Remove redundant classes 2019-09-26 19:12:15 +03:00
alesapin
903f826640 Remove runtime factory and remove one redundant object 2019-09-26 13:08:38 +03:00
Vitaly Baranov
da8f67123f Improve error handling in cache dictionaries:
allow using expired values while the source of a cache dictionary doesn't respond;
clone the source after an error to reset connections;
don't ask the source for a little time after error;
show the last exception in system.dictionaries for a cache dictionary too.
2019-08-30 12:50:38 +03:00
Nikolai Kochetov
2ae3db7920 Merged with master. 2019-08-09 18:32:44 +03:00
Vitaly Baranov
e64f8e606d Add comments. 2019-07-20 00:04:19 +03:00
alexey-milovidov
f18e9592a1 Update ExternalLoader.cpp 2019-07-20 00:03:57 +03:00
Vitaly Baranov
5b879e143f Fix segfault in ExternalLoader::reloadOutdated(). 2019-07-20 00:03:25 +03:00
Vitaly Baranov
6d563c51e6 Remove unnecessary try-catch in the constructors of classes derived from IExternalLoadable. 2019-07-17 11:39:36 +03:00
Vitaly Baranov
b74dacf9c4 Check dictionaries for modification with unlocked ExternalLoader::mutex 2019-07-16 20:47:18 +03:00
Vitaliy Zakaznikov
24a3726235 Merge branch 'master' of https://github.com/vzakaznikov/ClickHouse into liveview 2019-07-07 20:03:14 -04:00
Vitaliy Zakaznikov
259a95a3da * Updates to fix issues after the merge 2019-07-07 19:57:58 -04:00
Alexey Milovidov
ffaaf93c49 Compatibility with old compiler (gcc-7) 2019-07-02 20:24:22 +03:00
Maxim Sabyanin
663aab6f5b complete ExternalLoader method's implementations 2019-06-30 23:04:21 +03:00
Alexey Milovidov
90898905e0 Allow to DROP database with Dictionary engine 2019-06-29 20:27:32 +03:00
Alexey Milovidov
de8a15b5f4 Removed unused method 2019-06-29 20:19:46 +03:00
Vitaly Baranov
b4384ce2a9 Dictionaries can be loaded in parallel.
A bad dictionary cannot block all the loading anymore.
Implemented really lazy loading of external dictionaries.
Provided more detailed information about the loading of each dictionary
to make diagnostics easier.
2019-06-14 22:18:47 +03:00
Vitaly Baranov
39c71075fa Don't wait for the reloading when it's been doing in another thread. 2019-04-16 14:40:36 +03:00
Vitaly Baranov
6d96443440 Resolve correctly when dictionary depends on dictionary 2019-04-15 20:40:45 +03:00
Alexey Milovidov
842a9708e9 ExternalDictionaries: don't lock when checking if a dictionary is modified 2019-03-05 19:06:40 +03:00
Alexey Milovidov
2e7db37cde Fixed issue with update time of dictionaries after checking that the dictionary is not modified #4581 2019-03-04 22:13:05 +03:00
Alexey Milovidov
d019ac7ec5 Avoid std::terminate when invalidate_query returned wrong resultset #4580 2019-03-04 21:19:48 +03:00
proller
0e863fff1e Fix rethrowing exception #4188 2019-01-30 17:06:42 +03:00
proller
dc34e8998c Better fix 2019-01-30 13:01:01 +03:00
proller
4942e024b1 4177 4156 : Fix crash on dictionary reload if dictionary not available 2019-01-29 19:36:50 +03:00
Alexey Milovidov
f6b9b06307 Attempt to implemnt global thread pool #4018 2019-01-14 22:22:09 +03:00
Alexey Milovidov
1d4701b0bc Added some warnings from clang's -Weverything 2019-01-04 15:10:00 +03:00