@clickhouse_ru

Страница 710 из 723
Daniel
19.10.2018
11:24:04


Daniel
19.10.2018
11:24:35
Но восстанавливается, как можно увидеть.

Google
Wolf
19.10.2018
11:26:28
зайдите в папку таблицы и посмотрите

Kirill
19.10.2018
11:26:37
1 в этот момент заливаете много мелких пачек, 2 в этот момент сервер занят чем-то, может большие куски сливает и не мержит мелкие (в этот момент стоит глянуть в select * from system.merges)

Wolf
19.10.2018
11:26:42
может вы решили дедлать тысячу вставок по одной записи ли типо того

Kirill
19.10.2018
11:28:17
Если реплики есть, то может что с ZK в этот момент и сервер не получает задач на мерж (если на нем есть таблицы не лидеры).

Kirill
19.10.2018
11:31:10
если что не так с зк таблица по идее должна перейти в риад онли
Сервер вполне себе может видеть задачи в очереди на репликацию, но не получить задач на мерж, всякое может быть

В любом случае обычно в system.merges/system.replication_queue многое видно

Daniel
19.10.2018
11:31:54
1 исключено, второе возможно, также с зукипером пока не перешли на nvme... Но в процессе. То есть в принципе это не страшно?

Если рассасывается

Vladimir
19.10.2018
11:33:16
советую проверить, что в этот момент у вас все вставки успешно проходят

Daniel
19.10.2018
11:34:46
советую проверить, что в этот момент у вас все вставки успешно проходят
Есть rejected inserts, да, но клиент повторяет вставки до победного

Хоть ты книгу пиши, почему зукипер нельзя в докер, почему зукипер нельзя на сервер, где что-то ещё работает... ?

Google
Wolf
19.10.2018
11:41:17
зукпер в докере можно просто наверно человек имел ввиду что для продакшена три зукипера и ноды кх на одном сервере бесмысленно, а так посмотреть как все работает вполне норм, и если все на разных серверах тоже ок в докере

Denis
19.10.2018
12:10:31
Хоть ты книгу пиши, почему зукипер нельзя в докер, почему зукипер нельзя на сервер, где что-то ещё работает... ?
просто зк нужна маленькая летенси в io, а операции io непрерываемы, т.е. соседний контейнер с зк решит записать что-нибудь большое на тоже самое блочное устройство что и зк, и у вас встанет кластер с кучей КХ. Поэтому смысла нет экономить на выделенной железке под зк.

Denis
19.10.2018
12:14:17
А если он на докере, но кроме 1 инстанса ЗК больше ничего на этой машине нет и не будет?
с этим никаких проблем не будет (понятно что диск у зк не диспозабл и нужно волумы монтировать с хоста например).

Vladislav
19.10.2018
12:16:08
А еще вопрос - можно ли штатными средствами конвертнуть 2014-09-21T09:44:28+0400 (ISO8601) в DateTime?

Denis
19.10.2018
12:17:03
Denis
19.10.2018
12:19:49
select parseDateTimeBestEffortOrZero('2014-09-21T09:44:28+0400') 2014-09-21 05:44:28

Denis
19.10.2018
12:24:15
красота!
есть только тонкость у КХ с таймзонами, КХ хранит TZ для колонки, поэтому тип скорее всего будет не DateTime, а DateTime+4, в смысле будет приводится к типу таймзоны первой строки, бред, я уже сам запутался.

Denis
19.10.2018
12:27:17
Интересно, но т.е. если TZ всегда одинаковая то проблем быть не должно?
да, не будет проблем, и с разными быть не должно, просто выглядит странно https://github.com/yandex/ClickHouse/issues/2270

Pavel
19.10.2018
12:27:23
а почему не привести к utc naive перед инсертом?

Vladislav
19.10.2018
12:30:52
а почему не привести к utc naive перед инсертом?
Так приходят данные в kafka, у нас много разных проектов, в т.ч. старых, но до сих пор поддерживаемых, по возможности не хочется трогать кодовую базу там или делать промежуточные звенья

Denis
19.10.2018
12:35:09
Доброго дня. Все пытаюсь подружить kafka и clickhouse и разобраться с параметрами max_insert_block_size, stream_flush_interval_ms и max_block_size. Симптомы такие - сlickhouse забирает из kafka данные, но данные в целевую таблицу через materialized view отправляются только при наборе 65536 строк. Это также хорошо видно и со стороны kafka, CONSUMER LAG на каждом из трех consumer достигает 65536. Но правильное ли это поведение? В документации сказано "Если блок не удалось сформировать за stream_flush_interval_ms миллисекунд, то данные будут сброшены в таблицу независимо от полноты блока.". Настройки все дефолтные, на всякий проверил так. stats-1 :) select * from system.settings where name='stream_flush_interval_ms'; SELECT * FROM system.settings WHERE name = 'stream_flush_interval_ms' ┌─name─────────────────────┬─value─┬─changed─┬─description────────────────────────────────────────┐ │ stream_flush_interval_ms │ 7500 │ 0 │ Timeout for flushing data from streaming storages. │ └──────────────────────────┴───────┴─────────┴────────────────────────────────────────────────────┘ Т.е. по идеи каждые 7.5 секунд данные должны сбрасываться? но поведения такого не наблюдаю. При перезагрузке процесса - данные сразу сбрасываются.
скорее всего вам придется либо ждать новый релиз либо собирать кх https://github.com/yandex/ClickHouse/issues/2169

Vadim
19.10.2018
12:36:57
Но за это путь "вникуда"
Спасибо! Подняли в 10 раз и таблица прожевалась(доходило до 400 активных кусков), ней всего пара десятков миллионов строк, сейчас активных блоков 38, так как основная нагрузка от данных

Michal
19.10.2018
12:39:49
есть только тонкость у КХ с таймзонами, КХ хранит TZ для колонки, поэтому тип скорее всего будет не DateTime, а DateTime+4, в смысле будет приводится к типу таймзоны первой строки, бред, я уже сам запутался.
Не-а. В этом случае будет обычный DateTime без таймзоны. Легко проверить: select toTypeName(parseDateTimeBestEffortOrZero('2014-09-21T09:44:28+0400')) as l;. Храниться будет как unix timestamp. Отображаться будет в таймзоне по умолчнанию. И кстати таймзону невозможно однозначно определить смещению в конкретный момент времени.

Denis
19.10.2018
12:40:07
Google
Michal
19.10.2018
12:45:37
ок, я бы вообще оторвал TZ везде в КХ, особенно в jdbc драйвере, сплошная и бесконечная головная боль.
Конечно всё проще если никакие ТЗ не нужны и одной единственной UTC хватает для всего.

Но так бывает редко.

По крайней мере ещё одна ТЗ почти всегда нужна, и хорошо ещё если она не скачет на час вперед-назад раз в полгода.

Denis
19.10.2018
12:47:41
пусть TZ занимается клиент (приложение) select now(), toString(now()) 2018-10-19 09:46:40.0 2018-10-19 12:46:40

Alexey
19.10.2018
13:09:00
Подскажите пожалуйста как прописать в настройках ODBC таймаут правильно на клиенте

prll
19.10.2018
13:25:14
ODBC откуда куда?

Илья
19.10.2018
13:33:33
подскажите, пожалуйста, как из текущей даты вычесть Х дней? :)

Oleh
19.10.2018
13:34:14
today() - 10

Илья
19.10.2018
13:36:15
today() - 10
уточню... хранится датавремя, нужно минус 10 дней

Stanislav
19.10.2018
13:37:04
Точно 10 дней в секундах?

Тогда now() - 86400 * 10

SELECT now() AS now, now() - (86400 * 10) AS past ┌─────────────────now─┬────────────────past─┐ │ 2018-10-19 18:38:03 │ 2018-10-09 18:38:03 │ └─────────────────────┴─────────────────────┘

Илья
19.10.2018
13:38:15
Тогда now() - 86400 * 10
я думал есть синтаксис какой более понятный :)

Stanislav
19.10.2018
13:38:52
Вряд ли, по-моему. Это ж unixtime внутри, помнится.

Alex
19.10.2018
13:39:56
:) select now() - interval 10 day; SELECT now() - toIntervalDay(10) ┌─minus(now(), toIntervalDay(10))─┐ │ 2018-10-09 16:39:33 │ └─────────────────────────────────┘

Andrey
19.10.2018
13:42:35
а кто-нибудь может подсказать: как при селекте понять какая пачка данных с какого шарда/реплики прилетела? ENGINE = Distributed(replica_shard_cluster, '', test, rand())

Alex
19.10.2018
13:46:39
в выборку добавьте hostName()

Alexey
19.10.2018
13:47:36
ODBC откуда куда?
с мака к серверу, но нашел, через исходники драйвера =)

Google
Andrey
19.10.2018
13:49:04
Mike
19.10.2018
14:08:48
"Block structure mismatch" на 18.14.9 вылезло. Рецепта ремонта не было еще случайно? Кластер чистый, исключительно для тестов.

Alexey
19.10.2018
14:26:11
На Distributed вылезло?

Mike
19.10.2018
14:34:04
да

https://pastebin.com/wheixSwx трейс на всякий случай

Oleg Bazdyrev
19.10.2018
14:42:09
Привет А что лежит в папке shadow?

и можно ли ее удалять?

Alexey
19.10.2018
14:45:29
@kshvakov посмотрите пожалуйста, у нас при многоразовом выполнение одного селекта, после 30-70 раз, падает ClickHouse сервер

Сначала почему то одно ядро зависает на 100%, при том что остальные 11 ядер практически не нагружены, после чего проходит секунд 10-30 и ClickHouse сервер падает

Alexander
19.10.2018
14:48:10
А какая версия и можно ли сам запрос?

Alexander
19.10.2018
14:51:09
select version();

Alexey
19.10.2018
14:51:42
select version();
ClickHouse server version 18.10.3 revision 54405

А какая версия и можно ли сам запрос?
К сожалению сам запрос отправить не можем. Конфидицеальная корпоративная информация.

Alexander
19.10.2018
14:53:48
Можно issue на гитхабе создать.

Denis
19.10.2018
14:58:06
К сожалению сам запрос отправить не можем. Конфидицеальная корпоративная информация.
это из-за Union. попробуйте обернуть второй запрос в select union all select * from (второй запроc) без полного воспроизведения create table / insert/select без шансов починить.

Alexey
19.10.2018
14:59:37
Может ли это помочь решить проблему ?

Denis
19.10.2018
15:00:52
Я только второго уровня телепат. Пока не знаю.

Google
Denis
19.10.2018
15:04:40
на самом деле я не могу использовать уровень выше 2го, главврач уже начал подозревать.

Mike
19.10.2018
16:09:06
"Block structure mismatch" на 18.14.9 вылезло. Рецепта ремонта не было еще случайно? Кластер чистый, исключительно для тестов.
Эксперементально выяснилось, что ошибка появляется в случаях когда в where есть условия над колонкам типа string. Если обернуть колонку в toString() то запрос не падает. О_о

Denis
19.10.2018
16:16:59
Эксперементально выяснилось, что ошибка появляется в случаях когда в where есть условия над колонкам типа string. Если обернуть колонку в toString() то запрос не падает. О_о
возможно toString не дает заталкивать в prewhere что с ошибкой если set optimize_move_to_prewhere = 0 set enable_optimize_predicate_expression = 0 и если потом переместить предикат в prewhere

Mike
19.10.2018
16:22:35
возможно toString не дает заталкивать в prewhere что с ошибкой если set optimize_move_to_prewhere = 0 set enable_optimize_predicate_expression = 0 и если потом переместить предикат в prewhere
после set -ов ошибка уходит на базовом запросе. после перемещения в prewhere также нет ошибки (сессию не менял, настройки в 0, верно?)

Vladislav
19.10.2018
16:22:44
Всем привет Есть два старых и два новых clickhouse сервера: везде версии одинаковые. Создаем таблицу на старом сервере - она реплицируется на новый. Создаем на новом - не реплицируется с ошибкой: DB::Exception: Cannot read all data. Bytes read: 0. Bytes expected: 8 Репликация новый -> новый так же не запускается с такой же ошибкой. Вопрос - что означает эта ошибка и куда нужно копать? - версии идентичные вплоть до ревизии - iptables и тд точно верные - конфиги правильные - из отличий: добавил опцию listen_reuse_port 1 на новых репликах, так как не стартовал

Alexey
19.10.2018
17:06:46
Это 2 шарда по 2 реплики или 4 реплики?

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