@clickhouse_ru

Страница 485 из 723
Wolf
05.04.2018
06:36:19
селектам вообще зукипер не нужен

в чем прозрачность то , одинаковость реплик вы сами обеспечиваете если у вас нет зукипера

если вы про это конечнр

Yuri
05.04.2018
06:41:22
нет, мне не надо, чтобы на всех нодах было одинковое содержимое. нам достаточно. чтобы при обращении к любой выдавался полный сет со всех нод. вот этого хочется

Google
Alexander
05.04.2018
06:44:05
тогда у вас будут данные со всех нод в одном запросе

Гаврилов
05.04.2018
06:56:47
странно

Kirill
05.04.2018
06:58:11
странно
Скорее всего вы имеете ввиду обновление данных в таблице, тогда нет. Считайте что это про обновление данных по "F5" - можете писать и сразу же получать "актуальный" результат

Гаврилов
05.04.2018
07:00:03
я просто инсерт делаю в MergeTable и он сразу заменяет старые на новые в зависимости от ключа?

тогда в ReplacedMergeTable теряется смысл?

Kirill
05.04.2018
07:02:48
я просто инсерт делаю в MergeTable и он сразу заменяет старые на новые в зависимости от ключа?
Он ничего не меняет, вы можете делать запросы на чтение в реальном времени (данные обновляются в реальном времени)

Гаврилов
05.04.2018
07:11:24
печально

я думал он обновлять может

тогда движок поддерживает не обновление в реальном времени, а добавление в реальном времени

Google
Вячеслав
05.04.2018
07:22:49
Привет. Подскажите пожалуйста, имеет ли смысл использовать тип UUID для хранения уникальных идентификаторов? Есть ли с ним какие то проблемы? В changelog репозитории CH указано, что поддержка UUID неполная.

Вячеслав
05.04.2018
07:38:53
Проблем куча, используйте FixedString(16)
а можете привести пример, какие могут возникнуть проблемы с UUID ?

Kirill
05.04.2018
07:40:41
а можете привести пример, какие могут возникнуть проблемы с UUID ?
Ломает репликацию, не работает CAST, хранит обратный набор байт и не совместим со стандартными UUIDTo* функциями, не работают операции сравнения, а так можно использовать )

Andrew
05.04.2018
07:57:52
UUID тип сейчас вообще частично сломан

поэтому в данный момент есть только вариант с FixedString

https://github.com/yandex/ClickHouse/issues/1770

Конечно очень хотелось бы чтобы разработчики исправили CAST оператор и операции сравнения для UUID. Жить бы стало проще. Может кто нибудь дать estimatation по срокам на эти баги?

Wolf
05.04.2018
08:10:24
Вчера сказали исправьте сами и пришлите пул реквест, так что со сроками все ясно, как только сам починишь

Andrew
05.04.2018
08:12:40
))))

Andrey
05.04.2018
09:13:48
Ловлю очень странное поведение `SELECT DISTINCT stack_trace FROM dfs.error WHERE emergency_datetime > toDateTime('2018-04-05 11:30:34') LIMIT 10 Received exception from server (version 1.1.54370): Code: 171. DB::Exception: Received from localhost:9001, 127.0.0.1. DB::Exception: Block structure mismatch in UNION stream: different number of columns: stack_trace String String(size = 0) stack_trace String String(size = 0), emergency_datetime DateTime UInt32(size = 0). ` ` :) describe dfs.error DESCRIBE TABLE dfs.error ┌─name───────────────┬─type─────┬─default_type─┬─default_expression─┐ │ incoming_message │ String │ │ │ │ stack_trace │ String │ │ │ │ emergency_date │ Date │ │ │ │ emergency_datetime │ DateTime │ │ │ └────────────────────┴──────────┴──────────────┴────────────────────┘ 4 rows in set. Elapsed: 0.001 sec. `

version 1.1.54370.

dfs.error - это Distrebuted таблица

к локальной - работает

Nikolai
05.04.2018
09:22:35
похоже на это: https://github.com/yandex/ClickHouse/issues/2156 но будет отлично, если вы добавите свой пример со структурой таблиц и конфигурацией кластера, на котором падает запрос

Andrey
05.04.2018
09:26:36
Пойду откатываться(((((

Eugene
05.04.2018
09:27:34
ребят, подскажите, когда определен внешний словарь с источником по https с lazy_load false и он почему-то не загружается, КХ считает что таймаут, есть возможность поставить какойто retry может быть?

Nikolai
05.04.2018
09:34:01
есть параметр lifetime, можно его покрутить. но меньше 5 секунд, кажется, не получится сделать а еще можно сделать system reload dictionary dict_name https://clickhouse.yandex/docs/en/dicts/external_dicts_dict_lifetime/#dicts-external_dicts_dict_lifetime

Eugene
05.04.2018
09:37:13
он кстати не ходит к словарю который не смог загрузить повторно, lifetime стоит 300

Google
Eugene
05.04.2018
09:37:57
и если к нему обращаться например через select dictGetString ... - запрос виснет

Беслан
05.04.2018
09:37:59
Коллеги, а по массивам можно делать IN , или обязательно arrayExists ?

Alexander
05.04.2018
09:38:43
has()

Nikolai
05.04.2018
09:45:49
он кстати не ходит к словарю который не смог загрузить повторно, lifetime стоит 300
да, я неверно сказал. если словарь не загружается, то время следующей попытки увеличивается экспоненциально

Eugene
05.04.2018
09:47:09
исследование проблемы показало - если 1 словарь не загружается из списка - ни один из словарей не работает даже если был загружен успешно ну и system reload dictionary dict_name тоже не помогает

Nikolai
05.04.2018
09:47:53
и если к нему обращаться например через select dictGetString ... - запрос виснет
а вот это странно. запрос должне возвращать ошибку, что словарь не загружен

исследование проблемы показало - если 1 словарь не загружается из списка - ни один из словарей не работает даже если был загружен успешно ну и system reload dictionary dict_name тоже не помогает
воспроизвести не получилось. пример: ELECT dictGetString('fail', 'String_', toUInt64(2)) Received exception from server (version 1.1.54373): Code: 1000. DB::Exception: Received from localhost:9004, ::1. DB::Exception: Exception: Connections to all replicas failed: test@localhost:12345 as user 123. Stack trace: SELECT dictGetString('mysql_flat_5', 'String_', toUInt64(2)) ┌─dictGetString(\'mysql_flat_5\', \'String_\', toUInt64(2))─┐ │ 18198135717204167749 │ └───────────────────────────────────────────────────────────┘ Можете поделиться какой-нибудь минимальной конфигурацией, на которой такое происходит?

Антон
05.04.2018
10:11:26
Вопрос по StorageFile. Почему нельзя создать таблицу из файла на сервере? CREATE TABLE fileTest ( id UInt32, data String ) ENGINE = File(TabSeparated, '/path_to_clickhouse/data/test.tsv') DB::Exception: Using file descriptor or user specified path as source of storage isn't allowed for server daemons

Eugene
05.04.2018
10:12:59
у меня сорсы - tsv'шки через https за nginx 20 словарей. если указаны все - один обязательно стрельнет timeout'ом трейс - 11. /usr/bin/clickhouse-server(DB::ExternalDictionaries::ExternalDictionaries(std::unique_ptr<DB::IExternalLoaderConfigRepository, std::default_delete<DB::IExternalLoaderConfigReposit 2018.04.05 08:31:03.549125 [ 4 ] <Error> BaseDaemon: ######################################## 2018.04.05 08:31:03.549146 [ 4 ] <Error> BaseDaemon: (from thread 1) Received signal Aborted (6). 2018.04.05 08:50:51.446143 [ 1 ] <Error> ExternalDictionaries: Cannot create external dictionary 'section' from config path /etc/clickhouse-server/dictionaries.xml: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Timeout: connect timed out: XXX:443, e.what() = Timeout 2018.04.05 08:50:51.446929 [ 1 ] <Error> ExternalDictionaries: reloadFromConfigFile has thrown while reading from /etc/clickhouse-server/dictionaries.xml: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Timeout: connect timed out: XXX:443, e.what() = Timeout

Sergey
05.04.2018
10:14:03
Народ, а подскажите, в чем может быть проблема и куда копать, если КХ перестал отвечать и отдавать Ok по адресу сайт:порт?

Sergey
05.04.2018
10:14:42
оом киллер? Это че?

Eugene
05.04.2018
10:14:54
Puma ну а то что из-за одного таймаута не работает всё это как-бы ок считается ?

Wolf
05.04.2018
10:14:58
линукс киллер если память кончилась

Puma ну а то что из-за одного таймаута не работает всё это как-бы ок считается ?
ну если словаря нет то как то сложно работать всему что на него завязано

Eugene
05.04.2018
10:15:53
на него ничего не завязано. и при этом ни один другой словарь не работает , хотя был загружен успешно

Combot
05.04.2018
10:16:10
combot.org/chat/-1001080295593

Google
Combot
05.04.2018
10:16:11
combot.org/chat/-1001080295593

Eugene
05.04.2018
10:17:25
в nginx ошибок никаких нет, там всё работает без проблем. каждый раз рандомный словарь отваливается при старте КХ

Sergey
05.04.2018
10:18:00
Ха, а знаете какой прикол - если захожу со Старбакса, ничего не пишет и висит, а если с расшаренного Андроида - пишет Ok =)

Vladislav
05.04.2018
10:18:32


05.04.2018
10:25:04
с данными это не связано, у тебя есть вью и нет от него sql в метадате

Vladislav
05.04.2018
10:29:16
Понял, спасибо

Eugene
05.04.2018
10:42:11
@kochetovnicolai всё решилось установкой <http_connection_timeout>10</http_connection_timeout> который по дефолту равен единице но думаю что когда недоступны все словари из-за одного это не айс

Nikolai
05.04.2018
10:43:08
наверно, все словари идут одновременно обновляться, и один не успевает по таймауту

Eugene
05.04.2018
10:43:34
возможно таймаут идет один на всё сразу?

Nikolai
05.04.2018
10:44:13
когда все словари недоступы из-за одного, конечно, плохо. попробую воспроизвести конкретно для http словарей

возможно таймаут идет один на всё сразу?
скорее всего нет. на всякий случай проверю

Eugene
05.04.2018
10:45:40
да, и не забывайте, что запрос к одному из таких "недоступных" словарей виснет(более 5и минут, потом ctrl+c) и ничего не отдает

в логах, в такой ситуации, соответственно тоже ничего нет

Nikolai
05.04.2018
10:46:11
словарь cached?

Eugene
05.04.2018
10:46:26
hashed

Артемий
05.04.2018
11:07:26
Nikolai
05.04.2018
11:07:51
в clickhouse-local должен работать

Саша
05.04.2018
11:11:50
Добрый день. А как проверить что запрос выполнился на нескольких серверах при обращении к distributed таблице? SELECT toDate('2018-03-29') AS date, last_status AS status, project_id, now() AS datetime, uniqExact(client_id) AS unique, groupUniqArray(hn) FROM ( SELECT hostName() AS hn, client_id AS client_id, project_id AS project_id, list_id AS list_id, argMax(status, datetime) AS last_status FROM distributed_stat WHERE (status_updated = 1) AND (date <= '2018-03-29') GROUP BY client_id, subscription_id, project_id, list_id ) GROUP BY project_id, last_status

groupUniqArray(hn) выдает массив из одного элемента постоянно

Google
Саша
05.04.2018
11:12:30
может что-то неправильно настроено?

Alex
05.04.2018
11:18:04
может что-то неправильно настроено?
У вас один сервер (чей hostName()) выдаётся в итоге мёржит результаты с разных серверов (на которые указывает Distributed)

это ожидаемое поведение

Если вы в консольном клиенте выставите set distributed_group_by_no_merge=1; и выполните внутренний запрос, то там появятся hostname

Alex
05.04.2018
11:27:43
все равно одни хост получился
status_updated входит в выражение шардинга для Distributed?

Саша
05.04.2018
11:30:26
единственной в плане запроса в логах я вижу такой executeQuery: Query pipeline: Expression Expression Aggregating Concat Expression Remote

Vitaliy
05.04.2018
12:46:33
Я тут надыбал занимательную ошибку

2018.04.05 12:44:23.383013 [ 8 ] <Error> HTTPHandler: Code: 195, e.displayText() = DB::Exception: User default is not allowed to connect from address ::ffff:10.21.90.20, e.what() = DB::Exception, Stack trace: 0. /usr/bin/clickhouse-server(StackTrace::StackTrace()+0x15) [0x73178b5] 1. /usr/bin/clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x1e) [0x19ca19e] 2. /usr/bin/clickhouse-server(DB::SecurityManager::authorizeAndGetUser(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Poco::Net::IPAddress const&) const+0x5aa) [0x6729a4a] 3. /usr/bin/clickhouse-server(DB::Context::setUser(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Poco::Net::SocketAddress const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x80) [0x666d310] 4. /usr/bin/clickhouse-server(DB::HTTPHandler::processQuery(Poco::Net::HTTPServerRequest&, HTMLForm&, Poco::Net::HTTPServerResponse&, DB::HTTPHandler::Output&)+0x542) [0x19e4f02] 5. /usr/bin/clickhouse-server(DB::HTTPHandler::handleRequest(Poco::Net::HTTPServerRequest&, Poco::Net::HTTPServerResponse&)+0x397) [0x19e9aa7] 6. /usr/bin/clickhouse-server(Poco::Net::HTTPServerConnection::run()+0x335) [0x7632085] 7. /usr/bin/clickhouse-server(Poco::Net::TCPServerConnection::start()+0xe) [0x762ad4e] 8. /usr/bin/clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x165) [0x762b115] 9. /usr/bin/clickhouse-server(Poco::PooledThread::run()+0x76) [0x73e6f36] 10. /usr/bin/clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x37) [0x73e32a7] 11. /usr/bin/clickhouse-server() [0x76fcfae] 12. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76b9) [0x7f77de1ed6b9] 13. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6c) [0x7f77ddc1a41c]

Firej
05.04.2018
12:48:29
привет! у меня тут зукипер сломался походу и теперь в логах CH вижу кучу таких сообщений - (ReplicatedMergeTreeQueue): Not executing log entry for part 20180316_18956_102318_13 because its size (38.99 GiB) is greater than current maximum (19.80 MiB).

есть вообще шанс, что оно само починится?

или может гдето можно подкрутить чтонибудь

Vitaliy
05.04.2018
12:54:15
при этом... [12:53] icinga-labs:~ (✓)# curl -I http://10.27.4.12:8123 HTTP/1.1 200 OK Date: Thu, 05 Apr 2018 12:53:42 GMT Connection: Keep-Alive Keep-Alive: timeout=3 Content-Type: text/html; charset=UTF-8 Content-Length: 4

Nikolai
05.04.2018
12:56:05
привет! у меня тут зукипер сломался походу и теперь в логах CH вижу кучу таких сообщений - (ReplicatedMergeTreeQueue): Not executing log entry for part 20180316_18956_102318_13 because its size (38.99 GiB) is greater than current maximum (19.80 MiB).
есть шанс, что получится позже, если сейчас идет много мержей. а еще, возможно, на какой-нибудь реплике выставлен max_bytes_to_merge_at_max_space_in_pool меньше, чем у остальных

Firej
05.04.2018
12:57:55
нет, не выставлен

и через 10 минут почемуто зукипер в итоге вообще помирает

Страница 485 из 723