
Alex
13.06.2017
12:17:57
ну а репорт по итогу?

Nataliya
13.06.2017
12:20:45
Видео тоже не планиурется. Опубликуем пост в блоге ClickHouse https://yandex.ru/blog/clickhouse

Roman
13.06.2017
12:28:07
А видео не хотите по каким-то legal issues?
было бы очень интересно посмотреть

Google

Slach
13.06.2017
12:30:15
попробовал поделить файл пополам, все вставилось нормально
значит дело все таки в том что у меня там 72 колонки
и 130 тысяч строк
ну вроде по вашим словам не должно аллоцироваться больше 100 мегабайт
все таки было бы не плохо разобраться

Andrew
13.06.2017
12:40:59
Я пачки по 10-15 гигабайт заливал
Хотя колонок было поменьше

Александр
13.06.2017
12:59:45
У меня проблема с записью другая. На сервере пишу в распределенную таблицу и получаю IO Error: Broken pipe, причем на шардах никаких ошибок в логах нет...
И это блин на продакшене...
И че с этим делать даже не знаю. Один вариант - сделать роутинг на нужный сервер на уровне приложения

Pavel
13.06.2017
14:01:09
я бы начал с strace процесса CH и tcpumpd/wireshark
broken pipe должен возвращать вполне конкретный сокет и эту ошибку видно в сисколлах

Dig
13.06.2017
14:15:57
Добрый день, где посмотреть список имен часовых поясов, которые понимает CH? Пытаюсь для UTC-3 найти подходящее значение, не могу.

Alex
13.06.2017
14:19:46
В /usr/share/zoneinfo. Если хочется руками задать оффсет от UTC (что не рекомендуется), можно попробовать Etc/GMT+3

Dig
13.06.2017
14:33:06
Спасибо. Только походу toDateTime не поддерживает таймзоны

Igor
13.06.2017
14:33:32
вторым аргументом разве нельзя указать таймзону?


Alex
13.06.2017
14:33:34
Ребят....проблема с distributed таблицей. Пишу данные и в логах вот такое сыпится
2017.06.13 12:55:19.446774 [ 22 ] <Error> statements.Distributed.DirectoryMonitor: Code: 210, e.displayText() = DB::NetException: I/O error: Broken pipe: while reading from socket (10.20.122.3:9000), e.what() = DB::NetException, Stack trace:
0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x2969826]
1. clickhouse-server(DB::WriteBufferFromPocoSocket::nextImpl()+0x5ad) [0x297de7d]
2. clickhouse-server(DB::Connection::sendData(DB::Block const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xe5) [0x2b6f365]
3. clickhouse-server(DB::Connection::sendQuery(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&, unsigned long, DB::Settings const*, DB::ClientInfo const*, bool)+0xc35) [0x2b709b5]
4. clickhouse-server(DB::RemoteBlockOutputStream::writePrefix()+0x6a) [0x2c25eda]
5. clickhouse-server(DB::StorageDistributedDirectoryMonitor::processFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x6f9) [0x2aa4cf9]
6. clickhouse-server(DB::StorageDistributedDirectoryMonitor::findFiles()+0x14c) [0x2aa680c]
7. clickhouse-server(DB::StorageDistributedDirectoryMonitor::run()+0xc5) [0x2aa6d05]
8. clickhouse-server() [0x36744ef]
9. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7f4f0fd8a6ba]
10. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f4f0f3ab82d]
Попробуем поймать... Скажите, с какой версии обновились? Какая конфигурация кластера? Чем отличаются Distributed таблицы, в которые INSERT работает, от тех, в которые не работает?

Google

Igor
13.06.2017
14:33:56
а, это toString()

Александр
13.06.2017
14:36:53

Alex
13.06.2017
14:37:49

Александр
13.06.2017
14:41:44
Да
Реплик нет, просто 3 шарда
Distributed таблица создана на всех трех серверах

Alex
13.06.2017
15:06:29
Да, удалось повторить. Проблема возникает, если в кластере шарды без реплик и соединение во время какой-то вставки разорвалось. Тогда соединение не переустанавливается, и последующие вставки залипают. Должно лечиться перезапуском.
Постараюсь сегодня сделать фикс

Александр
13.06.2017
15:09:15
Супер! Спасибо большое! :)
И там еще был баг с выбросом колонки при оптимизации запроса https://github.com/yandex/ClickHouse/issues/859. По нему ничего не известно?
Достаточно неприятный кейс на самом деле (

Alexey
13.06.2017
16:44:08
Привет. https://clickhouse.yandex/docs/ru/table_engines/graphitemergetree.html – насколько этот движок специфичен для Graphite? Насколько он стабилен? И будет ли документаци на него на английском?

Slach
13.06.2017
16:44:34
Ребята, clickhouse упал по OOM Killer
после старта сервера
отожрал всю свободную память
и увел в жестокий iowait всю систему...
http://take.ms/iUsHN
выглядит все примерно так
все счетчики показывают что система начинает есть на чтение весь доступный диск

Alexey
13.06.2017
16:47:01
Есть ли альтернативы GraphiteMergeTree для прореживания данных?

Alex
13.06.2017
16:56:45

Alexey
13.06.2017
16:57:27
Какую? Где почитать?
Точнее, есть ли ещё что-то, кроме ссылки выше и исходников? :)

Google

Alexey
13.06.2017
17:01:19
Можно ли указать несколько pattern'ов? Что такое version? Важен ли формат path?

Alex
13.06.2017
17:05:08
Вроде бы, в документации про это есть... Да, можно указывать сколько угодно паттернов. Version это столбец, который при прореживании позволяет среди значений с одинаковым Path и Time выбрать одно. Формат Path не важен - главное, чтобы под паттерны подходил.
Структура такая: Path, Time, Value, Version

Alexey
13.06.2017
17:05:53
https://clickhouse.yandex/docs/ru/table_engines/graphitemergetree.html – это я читал
> Version это столбец, который при прореживании позволяет среди значений с одинаковым Path и Time выбрать одно.
Как? По максимальному значению?

Alex
13.06.2017
17:06:27
Да.

Alexey
13.06.2017
17:08:38
https://github.com/yandex/ClickHouse/blob/master/dbms/tests/integration/test_graphite_merge_tree/test.py#L30 – тут будет храниться и дата, и timestamp? Почему timestamp – UInt32, а не DateTime?

Oleg
13.06.2017
17:09:14
Добрый вечер! А вы не планируете вторичные индексы? Всегда хватает 1 ключа или есть сложности в реализации? Раздумываю над запросами, временами фулскан выходит т.к. не все попадают в primary key

Олег
13.06.2017
17:19:24
Кажется, можно выносить отдельные ключи в MATERIALIZED VIEW и join'ить, join'ить.

Oleg
13.06.2017
17:20:13
м, спс

Alex
13.06.2017
19:55:22
Timestamp типа DateTime тоже можно

Alexander
13.06.2017
20:01:11
Вопрос: это что-то известное? Вставляю в buffer, в котором есть materialized поле. Какое-то время всё ок, но потом сервер начинает сыпать Cannot insert column col_mat со стек-трейсом. Версия 1.1.54236

Alex
13.06.2017
20:10:53
Похоже на то, что значения материализовались при вставке в buffer-таблицу, а когда пришло время флашить их в основную таблицу, конкретное значение в материализованный столбец уже не вставить.
Можно использовать default-поля

Alexander
13.06.2017
20:19:56
А, те в buffer default, а в таргете оставить как есть. Понял.
Или наоборот :), в общем понял, спасибо.

Roman
13.06.2017
20:23:30
https://clickhouse.yandex/docs/ru/table_engines/graphitemergetree.html
В документации колонка называется Version, а в коде дефолтное название Timestamp - https://github.com/yandex/ClickHouse/blob/e03ae570f7a760a4acedbea77e5063a99a9b15e2/dbms/src/Storages/StorageFactory.cpp#L199

Андрей Михайлович
13.06.2017
21:25:24

Pavel
13.06.2017
21:26:03
ну может человек забросил удочку и ушел искать в ином месте)

Google

Slach
14.06.2017
05:27:29
А кто нибудь пробовал пускать clickhouse из docker с volume на data папку?